/* Shared finance and administration theme. */
.projection-strip{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.projection-strip button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--ink);text-align:left}.projection-strip b{font-size:25px;font-family:Manrope,var(--font)}.projection-strip small{margin:0}.forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.forecast-card{border:1px solid var(--line);border-radius:12px;padding:20px}.forecast-card h3{margin-bottom:22px;text-transform:capitalize}.forecast-card>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:12px 0;font-size:12px}.forecast-net{border-top:1px solid var(--line);padding-top:15px}.forecast-card b{font-variant-numeric:tabular-nums}.plan-reminder{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:17px 20px;margin-bottom:20px;border:1px solid #c9a56e;border-radius:12px;background:#fff3dd;color:#765322}.plan-reminder span{flex:1;min-width:200px;font-size:12px;line-height:1.6}.plan-reminder.hidden{display:none}.profile-summary{display:flex;align-items:center;gap:16px;margin:20px 0}.profile-photo,.profile-placeholder{width:80px;height:80px;border-radius:50%;object-fit:cover;background:var(--soft)}.profile-placeholder{display:grid;place-items:center;font-size:32px}.profile-photo.hidden{display:none}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.category-chips>span{padding:6px 10px;border-radius:8px;border:1px solid var(--line)}.budget-card>.panel-head>svg{width:24px;height:24px}.stat-value{white-space:normal;overflow-wrap:anywhere}.sidebar #nav{overflow-y:auto;min-height:0}.section-copy{line-height:1.7}
html[data-theme="dark"]{color-scheme:dark;--green:#91b78d;--lime:#163b2a;--ink:#e3ece5;--muted:#9baea2;--line:#30433a;--bg:#101a16;--red:#ee9b90;--soft:#23372c}
[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
[data-theme="dark"] :is(.sidebar,header,.panel,.stat,dialog,.login-card,.loading-screen,.mobile-tx,.admin-user-card,.forecast-card){background:#19271f;color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(input,select,textarea){background:#101d16;color:#edf4ed;border-color:#40574a}
[data-theme="dark"] :is(.primary,.brand-icon){background:#afd198;color:#142719;border-color:#afd198}
[data-theme="dark"] :is(.secondary,.icon-button,.action-row button,.period,.period button,.auth-tabs){background:#263b2e;color:#e1ebde;border-color:#40533f}
[data-theme="dark"] :is(.text-button,.nav-item,.nav-label,.breadcrumb,.subtitle,.section-copy,label,.panel-head p,.settings-grid p,.form-note,.admin-modal-note,.admin-summary,.chart-zero,.chart-caption,.chart-kpis small,.chart-legend small,.category-detail small,.spending-meta small,.chart-data th,.plan-features,.login-card p,.login-card small,footer,.stat-foot){color:#a9bdae}
[data-theme="dark"] :is(.nav-item.active,.nav-item:hover,.auth-tabs .selected,.tag,.tx-icon,.due-date,.insight,.bottom-note,.demo-banner,.read-only-note,.install-banner,.category-track,.progress,.stat-icon,.overview-total){background:#263e2d;color:#c4ddbb;border-color:#3b5341}
[data-theme="dark"] .stat:first-child{background:#284d37;border-color:#486d4a;color:#f1f7ea}
[data-theme="dark"] :is(.positive,.stat-foot b){color:#a8d693}[data-theme="dark"] .negative{color:#f1a598}
[data-theme="dark"] .stat-top{color:#afc4b3}[data-theme="dark"] .stat-value{color:#f1f7ed}
[data-theme="dark"] :is(.donut::before,.donut::after){background:#19271f}[data-theme="dark"] .donut-center{color:#e3ece5}
[data-theme="dark"] .chart-label{fill:#a9bdae}[data-theme="dark"] .chart-grid{stroke:#344a3a}[data-theme="dark"] .chart rect[fill="#f0f4e9"]{fill:#243a2b}
[data-theme="dark"] .chart-data .current-month{background:#293e2d}[data-theme="dark"] :is(th,td,.chart-kpis,.chart-caption,.mini-summary,.due-item,.audit-entry){border-color:#30433a}
[data-theme="dark"] .plan-reminder{background:#392f1d;color:#f4d69b;border-color:#78613a}
[data-theme="dark"] .plan-reminder .text-button{color:#f4d69b}
[data-theme="dark"] :is(.pending,.status-pill.pending,.status-pill.expired){background:#493c24;color:#f3d69e}
[data-theme="dark"] .status-pill{background:#294c33;color:#d5e8c7}[data-theme="dark"] .status-pill.suspended{background:#4b2e2a;color:#f1b8a9}
[data-theme="dark"] .sync-banner{background:#463a20;color:#f3dfb3}[data-theme="dark"] .recovery-code{background:#101a16;color:#c7e7b3;border-color:#40574a}
[data-theme="dark"] .danger{background:#4b2925;color:#f7b3a8;border-color:#734137}[data-theme="dark"] #pwa-help :is(p,li){color:#b8cdb9}
@media(max-width:1000px){.forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.projection-strip{gap:10px}.projection-strip button{padding:15px}.projection-strip b{font-size:20px;overflow-wrap:anywhere}.projection-strip span{font-size:11px}.forecast-grid{grid-template-columns:1fr}.profile-summary{flex-wrap:wrap}.sidebar #nav{overflow-x:auto;overflow-y:hidden;justify-content:flex-start}.sidebar .nav-item{flex:0 0 64px;min-width:64px}.plan-reminder{padding:14px}.category-chips>span{max-width:100%;overflow-wrap:anywhere}.due-item{flex-wrap:wrap}}
.urgent-bills{background:#fff5e7;border:2px solid #cf8432;border-left-width:6px;border-radius:14px;padding:20px;margin-bottom:24px;color:#633b12}.urgent-bills.hidden{display:none}.urgent-heading{display:flex;align-items:center;gap:16px}.urgent-heading>div{flex:1}.urgent-heading h2{font-size:18px}.urgent-heading p{margin-top:7px;font-size:12px;line-height:1.6}.urgent-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#a85716;color:#fff;font-size:25px;font-weight:800}.urgent-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.urgent-preview button{text-align:left;display:flex;flex-direction:column;gap:8px;padding:14px;background:#fffcf6;border:1px solid #e8cda9;border-radius:10px;color:inherit;min-width:0}.urgent-preview strong{overflow-wrap:anywhere}.urgent-preview button>span:last-child{font-size:12px}.urgent-label{font-size:11px;font-weight:700;color:#8d4f10}.urgent-label.due-now{color:#a52e22}.urgent-bills button:focus-visible{outline:3px solid #b66922;outline-offset:3px}[data-theme="dark"] .urgent-bills{background:#382a1b;border-color:#b88443;color:#f8dfb7}[data-theme="dark"] .urgent-preview button{background:#2b231a;border-color:#6c5234}[data-theme="dark"] .urgent-label{color:#f4c478}[data-theme="dark"] .urgent-label.due-now{color:#ffb5a6}@media(max-width:650px){.urgent-bills{padding:15px}.urgent-heading{flex-wrap:wrap;gap:10px}.urgent-heading h2{font-size:16px}.urgent-heading .primary{width:100%}.urgent-preview{grid-template-columns:1fr}.urgent-preview button{gap:6px}.urgent-icon{width:30px;height:30px;font-size:20px}}
.usage-panel{margin-bottom:20px}.usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.usage-grid>div{background:var(--soft);border:1px solid var(--line);padding:14px;border-radius:10px}.usage-grid b{display:block;font-size:19px;margin-top:8px}.usage-grid b span{font-size:10px;color:var(--muted)}.billing-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.subscription-card{border:1px solid var(--line);padding:22px;border-radius:14px;display:flex;flex-direction:column;gap:14px;min-width:0}.subscription-card.featured{border:2px solid #91b78d;background:var(--soft)}.subscription-card h2{font-size:19px}.subscription-price{font-size:30px;font-weight:800;letter-spacing:-1px}.subscription-card p{font-size:12px;line-height:1.5;color:var(--muted)}.subscription-card ul{padding:0;list-style:none;margin:0}.subscription-card li{font-size:12px;padding:8px 0;border-bottom:1px solid var(--line);line-height:1.5}.subscription-features{display:flex;flex-direction:column;gap:8px;font-size:12px}.subscription-features .unavailable{color:var(--muted);opacity:.75}.subscription-card>button{margin-top:auto}.plan-request{border:1px solid #9cad69;background:var(--soft);padding:10px;border-radius:8px;margin-top:10px}.plan-request button{margin-top:8px;font-size:11px}.plan-request small{white-space:normal}#modal:has(.subscription-grid){width:min(1120px,calc(100% - 24px));max-width:1120px}@media(max-width:850px){.subscription-grid{grid-template-columns:1fr}.usage-grid{grid-template-columns:1fr 1fr}.usage-panel .panel-head{flex-wrap:wrap;gap:14px}}
/* Accessible shared palettes; explicit text and surfaces avoid light-theme leaks. */
html:is([data-theme="dark"],[data-theme="black"]){color-scheme:dark;--ink:#f5f8f6;--muted:#c0cec5;--line:#40574a;--bg:#101a16;--soft:#23372c;--surface:#19271f;--green:#bde6a5;--lime:#142719;--red:#ffafa6}
html[data-theme="black"]{--bg:#000;--surface:#101010;--soft:#202020;--line:#454545;--ink:#fff;--muted:#d4d4d4;--green:#c7f2a5;--lime:#111b0d;--red:#ffb3aa}
:is([data-theme="dark"],[data-theme="black"]) body{background:var(--bg);color:var(--ink)}
:is([data-theme="dark"],[data-theme="black"]) :is(.panel,.stat,.sidebar,header,dialog,.login-card,.loading-screen,.mobile-tx,.forecast-card,.subscription-card,.admin-user-card){background:var(--surface);color:var(--ink);border-color:var(--line)}
:is([data-theme="dark"],[data-theme="black"]) :is(p,small,.subtitle,.eyebrow,.section-copy,label,.form-note,.stat-top,.stat-foot,.period-hint,.breadcrumb,.nav-label,.panel-head p,.chart-kpis small,.chart-legend small,.category-detail small,.spending-meta small,.chart-data th,footer,.settings-grid p,.subscription-card p){color:var(--muted)}
:is([data-theme="dark"],[data-theme="black"]) :is(h1,h2,h3,strong,.stat-value,.tx-name,.amount,.donut-center,.mini-summary b){color:var(--ink)}
:is([data-theme="dark"],[data-theme="black"]) :is(input,select,textarea){background:var(--bg);color:var(--ink);border-color:var(--line)}
:is([data-theme="dark"],[data-theme="black"]) input::placeholder{color:var(--muted);opacity:1}
:is([data-theme="dark"],[data-theme="black"]) :is(.secondary,.icon-button,.period,.period button,.action-row button,.auth-tabs,.tag,.tx-icon,.due-date,.stat-icon,.overview-total,.insight,.bottom-note,.demo-banner,.read-only-note,.install-banner){background:var(--soft);color:var(--ink);border-color:var(--line)}
:is([data-theme="dark"],[data-theme="black"]) :is(.primary,.brand-icon){background:var(--green);color:var(--lime);border-color:var(--green)}
:is([data-theme="dark"],[data-theme="black"]) :is(.nav-item,.text-button){color:var(--ink)}
:is([data-theme="dark"],[data-theme="black"]) :is(.nav-item.active,.nav-item:hover){background:var(--soft);color:var(--green)}
:is([data-theme="dark"],[data-theme="black"]) :is(.positive,.stat-foot b){color:#bdea9d}
:is([data-theme="dark"],[data-theme="black"]) .negative{color:#ffb3aa}
:is([data-theme="dark"],[data-theme="black"]) :is(.pending,.plan-reminder,.sync-banner,.urgent-bills){background:#332410;color:#ffe2af;border-color:#b88b4c}
:is([data-theme="dark"],[data-theme="black"]) :is(.urgent-bills,.plan-reminder,.sync-banner) :is(p,h2,strong,small,.text-button){color:#ffe2af}
:is([data-theme="dark"],[data-theme="black"]) .urgent-preview button{background:#221b12;color:#fff0d6;border-color:#8a6d40}
:is([data-theme="dark"],[data-theme="black"]) .urgent-label{color:#ffda9b}
:is([data-theme="dark"],[data-theme="black"]) .urgent-label.due-now{color:#ffb3aa}
:is([data-theme="dark"],[data-theme="black"]) .danger{background:#482522;color:#ffd2cc;border-color:#a36760}
:is([data-theme="dark"],[data-theme="black"]) :is(.donut::before,.donut::after){background:var(--surface)}
:is([data-theme="dark"],[data-theme="black"]) .chart-label{fill:var(--muted)}
:is([data-theme="dark"],[data-theme="black"]) .chart-grid{stroke:var(--line)}
:is([data-theme="dark"],[data-theme="black"]) :is(th,td,.mini-summary,.due-item,.chart-kpis,.audit-entry){border-color:var(--line)}
[data-theme="black"] .chart-data .current-month{background:#252525}
[data-theme="black"] .stat:first-child{background:#192516;color:#fff;border-color:#517341}
.loan-totals{margin:20px 0}.loan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.loan-grid .panel{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.loan-grid p{line-height:1.6;overflow-wrap:break-word}.loan-payment{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.loan-payment small{line-height:1.6}.loan-review p{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.6}.loan-installments{max-height:50dvh;overflow:auto;margin-bottom:20px}.loan-review{margin-bottom:20px}@media(max-width:650px){.loan-grid{grid-template-columns:1fr}.loan-totals{grid-template-columns:1fr 1fr}.loan-payment>div{width:100%}.loan-payment .secondary{width:100%}}

/* Pseudo-elements must sit outside :is() for browser compatibility. */
html:is([data-theme="dark"],[data-theme="black"]) .donut::before{background:var(--surface)}
html:is([data-theme="dark"],[data-theme="black"]) .donut-center{color:var(--ink);z-index:1}
html:is([data-theme="dark"],[data-theme="black"]) .donut-center small{color:var(--muted);font-size:11px;font-weight:500}
html:is([data-theme="dark"],[data-theme="black"]) .donut-center b{color:var(--ink)}
.loan-tools{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 24px}.loan-schedule-details{margin:16px 0 24px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.loan-schedule-details>summary{padding:16px;font-weight:700;cursor:pointer;background:var(--soft)}.loan-schedule{max-height:46dvh;overflow:auto;padding:0 16px}.loan-schedule article{padding:16px 0;border-bottom:1px solid var(--line)}.loan-schedule article:last-child{border:0}.loan-schedule article>header{position:static;display:flex;justify-content:space-between;gap:10px;background:transparent;height:auto;padding:0;border:0;font-size:13px}.loan-schedule dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 0}.loan-schedule dt{font-size:11px;color:var(--muted);margin-bottom:6px}.loan-schedule dd{margin:0;font-size:13px;font-weight:700;color:var(--ink);overflow-wrap:break-word}.loan-review p{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.loan-review p b{font-variant-numeric:tabular-nums}#loan-growth-field[hidden]{display:none}@media(max-width:650px){.loan-schedule dl{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-tools>button{width:100%}.loan-review p{font-size:13px}.loan-review p b{font-size:15px}}
