:root[data-theme=dark]{color-scheme:dark;--line:#2a3b4a;--muted:#9bb0bf;background:#101b28;color:#e5f0f7}
:root[data-theme=dark] body{background:radial-gradient(circle at 86% 3%,#23334e 0,transparent 28%),radial-gradient(circle at 14% 43%,#193a3b 0,transparent 35%),#101b28;color:#e5f0f7}
:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .panel,:root[data-theme=dark] .stat,:root[data-theme=dark] .insight,:root[data-theme=dark] .settings-grid>section,:root[data-theme=dark] dialog,:root[data-theme=dark] .auth-panel{background:#1a2937;color:#e5f0f7;border-color:#2a3d4d;box-shadow:none}
:root[data-theme=dark] .topbar{background:#172533f2}
:root[data-theme=dark] .workspace,:root[data-theme=dark] .privacy,:root[data-theme=dark] .period,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:#223545!important;color:#eaf3fa!important;border-color:#34495b!important}
:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#9caeba}
:root[data-theme=dark] .brand,:root[data-theme=dark] .brand span{color:#61d7b5}
:root[data-theme=dark] .nav-item{color:#bdccd5}
:root[data-theme=dark] .nav-item:hover,:root[data-theme=dark] .nav-item.active{background:#273e52;color:#81e1cc}
:root[data-theme=dark] .nav-label,:root[data-theme=dark] .breadcrumbs,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .muted,:root[data-theme=dark] .page-footer{color:#9baebe}
:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] .panel-heading h2,:root[data-theme=dark] .stat strong,:root[data-theme=dark] .description b,:root[data-theme=dark] .goal-mini b,:root[data-theme=dark] .dash-head h2,:root[data-theme=dark] .dash-trend .panel-heading h2,:root[data-theme=dark] .dash-donut-panel .panel-heading h2{color:#eef6fb}
:root[data-theme=dark] p,:root[data-theme=dark] small,:root[data-theme=dark] label,:root[data-theme=dark] .stat-label,:root[data-theme=dark] .panel-heading p,:root[data-theme=dark] .page-heading p{color:#afc1cd}
:root[data-theme=dark] .button.secondary,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .text-button,:root[data-theme=dark] .theme-toggle{background:#263a4b;color:#83d9ca;border-color:#3a5060}
:root[data-theme=dark] .button.secondary:hover,:root[data-theme=dark] .icon-button:hover,:root[data-theme=dark] .theme-toggle:hover{background:#305166}
:root[data-theme=dark] .dash-tabs{background:#152736}
:root[data-theme=dark] .dash-tabs button{color:#a8bdca}
:root[data-theme=dark] .dash-tabs button.active{background:#32465d;color:#a3e7e4;box-shadow:none}
:root[data-theme=dark] .dash-kicker{color:#b8a8ff}
:root[data-theme=dark] .dash-stats .stat:nth-child(1){background:linear-gradient(130deg,#4259b1,#674c9a);color:#fff}
:root[data-theme=dark] .dash-stats .stat:nth-child(1) .stat-label,:root[data-theme=dark] .dash-stats .stat:nth-child(1) small,:root[data-theme=dark] .dash-stats .stat:nth-child(1) strong{color:#fff}
:root[data-theme=dark] .dash-analysis-intro{background:linear-gradient(100deg,#213e48,#2d3152);border-color:#3a5261}
:root[data-theme=dark] .dash-analysis-intro h2{color:#e7f4f8}
:root[data-theme=dark] .dash-bars{background:repeating-linear-gradient(to top,#354b5b 0 1px,transparent 1px 45px),linear-gradient(180deg,#1c3041,#1b2d3d)}
:root[data-theme=dark] .dash-chart-totals span,:root[data-theme=dark] .year-summary>div,:root[data-theme=dark] .year-month,:root[data-theme=dark] .category-detail-row{background:#223646;border-color:#35495a}
:root[data-theme=dark] .dash-chart-totals b,:root[data-theme=dark] .dash-donut-list b,:root[data-theme=dark] .dash-donut strong,:root[data-theme=dark] .year-month-heading>b,:root[data-theme=dark] .year-line>b,:root[data-theme=dark] .category-detail-heading b,:root[data-theme=dark] .category-detail-heading strong,:root[data-theme=dark] .category-donut-large strong{color:#e9f4f7}
:root[data-theme=dark] .dash-donut>div,:root[data-theme=dark] .category-donut-large>div{background:#1a2937}
:root[data-theme=dark] .year-month.selected{background:#1e433c;border-color:#4b9f86}
:root[data-theme=dark] .year-track,:root[data-theme=dark] .category-detail-track{background:#34495a}
:root[data-theme=dark] .year-explanation,:root[data-theme=dark] .year-footnote,:root[data-theme=dark] .category-analysis-head>p{color:#b7c9d2}
:root[data-theme=dark] .category-analysis-head,:root[data-theme=dark] .year-month-heading,:root[data-theme=dark] .dash-donut-list>div{border-color:#34495a}
:root[data-theme=dark] .year-legend,:root[data-theme=dark] .dash-chart-legend,:root[data-theme=dark] .dash-donut-list span{color:#bed0d8}
:root[data-theme=dark] .finance-table tr,:root[data-theme=dark] .statement-row,:root[data-theme=dark] .investment-row,:root[data-theme=dark] .category-list-row,:root[data-theme=dark] .reconciliation-list article{background:#1c2d3b!important;border-color:#34495a!important;color:#e5f0f7}
:root[data-theme=dark] th,:root[data-theme=dark] .statement-day,:root[data-theme=dark] .table-header{background:#213545!important;color:#b8c9d3!important;border-color:#34495a!important}
:root[data-theme=dark] td,:root[data-theme=dark] .amount,:root[data-theme=dark] .description small{color:#c4d3dc;border-color:#2d4151}
:root[data-theme=dark] tbody tr:hover{background:#253a4b}
:root[data-theme=dark] .badge,:root[data-theme=dark] .category-tag,:root[data-theme=dark] .installment{background:#304454;color:#d4e4eb}
:root[data-theme=dark] .badge.paid,:root[data-theme=dark] .positive{color:#74dcb2}
:root[data-theme=dark] .badge.late,:root[data-theme=dark] .negative{color:#ff9a9a}
:root[data-theme=dark] .badge.soon{color:#ffd18d}
:root[data-theme=dark] .wealth-hero{background:linear-gradient(110deg,#1d5773,#1a6773,#285d5c)}
:root[data-theme=dark] .insight.alert{background:#392c39;border-color:#704752}
:root[data-theme=dark] .insight strong,:root[data-theme=dark] .finance-overview strong,:root[data-theme=dark] .forecast-values b,:root[data-theme=dark] .forecast-values strong{color:#e9f4f7}
:root[data-theme=dark] .insight p,:root[data-theme=dark] .insight small{color:#adc0ca}
:root[data-theme=dark] .forecast-panel,:root[data-theme=dark] .finance-overview article,:root[data-theme=dark] .forecast-values span,:root[data-theme=dark] .statement-account-card,:root[data-theme=dark] .connected-card,:root[data-theme=dark] .investment-bank,:root[data-theme=dark] .investment-bank-card,:root[data-theme=dark] .category-card,:root[data-theme=dark] .report-cover,:root[data-theme=dark] .report-indicators article,:root[data-theme=dark] .report-source-note,:root[data-theme=dark] .transfer-summary,:root[data-theme=dark] .info-banner,:root[data-theme=dark] .empty{background:#1c2e3d;color:#e5f0f7;border-color:#34495a}
:root[data-theme=dark] .report-source-note,:root[data-theme=dark] .statement-period,:root[data-theme=dark] .reconciliation-guide>span,:root[data-theme=dark] .reconcile-form-note{background:#213f3c;color:#d7efe7;border-color:#3b6159}
:root[data-theme=dark] .statement-filters,:root[data-theme=dark] .filterbar,:root[data-theme=dark] .tabs,:root[data-theme=dark] .section-actions{background:#1a2937;color:#d6e5ed;border-color:#34495a}
:root[data-theme=dark] .form-grid label,:root[data-theme=dark] .settings-grid label,:root[data-theme=dark] .modal-head h2{color:#dcebf2}
:root[data-theme=dark] .modal-footer,:root[data-theme=dark] .page-footer,:root[data-theme=dark] .category-list-heading,:root[data-theme=dark] .member-row,:root[data-theme=dark] .document-row{border-color:#34495a}
:root[data-theme=dark] .overdue-list>div{background:#392d35;color:#f6e9e9;border-color:#765052}
:root[data-theme=dark] .overdue-list b,:root[data-theme=dark] .overdue-list strong{color:#ffb0a3}
:root[data-theme=dark] .manual-card-cycle,:root[data-theme=dark] .statement-summary article,:root[data-theme=dark] .progress,:root[data-theme=dark] .statement-type,:root[data-theme=dark] .statement-type button.selected,:root[data-theme=dark] .reconciliation-count,:root[data-theme=dark] .goal-mini,:root[data-theme=dark] .report-rows>div{background:#25394a;color:#dceaf2;border-color:#3a5060}
:root[data-theme=dark] .reconciliation-row:hover,:root[data-theme=dark] .reconciliation-extra{background:#213746;border-color:#3a5060}:root[data-theme=dark] .reconciliation-main b,:root[data-theme=dark] .reconciliation-detail-grid b{color:#e5f0f7}:root[data-theme=dark] .reconciliation-main small,:root[data-theme=dark] .reconciliation-detail-grid small{color:#a8c2cc}
:root[data-theme=dark] .manual-card-cycle b,:root[data-theme=dark] .statement-summary strong,:root[data-theme=dark] .goal-mini strong,:root[data-theme=dark] .report-rows strong{color:#e9f4f7}
:root[data-theme=dark] .bank-logo.known{background:#fff}
:root[data-theme=dark] .auth-story{background:linear-gradient(140deg,#163955,#215c55)}
:root[data-theme=dark] .auth-panel{background:#172736}
:root[data-theme=dark] .month-year-picker>span:first-child{color:#a9bcb1}:root[data-theme=dark] .finance-table tbody tr[data-entry-details]:hover{background:#1b3027}:root[data-theme=dark] .finance-table .entry-detail-row>td{background:#172a22}:root[data-theme=dark] .entry-detail-section+.entry-detail-section{border-color:#30483b}:root[data-theme=dark] .entry-detail-section>b{color:#a9d1ba}:root[data-theme=dark] .entry-detail-source-empty{color:#a2b4aa}
:root[data-theme=dark] .payment-code-display label{color:#c5ddd1}:root[data-theme=dark] #operation-status{background:#285d51}
:root[data-theme=dark] .entry-period-button,:root[data-theme=dark] .entry-month-choice{background:#243849;color:#e4f1f7;border-color:#3b5565}:root[data-theme=dark] .entry-period-button>span:last-child{color:#7fdac1}:root[data-theme=dark] .entry-month-choice:hover{background:#345466}:root[data-theme=dark] .entry-month-choice.selected{background:#2c8b70;border-color:#58c2a1;color:#fff}
:root[data-theme=dark] .finance-table tr.entry-state-late>td{background:#3e2933!important}:root[data-theme=dark] .finance-table tr.entry-state-soon>td{background:#3d3428!important}:root[data-theme=dark] .finance-table tr.entry-state-open>td{background:#253949!important}:root[data-theme=dark] .finance-table tr.entry-state-paid>td{background:#1d3037!important}:root[data-theme=dark] .finance-table tr.entry-state-late .badge{background:#ae383e;color:#fff}:root[data-theme=dark] .finance-table tr.entry-state-soon .badge{background:#8c5b12;color:#fff}:root[data-theme=dark] .finance-table tr.entry-state-open .badge{background:#31576b;color:#d8effc}:root[data-theme=dark] .finance-table tr.entry-state-paid .badge{background:#2b5345;color:#b8ecd0}:root[data-theme=dark] .finance-table tr.entry-state-late .description small{color:#ffb8b8}:root[data-theme=dark] .finance-table tr.entry-state-soon .description small{color:#f8d495}:root[data-theme=dark] .finance-table tr.entry-state-open .description small{color:#b1d1e3}
:root[data-theme=dark] .entry-attention-title{background:#3e2933;border-color:#df6565}:root[data-theme=dark] .entry-attention-title b{color:#ffb8b8}:root[data-theme=dark] .entry-attention-title small{color:#ebc4c4}
:root[data-theme=dark] dialog .attachment-field,:root[data-theme=dark] dialog .entry-optional,:root[data-theme=dark] dialog .entry-pay-choice,:root[data-theme=dark] dialog .entry-guidance,:root[data-theme=dark] dialog .pay-summary,:root[data-theme=dark] dialog .current-attachment,:root[data-theme=dark] dialog .reconcile-form-note,:root[data-theme=dark] dialog .entry-payment-note,:root[data-theme=dark] dialog .reminder-toggle{background:#223747;color:#e4f0f5;border-color:#3a5262}
:root[data-theme=dark] dialog .entry-form-heading,:root[data-theme=dark] dialog .entry-optional summary,:root[data-theme=dark] dialog .entry-pay-choice b,:root[data-theme=dark] dialog .current-attachment b{color:#a7e1c5;border-color:#3a5262}
:root[data-theme=dark] dialog .entry-pay-choice small,:root[data-theme=dark] dialog .entry-field>small,:root[data-theme=dark] dialog .attachment-field small,:root[data-theme=dark] dialog .form-hint{color:#afc6d0}
:root[data-theme=dark] dialog input[type=file]::file-selector-button{background:#344f61;color:#e9f4f7;border:1px solid #587183;border-radius:5px;padding:5px 9px;margin-right:8px;cursor:pointer}
:root[data-theme=dark] .security-checks span,:root[data-theme=dark] .reminder-settings-form .reminder-toggle{background:#223747;color:#dcebf2;border-color:#3a5262}
:root[data-theme=dark] .reminder-settings-form .reminder-toggle b{color:#b5e3cb}:root[data-theme=dark] .reminder-settings-form .reminder-toggle small{color:#adc3cf}
@media print{:root[data-theme=dark]{color-scheme:light}:root[data-theme=dark] body,:root[data-theme=dark] .panel,:root[data-theme=dark] .stat{background:#fff!important;color:#30493e!important}:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] p,:root[data-theme=dark] small,:root[data-theme=dark] td,:root[data-theme=dark] th,:root[data-theme=dark] strong,:root[data-theme=dark] .panel-heading h2{color:#30493e!important}}
:root[data-theme=dark] .period .period-current{color:#e7f3f4}:root[data-theme=dark] .period .period-current:hover{color:#8de1ca}:root[data-theme=dark] .no-card-hint{color:#e2b7a9}:root[data-theme=dark] .finance-table tr.entry-state-open>td{background:#3b2e3e!important}:root[data-theme=dark] .finance-table tr.entry-state-open>td:first-child{box-shadow:inset 5px 0 #c486a7}:root[data-theme=dark] .finance-table tr.entry-state-open .badge{background:#68465c;color:#ffe0ef}:root[data-theme=dark] .finance-table tr.entry-state-open .description small{color:#e8bdd2}
