:root{--navy:#132238;--navy2:#1E3554;--gold:#C8A24A;--teal:#2F7D73;--bg:#F5F7FA;--surface:#FFF;--border:#DCE2E8;--text:#1E2935;--muted:#6B7785;--soft:#EEF2F6}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--navy);color:#fff;padding:26px 18px 18px}.brand{padding:0 10px 28px}.brand-lockup{position:relative;display:inline-block;padding-right:34px}.brand-primary{display:block;font-size:23px;font-weight:800;letter-spacing:.12em;line-height:1}.brand-sub{position:absolute;right:0;bottom:-7px;color:var(--gold);font-size:10px;font-weight:800;font-style:italic;line-height:1;letter-spacing:0}.brand-caption{margin-top:14px;font-size:10px;color:rgba(255,255,255,.55)}.nav{display:flex;flex-direction:column;gap:5px;min-height:0;flex:1}.nav-item{padding:11px 12px;border-radius:9px;color:rgba(255,255,255,.78);font-weight:650;font-size:14px}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(255,255,255,.10)}.nav-subgroup{padding:2px 12px 9px;color:rgba(255,255,255,.47);font-size:10px;line-height:1.5}.nav-spacer{flex:1}.main{min-width:0}.topbar{min-height:88px;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--surface);border-bottom:1px solid var(--border)}.page-heading{display:flex;align-items:center;min-height:40px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:24px}h2{margin-bottom:5px}h3{margin-bottom:5px}.topbar-actions{display:flex;align-items:center;gap:10px}.period-select,.field{min-height:40px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:0 12px;color:var(--text)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:9px;border:1px solid var(--border);background:#fff;font-weight:750;cursor:pointer}.button.primary{border-color:var(--navy);background:var(--navy);color:#fff}.content{padding:28px 30px 60px}.notice{border:1px solid #E7D8AE;background:#FBF6E9;color:#654F20;border-radius:10px;padding:13px 15px;margin-bottom:20px}.tabs,.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.tab,.subtab{padding:9px 13px;border-radius:9px;background:var(--soft);color:var(--muted);font-weight:700;font-size:13px}.tab.active,.subtab.active{background:var(--navy);color:#fff}.subtab{padding:7px 11px;font-size:12px}.page-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.page-intro p,.panel p{color:var(--muted);margin-bottom:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 24px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:17px}.metric-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.metric-card strong{font-size:20px;color:var(--navy)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:18px}.panel.narrow{max-width:680px}.empty-state{min-height:130px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed var(--border);border-radius:10px;color:var(--muted);background:#FAFBFC}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);padding:11px 12px;text-align:left;white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.muted-cell{text-align:center;color:var(--muted);padding:30px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-label{display:block;font-weight:750;margin-bottom:8px}.field{width:100%}.form-placeholder{margin-top:20px;padding:18px;border-radius:10px;background:var(--soft)}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav{flex-direction:row;flex-wrap:wrap}.nav-spacer{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}}@media(max-width:640px){.topbar,.page-intro{align-items:stretch;flex-direction:column}.content{padding:20px 16px 40px}.topbar{padding:16px}.metric-grid{grid-template-columns:1fr}.topbar-actions{width:100%}.period-select,.button{flex:1}}

/* v0.2.0 — Income workflow */
.alert{border-radius:10px;padding:12px 14px;margin-bottom:18px;border:1px solid var(--border);font-size:14px}.alert.success{background:#EAF6EF;border-color:#B8DEC7;color:#17663C}.alert.error{background:#FDECEC;border-color:#F3C2C2;color:#9D1C1C}.notice.subtle{background:#F8FAFC;border-color:var(--border);color:var(--muted)}.record-selector{max-width:760px;padding:16px 18px}.form-panel{max-width:940px}.form-section-head{margin-bottom:18px}.form-section{padding:18px 0;border-top:1px solid var(--border)}.form-section:first-of-type{border-top:0}.form-section-title{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:13px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-group{min-width:0}.form-group.full,.form-actions.full{grid-column:1/-1}.field-label{font-size:13px}.optional{font-weight:500;color:var(--muted);font-size:11px}.field-help{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4}.textarea{height:auto;padding-top:10px;padding-bottom:10px;resize:vertical}.readonly-field{min-height:40px;border:1px solid var(--border);border-radius:9px;background:#F8FAFC;padding:10px 12px;color:var(--muted)}.inline-warning{margin-top:12px;border:1px solid #E7D8AE;background:#FBF6E9;color:#654F20;padding:10px 12px;border-radius:9px;font-size:12px}.inline-create{margin-top:14px;border:1px solid var(--border);border-radius:10px;background:#FBFCFD}.inline-create summary{cursor:pointer;padding:11px 13px;font-weight:750;color:var(--navy);font-size:13px}.inline-create[open] summary{border-bottom:1px solid var(--border)}.inline-create-body{padding:14px}.form-actions{display:flex;align-items:center;gap:10px}.form-actions.split{justify-content:space-between;padding-top:18px;border-top:1px solid var(--border)}.button:disabled{opacity:.45;cursor:not-allowed}.check-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check-row input{margin-top:4px}.check-row span{display:flex;flex-direction:column;gap:3px}.check-row small{color:var(--muted);line-height:1.4}.recurring-fields{display:none;margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#FBFCFD}.recurring-fields.show{display:block}.fx-field{display:none}.fx-field.show{display:block}.metric-text{font-size:15px!important;line-height:1.3}.record-count{font-size:12px;color:var(--muted);white-space:nowrap}.mono-ref{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:12px;font-weight:700;color:var(--navy)}.description-cell{max-width:280px;white-space:normal;line-height:1.35}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:750}.badge.neutral{background:var(--soft);color:var(--muted)}

@media(max-width:760px){.form-grid.two,.form-grid.three{grid-template-columns:1fr}.form-actions.split{align-items:stretch;flex-direction:column-reverse}.form-actions.split .button{width:100%}}

/* v0.3.0 — Accounts & Balances + Monthly Budget */
.page-lead{margin:0 0 18px;color:var(--muted);max-width:760px}.metric-card small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.35}.account-intro{margin-top:4px}.account-form{max-width:900px}.hidden-field{display:none!important}.action-empty{padding:28px}.action-empty>div{max-width:560px}.action-empty strong{display:block;color:var(--navy);font-size:16px;margin-bottom:7px}.action-empty p{margin:0 0 14px;color:var(--muted);line-height:1.5}.inline-warning a{text-decoration:underline;font-weight:700}.budget-guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 18px}.budget-guidance span{padding:11px 12px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:12px;line-height:1.4}.budget-guidance strong{color:var(--navy)}.budget-lines{display:flex;flex-direction:column;gap:12px}.budget-line{position:relative;display:grid;grid-template-columns:32px minmax(180px,1.35fr) minmax(130px,.9fr) minmax(120px,.8fr) minmax(145px,.9fr) minmax(125px,.8fr) 34px;gap:10px;align-items:end;padding:14px;border:1px solid var(--border);border-radius:10px;background:#FBFCFD}.budget-line-number{align-self:center;justify-self:center;width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--muted);font-size:11px;font-weight:800}.budget-remove{align-self:end;width:34px;height:40px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.budget-remove:hover{color:var(--navy);border-color:var(--navy)}.budget-add-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 20px}.budget-running-total{font-size:13px;color:var(--muted)}.budget-running-total strong{margin-left:6px;color:var(--navy);font-size:18px}.budget-notes{margin-top:10px}.budget-note{margin-top:15px;padding:12px 14px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:13px}.muted-value{color:var(--muted)}tfoot th{border-top:2px solid var(--border);border-bottom:0;color:var(--navy);font-size:12px;text-transform:none;letter-spacing:0}
.budget-item-notes{grid-column:2/7}.unit-calculation-fields{display:none;grid-column:2/7;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(160px,1fr);gap:10px;padding:12px;border:1px solid var(--border);border-radius:9px;background:#fff}.budget-line.unit-mode .unit-calculation-fields{display:grid}.budget-line.unit-mode .budget-amount{background:#F8FAFC;color:var(--navy);font-weight:750}.budget-formula-preview{min-height:64px;display:flex;flex-direction:column;justify-content:center;padding:9px 11px;border-radius:9px;background:var(--soft)}.budget-formula-preview span{color:var(--muted);font-size:11px;margin-bottom:5px}.budget-formula-preview strong{color:var(--navy);font-size:17px}.budget-calculation-detail{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.35}.period-select{min-width:150px}@media(max-width:1180px){.budget-line{grid-template-columns:32px repeat(2,minmax(0,1fr)) 34px}.budget-item-name,.budget-item-notes{grid-column:span 2}.budget-guidance{grid-template-columns:1fr}}
@media(max-width:760px){.budget-line{grid-template-columns:28px minmax(0,1fr) 34px}.budget-line .form-group{grid-column:2}.budget-line-number{grid-column:1;grid-row:1}.budget-remove{grid-column:3;grid-row:1}.budget-item-name,.budget-item-notes{grid-column:2}.budget-add-row{align-items:stretch;flex-direction:column}.budget-running-total{align-self:flex-end}}

/* v0.3.1 — UI & Budget summary hotfix */
.budget-empty{padding:0}.budget-empty .empty-state{min-height:220px;border:0;border-radius:12px;background:#FAFBFC}

/* v0.3.2 — Dynamic month, brand lockup, and budget calculations */
@media(max-width:1180px){.budget-line{grid-template-columns:32px repeat(2,minmax(0,1fr)) 34px}.budget-line .form-group{grid-column:auto}.budget-item-name{grid-column:2/4!important}.budget-amount-group{grid-column:2}.budget-item-notes,.unit-calculation-fields{grid-column:2/4}.unit-calculation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-remove{grid-column:4;grid-row:1}}
@media(max-width:760px){.budget-line{grid-template-columns:28px minmax(0,1fr) 34px}.budget-line .form-group,.budget-item-name,.budget-amount-group,.budget-item-notes,.unit-calculation-fields{grid-column:2!important}.unit-calculation-fields{grid-template-columns:1fr}.budget-line-number{grid-column:1;grid-row:1}.budget-remove{grid-column:3;grid-row:1}}


/* v0.3.3 — Budget actual-linkage readiness */
.budget-formula-expression{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}.budget-actual-strip{display:flex;flex-wrap:wrap;gap:10px 22px;margin:-2px 0 18px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted);font-size:12px}.budget-actual-strip strong{color:var(--navy)}.negative-value{color:#A33B32!important}.negative-value strong{color:inherit!important}

/* v0.3.4 — Budget category -> item catalogue */
.budget-line{grid-template-columns:32px repeat(3,minmax(0,1fr)) 34px;align-items:end}
.budget-category-group{grid-column:2;grid-row:1}.budget-item-group{grid-column:3;grid-row:1}.budget-purpose-group{grid-column:4;grid-row:1}.budget-remove{grid-column:5;grid-row:1}
.budget-nature-group{grid-column:2;grid-row:2}.budget-calculation-group{grid-column:3;grid-row:2}.budget-amount-group{grid-column:4;grid-row:2}
.budget-item-notes,.unit-calculation-fields{grid-column:2/5}.budget-custom-item{display:none;margin-top:9px}.budget-custom-item.show{display:block}.budget-item-group .field-label+.budget-item-select{margin-bottom:0}
@media(max-width:1180px){.budget-line{grid-template-columns:32px repeat(2,minmax(0,1fr)) 34px}.budget-category-group{grid-column:2;grid-row:1}.budget-item-group{grid-column:3;grid-row:1}.budget-purpose-group{grid-column:2;grid-row:2}.budget-nature-group{grid-column:3;grid-row:2}.budget-calculation-group{grid-column:2;grid-row:3}.budget-amount-group{grid-column:3;grid-row:3}.budget-remove{grid-column:4;grid-row:1}.budget-item-notes,.unit-calculation-fields{grid-column:2/4!important}}
@media(max-width:760px){.budget-line{grid-template-columns:28px minmax(0,1fr) 34px}.budget-category-group,.budget-item-group,.budget-purpose-group,.budget-nature-group,.budget-calculation-group,.budget-amount-group,.budget-item-notes,.unit-calculation-fields{grid-column:2!important;grid-row:auto}.budget-line-number{grid-column:1;grid-row:1}.budget-remove{grid-column:3;grid-row:1}}

/* v0.3.5 — Compact category-first Budget UX */
.budget-category-list{display:flex;flex-direction:column;gap:10px}.budget-category-summary,.budget-edit-category,.budget-line-shell{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.budget-category-summary>summary,.budget-edit-category>summary,.budget-line-shell>summary{list-style:none;cursor:pointer}.budget-category-summary>summary::-webkit-details-marker,.budget-edit-category>summary::-webkit-details-marker,.budget-line-shell>summary::-webkit-details-marker{display:none}.budget-category-summary-head,.budget-edit-category-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px}.budget-category-summary[open]>.budget-category-summary-head,.budget-edit-category[open]>.budget-edit-category-head{border-bottom:1px solid var(--border);background:#FBFCFD}.budget-category-title{display:flex;align-items:center;gap:9px;min-width:0}.budget-category-title>strong{color:var(--navy);font-size:14px}.budget-category-count,.budget-edit-category-count{color:var(--muted);font-size:11px;white-space:nowrap}.budget-chevron{width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s ease;flex:0 0 auto}.budget-category-summary[open] .budget-chevron,.budget-edit-category[open] .budget-chevron{transform:rotate(45deg)}.budget-category-rollup{display:grid;grid-template-columns:repeat(3,minmax(82px,auto));gap:8px 20px;text-align:right}.budget-category-rollup span{display:flex;flex-direction:column;gap:2px}.budget-category-rollup small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.budget-category-rollup strong{color:var(--navy);font-size:13px}.budget-category-body{padding:0}.budget-category-table{margin:0}.budget-category-table th:first-child,.budget-category-table td:first-child{padding-left:15px}.budget-category-table th:last-child,.budget-category-table td:last-child{padding-right:15px}

.budget-lines{gap:10px}.budget-edit-category[hidden]{display:none!important}.budget-edit-category-rollup{display:flex;align-items:baseline;gap:8px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.budget-edit-category-rollup strong{color:var(--navy);font-size:14px;letter-spacing:0}.budget-edit-category-lines{display:flex;flex-direction:column;gap:8px;padding:10px;background:#F8FAFC}.budget-line-shell{background:#fff}.budget-line-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;min-height:46px}.budget-line-shell[open]>.budget-line-summary{border-bottom:1px solid var(--border);background:#FBFCFD}.budget-line-summary-main{display:flex;align-items:center;gap:9px;min-width:0}.budget-line-summary-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:800;flex:0 0 auto}.budget-line-summary-item{color:var(--navy);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-line-summary-amount{color:var(--navy);font-size:14px;font-weight:800;white-space:nowrap}.budget-line-shell>.budget-line{border:0;border-radius:0;background:#fff}.budget-line-error{border-color:#D86A61;box-shadow:0 0 0 2px rgba(163,59,50,.08)}.budget-inline-error{grid-column:1/-1;padding:9px 11px;border:1px solid #F3C2C2;border-radius:8px;background:#FDECEC;color:#9D1C1C;font-size:12px;font-weight:650}.field.field-error{border-color:#C94B43!important;box-shadow:0 0 0 2px rgba(201,75,67,.10)}.budget-form-alert strong{margin-right:5px}.budget-error-jump{display:inline-block;margin-left:8px;text-decoration:underline;font-weight:750}.budget-error-jump:hover{color:var(--navy)}

@media(max-width:900px){.budget-category-summary-head,.budget-edit-category-head{align-items:flex-start;flex-direction:column}.budget-category-rollup{width:100%;grid-template-columns:repeat(3,1fr);text-align:left}.budget-edit-category-rollup{width:100%;justify-content:space-between}.budget-line-summary{align-items:flex-start}.budget-line-summary-main{flex-wrap:wrap}.budget-line-summary-item{max-width:100%}}
@media(max-width:560px){.budget-category-rollup{gap:8px}.budget-category-rollup strong{font-size:12px}.budget-line-summary-nature{display:none}.budget-line-summary-item{white-space:normal}.budget-line-summary-amount{font-size:13px}}

/* v0.3.6 — Balance anchors + expenditure allocation */
.balance-anchor-section{padding-bottom:20px}.anchor-check-row{padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:#FBFCFD}.balance-anchor-guidance{margin-top:10px;padding:10px 12px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:12px;line-height:1.45}.balance-anchor-guidance.recommended{background:#EAF6EF;border:1px solid #B8DEC7;color:#17663C}.balance-anchor-guidance.warning{background:#FBF6E9;border:1px solid #E7D8AE;color:#654F20}.badge.anchor{background:#EEF4FF;color:#31598A}.allocation-guidance{margin:0 0 13px;padding:10px 12px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:12px;line-height:1.45}.expense-allocations{display:flex;flex-direction:column;gap:10px}.expense-allocation-row{display:grid;grid-template-columns:28px minmax(260px,1.6fr) minmax(150px,.7fr) 34px;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:10px;background:#FBFCFD}.allocation-row-number{align-self:center;justify-self:center;width:24px;height:24px;border-radius:999px;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:10px;font-weight:800}.expense-unbudgeted-fields{display:none;grid-column:2/4;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:2px}.expense-allocation-row.unbudgeted-mode .expense-unbudgeted-fields{display:grid}.expense-custom-item{display:none}.expense-custom-item.show{display:block}.expense-allocation-controls{margin-bottom:0}.expense-allocation-total{display:flex;align-items:baseline;gap:6px;color:var(--muted);font-size:12px}.expense-allocation-total strong{color:var(--navy);font-size:16px}.expense-allocation-total.mismatch strong:first-of-type{color:#A33B32}.expense-form .fx-field.show{display:block}.expense-form .budget-remove{grid-column:auto;grid-row:auto}.expense-form .description-cell{white-space:normal}
@media(max-width:860px){.expense-allocation-row{grid-template-columns:28px minmax(0,1fr) 34px}.allocation-budget-field,.allocation-amount-field{grid-column:2}.expense-allocation-remove{grid-column:3;grid-row:1}.expense-unbudgeted-fields{grid-column:2;grid-template-columns:1fr}.expense-allocation-controls{align-items:stretch;flex-direction:column}.expense-allocation-total{align-self:flex-end}}

/* v0.3.7 — debts & payables */
.badge.warning{background:#FBF6E9;color:#7A5C17}.debt-actions{display:flex;gap:6px;flex-wrap:wrap}.section-help{margin:-4px 0 13px;color:var(--muted);font-size:12px;line-height:1.45}

/* v0.3.7-HF1 — debt due-status visibility */
.badge.danger{background:#FDECEC;color:#9D1C1C}
.status-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:86px}
.status-note{display:block;color:var(--muted);font-size:10px;line-height:1.25;white-space:nowrap}

/* v0.3.8 — pending UAT hotfix consolidation */
.row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.financial-target-panel{border-style:dashed}.target-metrics{margin:14px 0}.target-note{margin:0}.settings-form{margin-top:18px}.percent-field{display:grid;grid-template-columns:minmax(100px,160px) 1fr;gap:10px;align-items:center}.percent-field span{color:var(--muted);font-size:12px}.settings-note{margin:18px 0 0}.lifecycle-action-form{padding:14px 0;border-top:1px solid var(--border)}.lifecycle-action-form:first-of-type{border-top:0}.lifecycle-action-form .form-actions{align-self:end}.danger-zone{margin-top:8px}.inactive-records-panel{padding:0;overflow:hidden}.inactive-records-summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:800;color:var(--navy)}.inactive-records-summary::-webkit-details-marker{display:none}.inactive-records-panel[open]>.inactive-records-summary{border-bottom:1px solid var(--border);background:#FBFCFD}.inactive-records-panel .table-wrap{padding:0 18px 18px}@media(max-width:700px){.percent-field{grid-template-columns:1fr}.row-actions{align-items:stretch;flex-direction:column}.row-actions .button{width:100%}}
.amount-currency-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.amount-currency-field>span{min-width:48px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;color:var(--muted);font-weight:800;text-align:center}.transfer-value-preview{margin-top:12px}.status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}

.table-note{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3}
.savings-position-metrics{margin-bottom:0}.savings-fund-list{display:flex;flex-direction:column;gap:10px}.savings-fund-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(110px,.65fr) minmax(220px,1.2fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.savings-fund-row:last-child{border-bottom:0}.savings-fund-main{display:flex;flex-direction:column;gap:4px}.savings-fund-main strong{color:var(--navy)}.savings-fund-main small,.savings-fund-amount span{color:var(--muted);font-size:11px}.savings-fund-amount{display:flex;flex-direction:column;gap:4px}.savings-fund-amount strong{color:var(--navy);font-size:17px}.savings-fund-target{min-width:0}.savings-progress-line{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;margin-bottom:7px}.savings-progress-line strong{color:var(--navy)}.savings-progress-track{height:7px;border-radius:999px;background:var(--soft);overflow:hidden}.savings-progress-track span{display:block;height:100%;background:var(--navy);border-radius:999px}.savings-allocation-rows{display:flex;flex-direction:column;gap:10px}.savings-allocation-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) 34px;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:10px;background:#FBFCFD}.savings-allocation-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}.savings-budget-crosslink a{text-decoration:underline}.negative-value{color:#9D1C1C!important}@media(max-width:820px){.savings-fund-row{grid-template-columns:1fr}.savings-allocation-row{grid-template-columns:1fr}.savings-allocation-row .budget-remove{justify-self:end}.savings-allocation-actions{align-items:stretch;flex-direction:column}}

/* v0.4.1-HF1 — savings categories organise purposes without changing account balances. */
.savings-category-list{display:flex;flex-direction:column;gap:14px}.savings-category-block{border:1px solid var(--border);border-radius:10px;padding:0 14px;background:#fff}.savings-category-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}.savings-category-head>div{display:flex;flex-direction:column;gap:3px}.savings-category-head strong{color:var(--navy)}.savings-category-head small{color:var(--muted);font-size:11px}.savings-category-head>span{font-weight:700;color:var(--navy)}.savings-category-empty{padding:14px 0;color:var(--muted);font-size:12px}.savings-category-empty a{font-weight:700}.savings-category-block .savings-fund-row:last-child{border-bottom:0}
@media(max-width:820px){.savings-category-head{align-items:flex-start}.savings-category-head>span{white-space:nowrap}}

/* v0.4.2 — Dashboard financial-health charts. Read-only, derived from authoritative records. */
.dashboard-intro{margin-bottom:10px}.dashboard-headline-metrics{margin-top:12px}.metric-link{display:block;transition:border-color .15s ease,transform .15s ease}.metric-link:hover{border-color:#B9C4CF;transform:translateY(-1px)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:start}.dashboard-grid-wide{grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr)}.dashboard-chart-panel{min-width:0}.dashboard-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.dashboard-chart-head .button{min-height:34px;padding:0 11px;font-size:12px;white-space:nowrap}.dashboard-chart-legend{display:flex;gap:15px;flex-wrap:wrap;margin:0 0 10px;color:var(--muted);font-size:11px}.dashboard-chart-legend span{display:inline-flex;align-items:center;gap:6px}.legend-swatch{display:inline-block;width:18px;height:3px;border-radius:999px;background:var(--navy)}.legend-swatch.income{background:var(--teal)}.legend-swatch.expenditure{background:#A85C53}.legend-swatch.savings{background:var(--gold)}.dashboard-line-chart-wrap{width:100%;overflow:hidden}.dashboard-line-chart{display:block;width:100%;height:auto;min-height:230px}.dashboard-grid-line{stroke:#E8EDF2;stroke-width:1}.dashboard-axis-label{fill:var(--muted);font-size:10px}.dashboard-y-label{font-size:9px}.dashboard-chart-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.dashboard-chart-line.income{stroke:var(--teal)}.dashboard-chart-line.expenditure{stroke:#A85C53}.dashboard-chart-line.savings{stroke:var(--gold)}.dashboard-chart-point{stroke:#fff;stroke-width:1.5}.dashboard-chart-point.income{fill:var(--teal)}.dashboard-chart-point.expenditure{fill:#A85C53}.dashboard-chart-point.savings{fill:var(--gold)}.dashboard-chart-foot,.dashboard-position-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.dashboard-chart-foot strong,.dashboard-position-summary strong{color:var(--navy);font-size:15px}.dashboard-bars{display:flex;flex-direction:column;gap:16px}.dashboard-bar-row{min-width:0}.dashboard-bar-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:7px}.dashboard-bar-meta>span{min-width:0;color:var(--muted);font-size:12px}.dashboard-bar-meta>span small{display:block;margin-top:2px;color:#8C97A3;font-size:10px}.dashboard-bar-meta strong{color:var(--navy);font-size:13px;white-space:nowrap}.dashboard-bar-track{height:9px;border-radius:999px;background:var(--soft);overflow:hidden}.dashboard-bar-fill{display:block;height:100%;min-width:0;border-radius:999px;background:var(--navy)}.dashboard-bar-fill.cash{background:var(--navy2)}.dashboard-bar-fill.receivable{background:var(--teal)}.dashboard-bar-fill.asset{background:var(--gold)}.dashboard-bar-fill.liability{background:#A85C53}.dashboard-bar-fill.saving-purpose{background:var(--teal)}.dashboard-bar-fill.unassigned{background:#9AA6B2}.savings-purpose-bars{gap:14px}.dashboard-attention-list{display:flex;flex-direction:column}.dashboard-attention-row{display:grid;grid-template-columns:10px minmax(0,1fr) 16px;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border)}.dashboard-attention-row:last-child{border-bottom:0}.attention-dot{width:8px;height:8px;border-radius:999px;background:#9AA6B2}.dashboard-attention-row.danger .attention-dot{background:#B54C46}.dashboard-attention-row.warning .attention-dot{background:var(--gold)}.dashboard-attention-row.neutral .attention-dot{background:var(--teal)}.attention-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.attention-copy strong{color:var(--navy);font-size:13px}.attention-copy small{color:var(--muted);font-size:11px;line-height:1.35}.attention-arrow{color:var(--muted);font-size:20px;line-height:1}.dashboard-empty{min-height:120px}.dashboard-attention-row:hover .attention-copy strong{color:var(--teal)}
@media(max-width:1080px){.dashboard-grid,.dashboard-grid-wide{grid-template-columns:1fr}}@media(max-width:640px){.dashboard-chart-head{align-items:stretch;flex-direction:column}.dashboard-chart-head .button{width:100%}.dashboard-chart-legend{gap:9px 14px}.dashboard-y-label{display:none}.dashboard-line-chart{min-height:190px}.dashboard-chart-foot,.dashboard-position-summary{align-items:flex-start;flex-direction:column}}

/* v0.4.2-HF1 — Liquid-position dashboard and movement range controls. */
.dashboard-range-toggle{display:inline-flex;align-items:center;gap:3px;margin:-4px 0 12px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--soft)}
.dashboard-range-option{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:7px;color:var(--muted);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}
.dashboard-range-option:hover{color:var(--navy);background:#fff}.dashboard-range-option.active{color:var(--navy);background:#fff;box-shadow:0 1px 3px rgba(17,35,52,.08)}
.dashboard-bar-fill.receivable-risk{background:#C18B37}
.dashboard-position-summary-dual{align-items:stretch;gap:14px}.dashboard-position-summary-dual>span{display:flex;flex:1;flex-direction:column;gap:4px}.dashboard-position-summary-dual>span+span{padding-left:14px;border-left:1px solid var(--border)}.dashboard-position-summary-dual strong{font-size:15px}
@media(max-width:640px){.dashboard-range-toggle{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.dashboard-range-option{padding:0 6px}.dashboard-position-summary-dual{flex-direction:column}.dashboard-position-summary-dual>span+span{padding-left:0;padding-top:10px;border-left:0;border-top:1px solid var(--border)}}

/* v0.4.2-HF2 — Interactive exact-value chart hover and clearer available-funds vs liabilities comparison. */
.dashboard-line-chart-wrap{position:relative;overflow:visible}
.dashboard-chart-hit-zone{fill:transparent;pointer-events:all;cursor:crosshair;outline:none}
.dashboard-chart-guide{stroke:#B9C4CF;stroke-width:1;stroke-dasharray:3 4;opacity:0;pointer-events:none;transition:opacity .12s ease}
.dashboard-chart-guide.is-active{opacity:1}
.dashboard-chart-point{transform-box:fill-box;transform-origin:center;transition:transform .12s ease,stroke-width .12s ease}
.dashboard-chart-point.is-active{transform:scale(1.55);stroke-width:2}
.dashboard-chart-tooltip{position:absolute;top:5px;z-index:4;display:flex;min-width:178px;flex-direction:column;gap:5px;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:#fff;box-shadow:0 7px 20px rgba(17,35,52,.13);color:var(--muted);font-size:10px;line-height:1.25;pointer-events:none;transform:translateX(-50%)}
.dashboard-chart-tooltip[hidden]{display:none}
.dashboard-chart-tooltip.align-left{transform:translateX(0)}
.dashboard-chart-tooltip.align-right{transform:translateX(-100%)}
.dashboard-chart-tooltip>strong{margin-bottom:2px;color:var(--navy);font-size:11px}
.dashboard-chart-tooltip>span{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;white-space:nowrap}
.dashboard-chart-tooltip>span b{color:var(--navy);font-size:11px;font-weight:700}
.dashboard-chart-tooltip .dashboard-tooltip-net{grid-template-columns:1fr auto;margin-top:2px;padding-top:6px;border-top:1px solid var(--border)}
.dashboard-chart-tooltip .dashboard-tooltip-net b.negative-value{color:#A85C53}
.dashboard-position-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.dashboard-position-context a{display:flex;min-width:0;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:var(--soft);text-decoration:none}
.dashboard-position-context a:hover{border-color:#B9C4CF;background:#fff}
.dashboard-position-context span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.dashboard-position-context strong{color:var(--navy);font-size:14px}
.dashboard-position-context small{color:var(--muted);font-size:10px;line-height:1.35}
@media(max-width:640px){.dashboard-chart-tooltip{min-width:166px}.dashboard-position-context{grid-template-columns:1fr}}

.account-name-balance{display:flex;align-items:baseline;gap:8px}.account-name-balance strong{color:var(--navy)}.account-name-balance span{color:var(--muted);font-size:12px;font-weight:750;white-space:nowrap}


/* v0.4.2-HF2R3 — Position account cards with adaptive smart ordering. */
.account-register-panel{padding:18px}.account-register-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:8px}.account-register-head h3{margin-bottom:4px}.account-register-head p{max-width:660px}.account-register-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.account-sort{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--soft)}.account-sort>span{padding:0 7px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.03em}.account-sort-option{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border-radius:7px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.account-sort-option:hover{color:var(--navy);background:#fff}.account-sort-option.active{color:var(--navy);background:#fff;box-shadow:0 1px 3px rgba(17,35,52,.08)}.account-smart-note{margin:0 0 14px;color:var(--muted);font-size:11px;line-height:1.4}.account-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:13px}.account-card{display:flex;min-width:0;min-height:190px;flex-direction:column;padding:15px;border:1px solid var(--border);border-radius:11px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.account-card:hover{border-color:#B9C4CF;box-shadow:0 4px 14px rgba(17,35,52,.06);transform:translateY(-1px)}.account-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.account-card-title{display:flex;min-width:0;flex-direction:column;gap:6px}.account-card-title>strong{color:var(--navy);font-size:14px;line-height:1.3;overflow-wrap:anywhere}.account-card-balance{color:var(--navy);font-size:23px;font-weight:800;line-height:1}.account-purpose-badge{flex:0 0 auto;max-width:42%;white-space:normal;text-align:center;line-height:1.2}.account-card-meta{display:flex;gap:5px 8px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:11px}.account-card-meta span{position:relative}.account-card-meta span+span:before{content:'·';margin-right:8px;color:#B3BCC5}.account-card-original{margin-top:9px;padding:7px 9px;border-radius:8px;background:var(--soft);color:var(--muted);font-size:11px}.account-card-original strong{color:var(--navy)}.account-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px}.account-usage{display:flex;min-width:0;flex-direction:column;gap:3px;color:var(--muted);font-size:10px;line-height:1.25}.account-usage small{color:#8C97A3;font-size:10px}.account-manage-button{min-height:34px;padding:0 11px;font-size:11px;flex:0 0 auto}@media(max-width:760px){.account-register-head{align-items:stretch;flex-direction:column}.account-register-controls{align-items:stretch;justify-content:flex-start;flex-direction:column}.account-sort{display:grid;grid-template-columns:auto repeat(4,1fr);width:100%}.account-sort-option{padding:0 5px}.account-card-grid{grid-template-columns:1fr}.account-card{min-height:0}}

/* v0.4.2-HF2R6 — Budget status and monthly outlook */
.budget-status-metrics .metric-card small{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.35}.budget-pending-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-6px 0 8px}.budget-pending-strip>span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:#fff}.budget-pending-strip small{color:var(--muted);font-size:10px;line-height:1.3}.budget-pending-strip strong{color:var(--navy);font-size:13px;white-space:nowrap}.budget-status-explainer{margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.45}.dashboard-monthly-outlook{margin-bottom:18px}.dashboard-outlook-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dashboard-outlook-item{min-width:0;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:#FAFBFC}.dashboard-outlook-item span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}.dashboard-outlook-item strong{display:block;color:var(--navy);font-size:18px}.dashboard-outlook-item small{display:block;margin-top:5px;color:#8C97A3;font-size:9.5px;line-height:1.3}.dashboard-outlook-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0;margin-top:13px;padding-top:13px;border-top:1px solid var(--border)}.dashboard-outlook-summary>span{display:flex;flex-direction:column;gap:4px;padding:0 14px;color:var(--muted);font-size:10.5px;line-height:1.35}.dashboard-outlook-summary>span:first-child{padding-left:0}.dashboard-outlook-summary>span+span{border-left:1px solid var(--border)}.dashboard-outlook-summary strong{color:var(--navy);font-size:14px}@media(max-width:980px){.dashboard-outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-outlook-summary{grid-template-columns:1fr}.dashboard-outlook-summary>span{padding:9px 0}.dashboard-outlook-summary>span+span{border-left:0;border-top:1px solid var(--border)}}@media(max-width:640px){.budget-pending-strip,.dashboard-outlook-grid{grid-template-columns:1fr}.budget-pending-strip>span{align-items:flex-start;flex-direction:column;gap:4px}}

/* v0.4.2-HF2R8/HF2R9 — Dashboard operating cash & savings headline separation */
.dashboard-headline-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:980px){.dashboard-headline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.dashboard-headline-metrics{grid-template-columns:1fr}}

/* v0.4.2-HF2R9 — Dashboard savings goal progress */
.dashboard-savings-purpose-row{padding-bottom:2px}.dashboard-purpose-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-1px 0 7px;color:var(--muted);font-size:10px}.dashboard-purpose-note{margin-top:-1px;color:var(--muted);font-size:10px;line-height:1.35}.dashboard-savings-target-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:14px;padding-top:13px;border-top:1px solid var(--border)}.dashboard-savings-target-summary>span{display:flex;flex-direction:column;gap:3px;min-width:0}.dashboard-savings-target-summary>span>strong{color:var(--navy);font-size:12px}.dashboard-savings-target-summary small{color:var(--muted);font-size:10px;line-height:1.35}.dashboard-savings-target-values{text-align:right}.dashboard-savings-target-values>strong{font-size:14px!important}@media(max-width:640px){.dashboard-purpose-progress-meta,.dashboard-savings-target-summary{align-items:flex-start;flex-direction:column}.dashboard-savings-target-values{text-align:left}}


/* v0.4.2-HF2R10 — spacious savings dashboard card and income-linked target clarity */
.dashboard-grid-savings{grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr)}
.dashboard-savings-card{padding:22px 24px}.dashboard-savings-card .dashboard-chart-head{margin-bottom:8px}.savings-purpose-bars{gap:0}.dashboard-savings-purpose-row{padding:14px 0 16px;border-bottom:1px solid var(--border)}.dashboard-savings-purpose-row:last-child{border-bottom:0;padding-bottom:10px}.dashboard-savings-purpose-head{align-items:center;margin-bottom:10px}.dashboard-savings-purpose-head>span{font-size:13px;color:var(--navy)}.dashboard-savings-purpose-head>span small{margin-top:3px;font-size:10px}.dashboard-purpose-percent{font-size:17px!important;color:var(--teal)!important}.dashboard-purpose-track{height:10px}.dashboard-purpose-amount-meta{justify-content:flex-start;gap:18px;margin:8px 0 0;font-size:11px}.dashboard-purpose-amount-meta span{display:inline-flex;align-items:center;gap:6px}.dashboard-purpose-amount-meta span+span:before{content:'';display:inline-block;width:1px;height:14px;background:var(--border);margin-right:12px}.dashboard-purpose-amount-meta strong{color:var(--navy);font-size:11px}.dashboard-purpose-note{margin:2px 0 0;font-size:11px}.dashboard-savings-target-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:15px 17px;border:1px solid var(--border);border-radius:12px;background:#F7F9FC;text-decoration:none;color:inherit;transition:border-color .15s ease,background .15s ease}.dashboard-savings-target-summary:hover{border-color:#C4CED8;background:#F4F7FA}.dashboard-savings-target-summary>span{display:flex;flex-direction:column;gap:4px;min-width:0}.dashboard-savings-target-summary>span>strong{color:var(--navy);font-size:13px}.dashboard-savings-target-summary small{color:var(--muted);font-size:10px;line-height:1.4}.dashboard-savings-target-values{text-align:right;flex:0 0 auto}.dashboard-savings-target-values>strong{font-size:17px!important;color:var(--teal)!important}.transfer-target-credit-note{margin:0;align-self:end}
@media(max-width:980px){.dashboard-grid-savings{grid-template-columns:1fr}.dashboard-savings-card{padding:20px}}
@media(max-width:640px){.dashboard-savings-card{padding:16px}.dashboard-purpose-amount-meta{align-items:flex-start;flex-direction:column;gap:4px}.dashboard-purpose-amount-meta span+span:before{display:none}.dashboard-savings-target-summary{align-items:flex-start;flex-direction:column}.dashboard-savings-target-values{text-align:left}.dashboard-savings-purpose-head{align-items:flex-start}}

/* v0.4.2-HF2R11 — Dashboard outlook consolidation and savings placement */
.dashboard-headline-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.dashboard-outlook-budget{background:#F7F9FC}
.dashboard-outlook-budget-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.dashboard-outlook-budget-breakdown small{display:flex;min-width:0;flex-direction:column;gap:3px;margin:0!important;color:var(--muted);font-style:normal}
.dashboard-outlook-budget-breakdown b{color:var(--muted);font-size:9px;font-weight:700}
.dashboard-outlook-budget-breakdown em{color:var(--navy);font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}
.dashboard-outlook-coverage{margin-top:10px!important;padding-top:8px;border-top:1px solid var(--border);font-size:10px!important;font-weight:700}
.dashboard-outlook-coverage.warning{color:#9A5B20!important}
.dashboard-outlook-coverage.positive{color:var(--teal)!important}
.dashboard-savings-reserve-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 2px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#F7F9FC}
.dashboard-savings-reserve-summary>span{display:flex;min-width:0;flex-direction:column;gap:2px}
.dashboard-savings-reserve-summary>span>strong{color:var(--navy);font-size:12px}
.dashboard-savings-reserve-summary>span>small{color:var(--muted);font-size:10px}
.dashboard-savings-reserve-summary>strong{color:var(--navy);font-size:18px;white-space:nowrap}
@media(max-width:980px){.dashboard-headline-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-outlook-budget-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-headline-metrics{grid-template-columns:1fr}.dashboard-outlook-budget-breakdown{grid-template-columns:1fr}.dashboard-outlook-budget-breakdown small{flex-direction:row;justify-content:space-between;gap:12px}.dashboard-savings-reserve-summary{align-items:flex-start}}

/* v0.4.3 — Authentication & session security */
.auth-body{min-height:100vh;background:linear-gradient(135deg,#F3F6F9 0%,#E9EEF4 100%);display:flex;align-items:center;justify-content:center;padding:28px}.auth-shell{width:min(940px,100%);min-height:560px;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);overflow:hidden;border:1px solid #D8E0E8;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(19,34,56,.13)}.auth-brand-pane{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:46px 42px;background:var(--navy);color:#fff}.auth-brand-pane:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 18%,rgba(200,162,74,.15),transparent 35%),linear-gradient(160deg,transparent 30%,rgba(255,255,255,.035));pointer-events:none}.auth-brand-lockup{position:relative;display:inline-block;width:max-content;padding-right:48px;z-index:1}.auth-brand-primary{display:block;font-size:30px;font-weight:850;letter-spacing:.14em;line-height:1}.auth-brand-sub{position:absolute;right:0;bottom:-9px;color:var(--gold);font-size:13px;font-weight:850;font-style:italic}.auth-brand-pane>p{position:relative;z-index:1;margin:22px 0 0;color:rgba(255,255,255,.66);font-size:12px;letter-spacing:.02em}.auth-brand-note{position:relative;z-index:1;margin-top:auto;padding-top:180px;color:rgba(255,255,255,.48);font-size:11px;line-height:1.5}.auth-card{display:flex;flex-direction:column;justify-content:center;padding:54px 56px}.auth-card-head{margin-bottom:26px}.auth-card-head h1{margin:5px 0 9px;color:var(--navy);font-size:28px}.auth-card-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.auth-kicker{color:var(--gold);font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-submit{width:100%;margin-top:4px}.auth-security-note,.auth-footnote{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:10.5px;line-height:1.55}.auth-migration-note{display:flex;flex-direction:column;gap:8px}.auth-migration-note code{display:block;padding:9px 11px;border-radius:8px;background:#fff;border:1px solid var(--border);color:var(--navy);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:11px;overflow-wrap:anywhere}.sidebar-user{margin-top:14px;padding:13px 12px 0;border-top:1px solid rgba(255,255,255,.11);display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-user-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.sidebar-user-copy strong{overflow:hidden;color:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-copy small{overflow:hidden;color:rgba(255,255,255,.48);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout-form{margin:0}.sidebar-signout{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.62);font:inherit;font-size:10px;font-weight:750;cursor:pointer;padding:5px 0}.sidebar-signout:hover{color:#fff}.security-panel{grid-column:1/-1}.security-account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:10px;background:#F8FAFC}.security-account-summary>div{display:flex;flex-direction:column;gap:3px;min-width:0}.security-account-summary small{color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}.security-account-summary strong{color:var(--navy);font-size:13px}.security-account-summary span{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.security-password-form{padding:16px 0;border-top:1px solid var(--border)}.security-password-form .form-actions{margin-top:14px}.security-recent{padding-top:16px;border-top:1px solid var(--border)}.security-recent h4{margin:0 0 10px;color:var(--navy);font-size:12px}.security-recent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}.security-recent-row{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#FBFCFD}.security-recent-row>div{display:flex;min-width:0;flex-direction:column;gap:2px}.security-recent-row strong{color:var(--navy);font-size:10.5px}.security-recent-row small{color:var(--muted);font-size:9px}.security-dot{flex:0 0 auto;width:7px;height:7px;margin-top:4px;border-radius:50%;background:#AAB4BE}.security-dot.success{background:var(--teal)}.security-dot.failed{background:#C55D5D}@media(max-width:760px){.auth-body{padding:0}.auth-shell{min-height:100vh;grid-template-columns:1fr;border:0;border-radius:0}.auth-brand-pane{min-height:190px;justify-content:flex-end;padding:28px 24px}.auth-brand-note{display:none}.auth-card{padding:34px 24px 44px}.security-account-summary,.security-recent-list{grid-template-columns:1fr}.sidebar-user{width:100%}}
/* v0.4.3-HF2 — Net Financial Resilience & Break-Even Model. */
.dashboard-health-indicator{margin:12px 0 18px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px rgba(19,34,56,.03)}
.dashboard-health-indicator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:14px}
.dashboard-health-status-copy>span,.dashboard-health-net-position>span,.dashboard-health-evidence>div>span{display:block;color:var(--muted);font-size:10.5px;font-weight:750;letter-spacing:.01em;margin-bottom:4px}
.dashboard-health-status-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.dashboard-health-status-line strong{font-size:25px;line-height:1;color:#A23D38;text-transform:uppercase;letter-spacing:.035em}
.dashboard-health-status-line small{color:var(--muted);font-size:12px;font-weight:650}
.dashboard-health-net-position{text-align:right;min-width:250px}
.dashboard-health-net-position strong{display:block;color:var(--navy);font-size:27px;line-height:1.08;letter-spacing:-.02em}
.dashboard-health-net-position strong.negative-value{color:#A23D38}
.dashboard-health-net-position small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.dashboard-health-deficit-message{margin:0 0 14px;padding:9px 11px;border:1px solid #E6C7C4;border-radius:9px;background:#FBF3F2}
.dashboard-health-deficit-message span{color:#6D5960;font-size:10px;line-height:1.4}
.dashboard-health-track{display:grid;grid-template-columns:minmax(116px,.95fr) repeat(7,minmax(78px,1fr));gap:4px;margin:0}
.dashboard-health-deficit-zone,.dashboard-health-scale-zone{position:relative;display:flex;min-width:0;min-height:45px;flex-direction:column;align-items:center;justify-content:center;padding:6px 5px;border-radius:7px;text-align:center;line-height:1.12}
.dashboard-health-deficit-zone span,.dashboard-health-scale-zone span{font-size:9px;font-weight:850}
.dashboard-health-deficit-zone small,.dashboard-health-scale-zone small{margin-top:3px;font-size:8px;font-weight:700;opacity:.78}
.dashboard-health-deficit-zone{background:#E9C8C5;color:#742F2B;border-right:3px solid #A23D38;border-radius:7px 2px 2px 7px}
.dashboard-health-scale-zone{background:#E7EBEF;color:#596675}
.dashboard-health-scale-zone.critical{background:#F2D7D5;color:#83332F}.dashboard-health-scale-zone.severe{background:#F4DFD2;color:#86502D}.dashboard-health-scale-zone.fragile{background:#F3E7C7;color:#79601B}.dashboard-health-scale-zone.basic{background:#EAEACB;color:#62641E}.dashboard-health-scale-zone.stable{background:#DDEBD9;color:#3E6840}.dashboard-health-scale-zone.strong{background:#D2E8DF;color:#2F6857}.dashboard-health-scale-zone.resilient{background:#C9E4DC;color:#245D51}
.dashboard-health-deficit-zone.active,.dashboard-health-scale-zone.active{outline:2px solid var(--navy);outline-offset:2px;z-index:1}
.dashboard-health-deficit-zone.active:after,.dashboard-health-scale-zone.active:after{content:'';position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--navy)}
.dashboard-health-break-even-label{display:grid;grid-template-columns:max-content max-content 1fr;align-items:center;gap:6px;margin:9px 0 14px;padding-left:calc((100% - 28px) / 8 - 3px);color:var(--muted);font-size:8.5px}
.dashboard-health-break-even-label:before{content:'';position:absolute}
.dashboard-health-break-even-label span{font-weight:800;text-transform:uppercase;letter-spacing:.04em}.dashboard-health-break-even-label strong{color:#8D3834;font-size:9px}.dashboard-health-break-even-label small{font-size:8.5px}
.dashboard-health-evidence{display:grid;gap:0;padding:13px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.dashboard-health-evidence-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-health-evidence>div{min-width:0;padding:0 15px}.dashboard-health-evidence>div:first-child{padding-left:0}.dashboard-health-evidence>div:last-child{padding-right:0}.dashboard-health-evidence>div+div{border-left:1px solid var(--border)}
.dashboard-health-evidence strong{display:block;color:var(--navy);font-size:15px;line-height:1.2}.dashboard-health-evidence small{display:block;margin-top:4px;color:var(--muted);font-size:9.5px;line-height:1.35}
.dashboard-health-method{margin:10px 0 0!important;color:#7D8995!important;font-size:9.5px!important;line-height:1.4!important}
.dashboard-health-deficit .dashboard-health-status-line strong{color:#8D3834}.dashboard-health-severe .dashboard-health-status-line strong{color:#9A5B20}.dashboard-health-fragile .dashboard-health-status-line strong{color:#7A641F}.dashboard-health-basic .dashboard-health-status-line strong{color:#636521}.dashboard-health-stable .dashboard-health-status-line strong{color:#426B45}.dashboard-health-strong .dashboard-health-status-line strong,.dashboard-health-resilient .dashboard-health-status-line strong{color:var(--teal)}
@media(max-width:1100px){.dashboard-health-track{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-health-break-even-label{padding-left:0}}
@media(max-width:760px){.dashboard-health-indicator-head{flex-direction:column;gap:12px}.dashboard-health-net-position{text-align:left;min-width:0}.dashboard-health-track{grid-template-columns:1fr}.dashboard-health-deficit-zone,.dashboard-health-scale-zone{align-items:flex-start;min-height:0;padding:8px 10px;text-align:left}.dashboard-health-deficit-zone{border-right:0;border-left:3px solid #A23D38;border-radius:7px}.dashboard-health-deficit-zone.active:after,.dashboard-health-scale-zone.active:after{display:none}.dashboard-health-break-even-label{display:flex;flex-wrap:wrap;margin-top:7px}.dashboard-health-evidence-two{grid-template-columns:1fr}.dashboard-health-evidence>div{padding:10px 0!important;border-left:0!important}.dashboard-health-evidence>div+div{border-top:1px solid var(--border)}.dashboard-health-status-line{align-items:flex-start;flex-direction:column;gap:5px}}

/* v0.4.3-HF2R1 — Financial Health focus & dashboard de-duplication. */
.dashboard-headline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){.dashboard-headline-metrics{grid-template-columns:1fr}}

/* v0.5.0 — Executive Interface System
   Premium clarity-first visual system. Financial logic remains unchanged. */
:root{
  --navy:#1E3550;
  --navy2:#2A4664;
  --gold:#A9843E;
  --teal:#2F746B;
  --bg:#F2F4F5;
  --surface:#FFFEFC;
  --surface-2:#F8F9F8;
  --surface-3:#F0F2F2;
  --border:#DDE1E2;
  --border-strong:#C8CED0;
  --text:#192127;
  --muted:#68737A;
  --muted-2:#8A949A;
  --soft:#EEF1F1;
  --graphite:#111A24;
  --graphite-2:#182431;
  --critical:#963F3A;
  --critical-soft:#F5E9E7;
  --severe:#A15C36;
  --severe-soft:#F5ECE5;
  --warning:#917127;
  --warning-soft:#F6F0DE;
  --stable:#537551;
  --stable-soft:#EAF0E7;
  --strong:#356F63;
  --strong-soft:#E2EFEB;
  --resilient:#215D52;
  --resilient-soft:#DBECE6;
  --shadow-sm:0 1px 2px rgba(17,26,36,.04),0 6px 18px rgba(17,26,36,.025);
  --shadow-md:0 2px 5px rgba(17,26,36,.05),0 14px 34px rgba(17,26,36,.05);
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:20px;
}

html{background:var(--bg);scroll-behavior:smooth}
body{
  min-width:320px;
  color:var(--text);
  background:var(--bg);
  font-family:Inter,"Segoe UI Variable","Segoe UI",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:14px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:#DCE5EC;color:var(--graphite)}
button,input,select,textarea{font:inherit}

/* Shell & navigation */
.app-shell{grid-template-columns:272px minmax(0,1fr);background:var(--bg)}
.sidebar{
  z-index:20;
  padding:27px 18px 18px;
  background:var(--graphite);
  border-right:1px solid rgba(255,255,255,.035);
}
.brand{padding:0 11px 24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:19px}
.brand-lockup{padding-right:38px}
.brand-primary{font-size:22px;font-weight:800;letter-spacing:.145em;color:#F8FAFB}
.brand-sub{right:0;bottom:-6px;color:#C5A45E;font-size:10px;font-style:normal;font-weight:850;letter-spacing:.035em}
.brand-caption{max-width:190px;margin-top:15px;color:rgba(255,255,255,.48);font-size:9px;line-height:1.45;letter-spacing:.035em;text-transform:uppercase}
.sidebar-section-label{padding:0 12px 8px;color:rgba(255,255,255,.31);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.sidebar-section-label-lower{padding-top:8px}
.nav{gap:4px}
.nav-item{
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:43px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:10px;
  color:rgba(255,255,255,.66);
  font-size:13px;
  font-weight:650;
  letter-spacing:.003em;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.nav-item:hover{color:#fff;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.04)}
.nav-item.active{color:#fff;background:#223142;border-color:rgba(255,255,255,.075);box-shadow:inset 3px 0 0 #B99B5B}
.nav-item.active:after{content:'';position:absolute;right:12px;width:5px;height:5px;border-radius:50%;background:#B99B5B}
.nav-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;color:rgba(255,255,255,.45)}
.nav-item:hover .nav-icon,.nav-item.active .nav-icon{color:#DCE5EC}
.nav-icon svg{display:block;width:17px;height:17px;fill:currentColor}
.nav-subgroup{margin:-1px 0 3px 41px;padding:3px 9px 7px;border-left:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.34);font-size:9px;line-height:1.65}
.sidebar-user{margin-top:15px;padding:15px 7px 1px;border-top:1px solid rgba(255,255,255,.08);justify-content:flex-start}
.sidebar-user-avatar{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#202E3D;color:#D9E1E7;font-size:11px;font-weight:850}
.sidebar-user-copy{flex:1;gap:1px}
.sidebar-user-copy strong{font-size:11px;font-weight:750;color:#F4F6F8}
.sidebar-user-copy small{font-size:9px;color:rgba(255,255,255,.39)}
.sidebar-signout{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid transparent;border-radius:8px;color:rgba(255,255,255,.45);font-size:15px;transition:all .16s ease}
.sidebar-signout:hover{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.055);color:#fff}

/* Top bar & content rhythm */
.main{background:var(--bg)}
.topbar{
  position:sticky;
  top:0;
  z-index:15;
  min-height:78px;
  padding:14px 34px;
  background:rgba(255,254,252,.96);
  border-bottom:1px solid var(--border);
  box-shadow:0 1px 0 rgba(17,26,36,.015);
  backdrop-filter:saturate(130%) blur(10px);
}
.page-heading{min-height:48px}
.page-heading-copy{display:flex;flex-direction:column;gap:2px}
.page-kicker{color:var(--muted-2);font-size:8.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
h1{color:var(--graphite);font-size:23px;font-weight:760;letter-spacing:-.025em}
h2{color:var(--graphite);font-size:17px;font-weight:750;letter-spacing:-.015em}
h3{color:var(--graphite);font-size:14px;font-weight:750}
.topbar-actions{gap:9px}
.period-control{display:flex;align-items:center;gap:8px;height:40px;padding:0 6px 0 11px;border:1px solid var(--border);border-radius:10px;background:#FAFBFA;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.period-select{min-height:32px;height:32px;padding:0 27px 0 8px;border:0;border-left:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;outline:none}
.button{
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:#FFFEFC;
  color:var(--graphite);
  font-size:12px;
  font-weight:750;
  box-shadow:0 1px 1px rgba(17,26,36,.02);
  transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.button:hover{border-color:#ABB5BA;background:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.button.primary{border-color:#1A2A3B;background:#1A2A3B;color:#fff;box-shadow:0 5px 16px rgba(17,26,36,.12)}
.button.primary:hover{background:#22364A;border-color:#22364A}
.button.compact{min-height:33px;padding:0 11px;font-size:10.5px}
.record-action{gap:5px;min-width:92px}
.record-action span{font-size:15px;font-weight:400;line-height:1}
.content{padding:30px 34px 64px}
.content-inner{width:min(100%,1480px);margin:0 auto}
.page-intro{margin:0 0 20px;padding:0 2px;gap:24px}
.page-intro h2{margin-bottom:6px;font-size:18px}
.page-intro p,.page-lead{max-width:850px;color:var(--muted);font-size:12px;line-height:1.55}

/* Tabs become calm workspace navigation */
.tabs,.subtabs{gap:3px;margin-bottom:21px;padding:4px;width:max-content;max-width:100%;border:1px solid var(--border);border-radius:11px;background:#E9EDEE}
.tab,.subtab{min-height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:8px;background:transparent;color:#66727A;font-size:11px;font-weight:720;transition:all .15s ease}
.tab:hover,.subtab:hover{color:var(--graphite);background:rgba(255,255,255,.55)}
.tab.active,.subtab.active{background:#fff;color:#1D3044;box-shadow:0 1px 4px rgba(17,26,36,.08)}
.subtabs{margin-bottom:16px}
.subtab{min-height:30px;padding:0 10px;font-size:10.5px}
.secondary-subtabs{background:#F0F2F2}

/* Panels, metrics and information density */
.panel{
  margin-bottom:17px;
  padding:20px 21px;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}
.panel-head h2,.panel-head h3{margin-bottom:4px}
.panel p{color:var(--muted);font-size:11.5px;line-height:1.55}
.metric-grid{gap:11px;margin:16px 0 22px}
.metric-card{
  position:relative;
  min-height:108px;
  padding:16px 17px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.metric-card span{margin-bottom:9px;color:var(--muted);font-size:10px;font-weight:720;letter-spacing:.015em}
.metric-card strong{color:var(--graphite);font-size:21px;font-weight:780;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.metric-card small{margin-top:7px;color:var(--muted-2);font-size:9.5px;line-height:1.45}
.metric-link{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.metric-link:hover{border-color:#BCC4C7;box-shadow:var(--shadow-md);transform:translateY(-2px)}
.negative-value{color:var(--critical)!important}
.muted-value{color:var(--muted)!important}

/* Tables */
.table-wrap{overflow:auto;border-radius:11px;border:1px solid var(--border);background:#fff}
.table-wrap table{margin:0}
table{font-variant-numeric:tabular-nums}
th,td{padding:11px 13px;border-bottom:1px solid #E8EBEC;font-size:11.5px}
th{background:#F7F8F8;color:#778188;font-size:9px;font-weight:820;letter-spacing:.075em;text-transform:uppercase}
tbody tr{transition:background .12s ease}
tbody tr:hover{background:#FAFBFA}
tbody tr:last-child td{border-bottom:0}
tfoot th{background:#FBFCFB;border-top:1px solid var(--border-strong);color:var(--graphite);font-size:11px}
.description-cell{line-height:1.5}
.row-actions{gap:6px}
.table-note{color:var(--muted);font-size:10px;line-height:1.45}

/* Forms */
.field,.readonly-field{
  min-height:40px;
  border:1px solid #CCD3D5;
  border-radius:9px;
  background:#fff;
  color:var(--text);
  font-size:12px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.field:hover{border-color:#B5BFC3}
.field:focus{outline:none;border-color:#667F96;box-shadow:0 0 0 3px rgba(47,74,99,.08)}
.field-label{margin-bottom:7px;color:#34414A;font-size:10.5px;font-weight:760;letter-spacing:.01em}
.field-help,.optional{color:var(--muted-2);font-size:9.5px;line-height:1.45}
.readonly-field{background:#F7F8F8;color:var(--muted)}
.form-panel{box-shadow:var(--shadow-sm)}
.form-section{padding:20px 0}
.form-section-title{color:#738087;font-size:9px;letter-spacing:.1em}
.inline-create,.recurring-fields,.form-placeholder{background:#F8F9F8;border-color:var(--border)}
.form-actions.split{border-top-color:var(--border)}
.check-row{font-size:11.5px}

/* Alerts, notices and state badges */
.alert,.notice{padding:11px 13px;border-radius:10px;font-size:11.5px;line-height:1.5}
.notice{background:#F6F4ED;border-color:#E5DEC9;color:#655B42}
.notice.subtle{background:#F7F8F8;border-color:var(--border);color:var(--muted)}
.alert.success{background:#E7F0EB;border-color:#C7DCD0;color:#315F49}
.alert.error{background:var(--critical-soft);border-color:#E7C9C5;color:#7F332F}
.inline-warning{background:#F7F1E2;border-color:#E4D7B4;color:#725C28}
.badge{min-height:23px;padding:0 8px;border:1px solid transparent;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.02em}
.badge.neutral{background:#EEF1F1;color:#647078;border-color:#E1E5E5}
.badge.anchor{background:#E7EEF3;color:#3B5C78;border-color:#D6E1E8}
.badge.warning{background:var(--warning-soft);color:#765E20;border-color:#E8DDBB}
.badge.danger{background:var(--critical-soft);color:#843832;border-color:#EACDC9}
.status-note{color:var(--muted-2);font-size:9px}

/* Dashboard — flagship command center */
.dashboard-intro{margin-bottom:12px}
.dashboard-intro-after-health{margin-top:12px}
.dashboard-health-indicator{
  position:relative;
  overflow:hidden;
  padding:22px 23px 19px;
  border-color:#D7DCDE;
  box-shadow:var(--shadow-md);
}
.dashboard-health-indicator:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#7C878D}
.dashboard-health-deficit.dashboard-health-indicator:before{background:var(--critical)}
.dashboard-health-critical.dashboard-health-indicator:before{background:#A04C45}
.dashboard-health-severe.dashboard-health-indicator:before{background:var(--severe)}
.dashboard-health-fragile.dashboard-health-indicator:before{background:#A78332}
.dashboard-health-basic.dashboard-health-indicator:before{background:#808345}
.dashboard-health-stable.dashboard-health-indicator:before{background:var(--stable)}
.dashboard-health-strong.dashboard-health-indicator:before{background:var(--strong)}
.dashboard-health-resilient.dashboard-health-indicator:before{background:var(--resilient)}
.dashboard-health-indicator-head{margin-bottom:13px}
.dashboard-health-status-copy>span{color:#7B858B;font-size:8.5px;font-weight:820;letter-spacing:.095em;text-transform:uppercase}
.dashboard-health-status-line{gap:9px}
.dashboard-health-status-line strong{font-size:22px;font-weight:820;letter-spacing:.045em;color:var(--critical)}
.dashboard-health-status-line small{color:var(--muted);font-size:10.5px;font-weight:650}
.dashboard-health-net-position strong{font-size:30px;font-weight:790;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.dashboard-health-net-position small{color:var(--muted-2);font-size:9px}
.dashboard-health-deficit-message{margin-bottom:15px;padding:10px 12px;border-color:#E6D1CE;border-radius:9px;background:#FAF4F2}
.dashboard-health-deficit-message span{color:#725552;font-size:9.5px}
.dashboard-health-track{gap:5px}
.dashboard-health-deficit-zone,.dashboard-health-scale-zone{min-height:50px;padding:7px 6px;border:1px solid transparent;border-radius:8px}
.dashboard-health-deficit-zone span,.dashboard-health-scale-zone span{font-size:8.5px;letter-spacing:.01em}
.dashboard-health-deficit-zone small,.dashboard-health-scale-zone small{font-size:7.5px}
.dashboard-health-deficit-zone{background:#F0D9D6;color:#782F2A;border-color:#E5C1BD;border-right:3px solid var(--critical)}
.dashboard-health-scale-zone{background:#EFF1F1;color:#616D74;border-color:#E6E9E9}
.dashboard-health-scale-zone.critical{background:#F4E3E1;color:#813832;border-color:#EACBC7}
.dashboard-health-scale-zone.severe{background:#F4E9E2;color:#8A4E2F;border-color:#E9D6C9}
.dashboard-health-scale-zone.fragile{background:#F4EEDA;color:#786127;border-color:#E8DFC0}
.dashboard-health-scale-zone.basic{background:#ECEEDC;color:#656B35;border-color:#DFE2C7}
.dashboard-health-scale-zone.stable{background:#E6EFE4;color:#486849;border-color:#D4E2D1}
.dashboard-health-scale-zone.strong{background:#DEECE8;color:#32675C;border-color:#CADFD9}
.dashboard-health-scale-zone.resilient{background:#D8E9E4;color:#225D52;border-color:#C5DED7}
.dashboard-health-deficit-zone.active,.dashboard-health-scale-zone.active{outline:2px solid #24394D;outline-offset:2px;box-shadow:0 4px 14px rgba(17,26,36,.08)}
.dashboard-health-deficit-zone.active:after,.dashboard-health-scale-zone.active:after{border-top-color:#24394D}
.dashboard-health-break-even-label{margin:10px 0 14px;color:#758087}
.dashboard-health-break-even-label span{font-size:8px}.dashboard-health-break-even-label strong{color:var(--critical);font-size:8.5px}.dashboard-health-break-even-label small{font-size:8px}
.dashboard-health-evidence{padding:13px 0;border-color:#E6E9E9}
.dashboard-health-evidence strong{color:var(--graphite);font-size:15px;font-weight:760}
.dashboard-health-evidence small{color:var(--muted-2);font-size:9px}
.dashboard-health-method{color:#899298!important;font-size:8.8px!important}
.dashboard-headline-metrics{gap:11px}
.dashboard-monthly-outlook{box-shadow:var(--shadow-sm)}
.dashboard-outlook-grid{gap:8px}
.dashboard-outlook-item{padding:13px 14px;border-color:#E0E4E5;border-radius:11px;background:#F8F9F8}
.dashboard-outlook-item span{font-size:9.5px;font-weight:720}
.dashboard-outlook-item strong{color:var(--graphite);font-size:18px;font-weight:760;letter-spacing:-.02em}
.dashboard-outlook-item small{color:var(--muted-2);font-size:8.8px}
.dashboard-outlook-budget{background:#F6F8F8}
.dashboard-outlook-budget-breakdown{border-color:#E3E6E7}
.dashboard-chart-panel{box-shadow:var(--shadow-sm)}
.dashboard-chart-head{margin-bottom:14px}
.dashboard-chart-legend{color:var(--muted);font-size:9.5px}
.legend-swatch{height:2px}
.legend-swatch.income{background:#3C766F}.legend-swatch.expenditure{background:#9D544D}.legend-swatch.savings{background:#A9843E}
.dashboard-grid-line{stroke:#ECEEEE}
.dashboard-axis-label{fill:#7D878D;font-size:9px}
.dashboard-chart-line{stroke-width:2.2}
.dashboard-chart-line.income{stroke:#3C766F}.dashboard-chart-line.expenditure{stroke:#9D544D}.dashboard-chart-line.savings{stroke:#A9843E}
.dashboard-chart-point.income{fill:#3C766F}.dashboard-chart-point.expenditure{fill:#9D544D}.dashboard-chart-point.savings{fill:#A9843E}
.dashboard-chart-foot,.dashboard-position-summary{border-color:#E5E8E9;color:var(--muted);font-size:10.5px}
.dashboard-chart-foot strong,.dashboard-position-summary strong{color:var(--graphite);font-size:14px}
.dashboard-bar-track{height:7px;background:#ECEFEF}
.dashboard-bar-fill.cash{background:#344F69}.dashboard-bar-fill.receivable{background:#477C72}.dashboard-bar-fill.asset{background:#A88745}.dashboard-bar-fill.liability{background:#9B514A}.dashboard-bar-fill.saving-purpose{background:#477C72}
.dashboard-attention-row{padding:12px 2px;border-color:#E7EAEA}
.attention-copy strong{color:#26333B;font-size:11.5px}.attention-copy small{color:var(--muted);font-size:9.5px}.attention-arrow{color:#9AA2A6;font-size:16px}
.dashboard-attention-row:hover{background:#FAFBFA}.dashboard-attention-row:hover .attention-copy strong{color:#1E5360}
.dashboard-savings-reserve-summary{border-color:#E0E4E5;border-radius:11px;background:#F8F9F8}
.dashboard-savings-purpose-row{border-color:#E7EAEA}
.dashboard-purpose-track,.dashboard-savings-target-summary .dashboard-purpose-track{height:7px;background:#ECEFEF}

/* Budget workspace */
.budget-status-metrics .metric-card{min-height:115px}
.budget-pending-strip{gap:8px;margin:-4px 0 10px}
.budget-pending-strip>span{padding:10px 12px;border-color:#E0E4E5;border-radius:10px;background:#F9FAF9}
.budget-pending-strip small{font-size:9px}.budget-pending-strip strong{color:var(--graphite);font-size:12px}
.budget-status-explainer{color:var(--muted);font-size:10px}
.budget-category-list{gap:9px}
.budget-category-summary,.budget-edit-category,.budget-line-shell{border-color:#DDE2E3;border-radius:11px;box-shadow:0 1px 1px rgba(17,26,36,.015)}
.budget-category-summary-head,.budget-edit-category-head{padding:13px 14px}
.budget-category-summary[open]>.budget-category-summary-head,.budget-edit-category[open]>.budget-edit-category-head{background:#F7F9F8;border-color:#E4E7E8}
.budget-category-title>strong{color:#283943;font-size:12.5px}
.budget-category-count,.budget-edit-category-count{color:var(--muted-2);font-size:9px}
.budget-category-rollup small{color:var(--muted-2);font-size:7.5px}.budget-category-rollup strong{color:var(--graphite);font-size:12px;font-variant-numeric:tabular-nums}
.budget-edit-category-lines{background:#F5F7F7}
.budget-line-summary-item{color:#2A3942;font-size:11.5px}.budget-line-summary-amount{color:var(--graphite);font-size:12.5px}
.budget-line-summary-number{background:#EBEEEE;color:#707A80}
.budget-guidance span,.budget-note{background:#F1F3F3;color:var(--muted);font-size:10.5px}
.budget-guidance strong{color:#334650}

/* Savings workspace */
.savings-position-panel{box-shadow:var(--shadow-sm)}
.savings-position-metrics{gap:10px}
.savings-fund-list{gap:9px}
.savings-fund-row{padding:13px 3px;border-color:#E7EAEA}
.savings-fund-main strong{color:#283943;font-size:12px}
.savings-fund-main small{color:var(--muted-2);font-size:9px}
.savings-fund-amount{color:var(--graphite);font-size:14px;font-weight:780}
.savings-progress-track{height:7px;background:#EAEDED}
.savings-progress-line{background:#477C72}
.savings-category-list{gap:11px}
.savings-category-block{border-color:#DDE2E3;border-radius:12px;box-shadow:0 1px 1px rgba(17,26,36,.015)}
.savings-category-head{border-color:#E6E9EA}
.savings-category-head strong{color:#2A3A43;font-size:12px}
.savings-category-head small{color:var(--muted-2);font-size:9px}
.savings-category-head>span{color:var(--graphite);font-size:12px}

/* Position workspace */
.account-register-panel{padding:19px 20px}
.account-register-head p{color:var(--muted);font-size:10.5px}
.account-sort{border-color:#D9DEDF;background:#ECEFEF}
.account-sort>span{font-size:8px}.account-sort-option{font-size:9px}
.account-sort-option.active{color:#223B51;box-shadow:0 1px 4px rgba(17,26,36,.07)}
.account-card-grid{gap:11px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.account-card{min-height:186px;padding:15px 16px;border-color:#DDE2E3;border-radius:13px;box-shadow:0 1px 2px rgba(17,26,36,.02)}
.account-card:hover{border-color:#B9C2C5;box-shadow:var(--shadow-md);transform:translateY(-2px)}
.account-card-title>strong{color:#293B45;font-size:12.5px}.account-card-balance{color:var(--graphite);font-size:22px;font-weight:780;letter-spacing:-.025em}
.account-card-meta{color:var(--muted);font-size:9.5px}.account-card-original{background:#F1F3F3;color:var(--muted);font-size:9.5px}.account-card-original strong{color:#344954}
.account-usage{color:var(--muted);font-size:9px}.account-usage small{color:var(--muted-2);font-size:8.8px}

/* Empty states, utilities, security */
.empty-state{min-height:125px;border-color:#CCD3D5;border-radius:11px;background:#F9FAF9;color:var(--muted);font-size:11px}
.action-empty strong{color:#2C3E48;font-size:14px}.action-empty p{font-size:10.5px}
.security-account-summary,.security-recent-row{background:#F7F9F8;border-color:#DEE3E4}
.security-account-summary small{font-size:8px}.security-account-summary strong{color:#2E414B;font-size:11.5px}.security-account-summary span{font-size:9px}
.security-recent h4{color:#2E414B}.security-recent-row strong{color:#2E414B}.security-dot.success{background:#477C72}.security-dot.failed{background:#A34C45}

/* Authentication */
.auth-body{background:#EEF1F2}
.auth-shell{border-color:#D8DEDF;border-radius:22px;box-shadow:0 30px 80px rgba(17,26,36,.13)}
.auth-brand-pane{background:var(--graphite)}
.auth-brand-pane:before{background:none}
.auth-brand-sub{color:#C5A45E;font-style:normal}.auth-kicker{color:#9B7B3A}.auth-card-head h1{color:var(--graphite)}

/* Responsive system */
@media(max-width:1180px){
  .app-shell{grid-template-columns:236px minmax(0,1fr)}
  .sidebar{padding-left:14px;padding-right:14px}
  .content{padding-left:26px;padding-right:26px}
  .topbar{padding-left:26px;padding-right:26px}
}
@media(max-width:980px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto;padding:16px 18px 13px}
  .brand{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:13px;padding:0 2px 13px}
  .brand-caption{margin:0;max-width:none;text-align:right}
  .sidebar-section-label,.sidebar-section-label-lower,.nav-subgroup{display:none}
  .nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px}
  .nav-item{min-height:38px;padding:0 10px;font-size:11px}
  .nav-item.active{box-shadow:inset 0 -2px 0 #B99B5B}
  .nav-item.active:after{display:none}
  .nav-spacer{display:none}
  .sidebar-user{margin-top:12px;padding:12px 2px 0}
  .topbar{top:0}
  .content{padding-top:24px}
}
@media(max-width:760px){
  .topbar{position:relative;align-items:stretch;flex-direction:column;padding:15px 18px;gap:10px}
  .topbar-actions{width:100%}
  .period-control{flex:1;justify-content:space-between}
  .period-select{flex:1}
  .record-action{min-width:92px;flex:0 0 auto}
  .content{padding:19px 16px 45px}
  .page-intro{flex-direction:column;gap:10px}
  .tabs,.subtabs{width:100%;overflow:auto;flex-wrap:nowrap}
  .tab,.subtab{white-space:nowrap}
  .panel{padding:17px 16px;border-radius:13px}
  .metric-card{min-height:96px}
  .dashboard-health-indicator{padding:19px 16px 16px}
  .dashboard-health-track{grid-template-columns:1fr}
  .dashboard-health-deficit-zone,.dashboard-health-scale-zone{align-items:flex-start;min-height:0;padding:9px 10px;text-align:left}
  .dashboard-health-deficit-zone{border-right:1px solid #E5C1BD;border-left:3px solid var(--critical)}
  .dashboard-health-deficit-zone.active:after,.dashboard-health-scale-zone.active:after{display:none}
  .dashboard-health-net-position{text-align:left}
  .table-wrap{border-radius:9px}
  th,td{padding:10px 11px}
}
@media(max-width:520px){
  .brand-caption{display:none}
  .nav-icon{display:none}
  .nav-item{padding:0 9px}
  .sidebar-user-avatar{display:none}
  .topbar-actions{align-items:stretch;flex-direction:column}
  .record-action{width:100%}
  .metric-grid{gap:9px}
}

/* v0.5.0-HF1 — Interface Rendering & Readability Scale Correction
   Defensive asset/icon rendering and corrected executive readability scale. */
:root{
  --ui-content-max:1380px;
  --ui-sidebar:252px;
}

/* Readability floor: compact must never mean microscopic. */
body{font-size:14.5px;line-height:1.5}
.app-shell{grid-template-columns:var(--ui-sidebar) minmax(0,1fr)}
.content-inner{width:min(100%,var(--ui-content-max))}
.sidebar{padding:25px 16px 17px}
.brand{padding:0 10px 23px;margin-bottom:17px}
.brand-primary{font-size:20px;letter-spacing:.135em}
.brand-sub{font-size:10px}
.brand-caption{font-size:10px;line-height:1.5}
.sidebar-section-label{font-size:9.5px}
.nav-item{min-height:44px;gap:11px;padding:0 12px;font-size:13px}
.nav-subgroup{font-size:10px;line-height:1.55}
.sidebar-user-copy strong{font-size:11.5px}
.sidebar-user-copy small{font-size:10px}

/* SVGs have an explicit defensive box even if a stale stylesheet is partially active. */
.nav-icon{width:19px;height:19px;flex-basis:19px}
.nav-icon svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8;
  vector-effect:non-scaling-stroke;
}

.topbar{min-height:80px;padding:15px 30px}
.page-kicker{font-size:9.5px}
h1{font-size:25px;font-weight:760}
h2{font-size:18px}
h3{font-size:14.5px}
.content{padding:28px 30px 62px}
.page-intro{margin-bottom:21px}
.page-intro h2{font-size:19px}
.page-intro p,.page-lead{font-size:12.5px;line-height:1.58}

/* Workspace controls */
.tabs,.subtabs{gap:4px;padding:4px;margin-bottom:20px}
.tab,.subtab{min-height:35px;padding:0 13px;font-size:11.5px}
.subtab{min-height:31px;font-size:11px}
.button{min-height:39px;font-size:12.5px}
.button.compact{font-size:11px}
.period-control{font-size:9.5px}
.period-select{font-size:12.5px}

/* Surfaces and metrics */
.panel{padding:21px 22px;margin-bottom:18px}
.panel p{font-size:12px;line-height:1.58}
.panel-head{margin-bottom:16px}
.metric-grid{gap:12px}
.metric-card{min-height:110px;padding:17px 18px}
.metric-card span{font-size:10.8px;margin-bottom:8px}
.metric-card strong{font-size:22px}
.metric-card small{font-size:10.5px;line-height:1.45}

/* Tables must remain readable at normal desktop viewing distance. */
th,td{padding:11px 13px;font-size:12px}
th{font-size:10px;letter-spacing:.065em}
.table-note{font-size:10.5px}
.badge{font-size:10.5px}
.status-note{font-size:10px}
.description-cell{line-height:1.5}

/* Forms */
.field,.readonly-field{font-size:12.5px}
.field-label{font-size:11px}
.field-help,.optional{font-size:10px}
.form-section-title{font-size:11px}

/* Financial Health — serious, readable, not a micro-dashboard. */
.dashboard-health-indicator{padding:23px 24px 20px}
.dashboard-health-status-copy>span{font-size:10px}
.dashboard-health-status-line strong{font-size:23px}
.dashboard-health-status-line small{font-size:11.5px}
.dashboard-health-net-position strong{font-size:31px}
.dashboard-health-net-position small{font-size:10.5px}
.dashboard-health-deficit-message span{font-size:10.5px;line-height:1.48}
.dashboard-health-deficit-zone,.dashboard-health-scale-zone{min-height:56px;padding:8px 7px}
.dashboard-health-deficit-zone span,.dashboard-health-scale-zone span{font-size:9.5px}
.dashboard-health-deficit-zone small,.dashboard-health-scale-zone small{font-size:8.5px}
.dashboard-health-break-even-label span{font-size:9px}
.dashboard-health-break-even-label strong{font-size:9.5px}
.dashboard-health-break-even-label small{font-size:9px}
.dashboard-health-evidence strong{font-size:16px}
.dashboard-health-evidence small{font-size:10.5px}
.dashboard-health-method{font-size:10px!important;line-height:1.48!important}

/* Dashboard / analytical visuals */
.dashboard-outlook-item span{font-size:10.5px}
.dashboard-outlook-item strong{font-size:19px}
.dashboard-outlook-item small{font-size:10px}
.dashboard-chart-legend{font-size:10.5px}
.dashboard-axis-label{font-size:10px}
.dashboard-chart-foot,.dashboard-position-summary{font-size:11px}
.attention-copy strong{font-size:12px}
.attention-copy small{font-size:10.5px}

/* Budget */
.budget-pending-strip small{font-size:10px}
.budget-pending-strip strong{font-size:13px}
.budget-status-explainer{font-size:11px;line-height:1.5}
.budget-category-title>strong{font-size:13px}
.budget-category-count,.budget-edit-category-count{font-size:10px}
.budget-category-rollup small{font-size:9px}
.budget-category-rollup strong{font-size:12.5px}
.budget-line-summary-item{font-size:12px}
.budget-line-summary-amount{font-size:13px}
.budget-guidance span,.budget-note{font-size:11px}

/* Savings */
.savings-fund-main strong{font-size:12.5px}
.savings-fund-main small{font-size:10px}
.savings-fund-amount{font-size:15px}
.savings-category-head strong{font-size:12.5px}
.savings-category-head small{font-size:10px}
.savings-category-head>span{font-size:12.5px}

/* Position */
.account-register-head p{font-size:11.5px}
.account-sort>span{font-size:9px}
.account-sort-option{font-size:10px}
.account-card-title>strong{font-size:13px}
.account-card-meta{font-size:10.5px}
.account-card-original{font-size:10.5px}
.account-usage{font-size:10px}
.account-usage small{font-size:9.5px}

/* Empty/security states */
.empty-state{font-size:12px}
.action-empty p{font-size:11.5px}
.security-account-summary small{font-size:9px}
.security-account-summary strong{font-size:12.5px}
.security-account-summary span{font-size:10px}

@media(max-width:1180px){
  :root{--ui-sidebar:224px}
  .app-shell{grid-template-columns:var(--ui-sidebar) minmax(0,1fr)}
  .content,.topbar{padding-left:24px;padding-right:24px}
}
@media(max-width:980px){
  .app-shell{grid-template-columns:1fr}
  .nav-item{font-size:11.5px}
}
@media(max-width:760px){
  body{font-size:14px}
  .content{padding:19px 16px 44px}
  h1{font-size:22px}
  .panel{padding:17px 16px}
  .metric-card span{font-size:10.5px}
  .dashboard-health-scale-zone span,.dashboard-health-deficit-zone span{font-size:10px}
  .dashboard-health-scale-zone small,.dashboard-health-deficit-zone small{font-size:9px}
}

/* v0.5.0-HF2 — Luminous Spectrum Interface
   Deliberate opposite-direction visual hotfix: bright, expressive, premium and data-safe.
   Financial, budget, credit, debt, savings and resilience logic remains unchanged. */
:root{
  --navy:#24205B;
  --navy2:#4E5FD6;
  --gold:#F4B640;
  --teal:#17B8B1;
  --bg:#FBFAFF;
  --surface:rgba(255,255,255,.86);
  --surface-2:#FCFAFF;
  --surface-3:#F5F1FF;
  --border:#E7DFF7;
  --border-strong:#D7CCEE;
  --text:#24213F;
  --muted:#716E8B;
  --muted-2:#9994B1;
  --soft:#F3EFFF;
  --graphite:#211D4B;
  --graphite-2:#302865;
  --critical:#F04455;
  --critical-soft:#FFF0F2;
  --severe:#FF7A4D;
  --severe-soft:#FFF1E9;
  --warning:#D58A08;
  --warning-soft:#FFF6D9;
  --stable:#2D9D84;
  --stable-soft:#E8FBF5;
  --strong:#178B93;
  --strong-soft:#E5F9FB;
  --resilient:#3371D6;
  --resilient-soft:#EBF2FF;
  --spectrum-coral:#FF625B;
  --spectrum-peach:#FF9A78;
  --spectrum-pink:#F875AF;
  --spectrum-violet:#7C5CFC;
  --spectrum-periwinkle:#6776F7;
  --spectrum-aqua:#20C7BF;
  --spectrum-mint:#7EDFCB;
  --spectrum-yellow:#F8C85A;
  --spectrum-sky:#54A7F8;
  --shadow-sm:0 8px 24px rgba(91,72,160,.055),0 1px 3px rgba(67,49,115,.035);
  --shadow-md:0 18px 46px rgba(91,72,160,.10),0 4px 12px rgba(67,49,115,.055);
  --shadow-float:0 26px 70px rgba(97,74,173,.14),0 7px 22px rgba(255,98,91,.06);
  --radius-sm:11px;
  --radius-md:15px;
  --radius-lg:20px;
  --radius-xl:26px;
}

html{background:#FBFAFF}
body{
  color:var(--text);
  background:
    radial-gradient(circle at 76% -5%,rgba(124,92,252,.075),transparent 28rem),
    radial-gradient(circle at 34% 15%,rgba(255,154,120,.055),transparent 25rem),
    linear-gradient(135deg,#FFFDFC 0%,#FBFAFF 48%,#F8FAFF 100%);
}
::selection{background:#E6DDFF;color:#31245D}

/* Light chromatic navigation — the visual opposite of the graphite shell. */
.sidebar{
  isolation:isolate;
  overflow:hidden;
  color:#25204C;
  background:
    radial-gradient(circle at 105% 24%,rgba(255,138,109,.24),transparent 34%),
    radial-gradient(circle at -20% 67%,rgba(247,111,178,.19),transparent 35%),
    radial-gradient(circle at 112% 92%,rgba(83,164,250,.29),transparent 38%),
    linear-gradient(180deg,#FFF8EF 0%,#FFF9FC 45%,#F3F0FF 100%);
  border-right:1px solid rgba(121,91,210,.13);
  box-shadow:14px 0 44px rgba(73,53,130,.045);
}
.sidebar:before,.sidebar:after{content:'';position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(.2px)}
.sidebar:before{width:210px;height:210px;right:-116px;top:145px;background:linear-gradient(145deg,rgba(255,118,101,.18),rgba(255,199,149,.10));border:1px solid rgba(255,255,255,.62)}
.sidebar:after{width:285px;height:285px;left:-160px;bottom:-90px;background:linear-gradient(145deg,rgba(124,92,252,.34),rgba(66,178,255,.28));box-shadow:80px -45px 0 -46px rgba(248,117,175,.16)}
.brand,.nav,.sidebar-user{position:relative;z-index:1}
.brand{border-bottom:1px solid rgba(94,72,157,.10)}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding-right:0}
.brand-primary{color:#272255;font-size:12px;font-weight:850;letter-spacing:.18em;line-height:1}
.brand-sub{position:static;color:var(--spectrum-coral);font-size:32px;font-weight:820;letter-spacing:-.035em;line-height:.96;text-shadow:0 8px 24px rgba(255,98,91,.12)}
.brand-caption{max-width:175px;color:#3E3966;font-size:10px;font-weight:620;line-height:1.45;letter-spacing:0;text-transform:none}
.sidebar-section-label{color:#8D87AA;font-size:9px;letter-spacing:.1em}
.nav-item{
  color:#403B69;
  border-color:transparent;
  border-radius:14px;
  font-weight:700;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
.nav-item:hover{color:#2D2858;background:rgba(255,255,255,.62);border-color:rgba(126,105,198,.10);transform:translateX(2px)}
.nav-item.active{
  color:#fff;
  border-color:rgba(255,255,255,.35);
  background:linear-gradient(135deg,#FF745F 0%,#FF5D67 56%,#F566A0 130%);
  box-shadow:0 12px 28px rgba(244,81,93,.22),inset 0 1px 0 rgba(255,255,255,.28);
}
.nav-item.active:after{display:none}
.nav-icon{width:31px;height:31px;flex-basis:31px;border-radius:10px;background:rgba(124,92,252,.08);color:#51498A}
.nav-item:hover .nav-icon{color:#6D58CE;background:rgba(124,92,252,.11)}
.nav-item.active .nav-icon{color:#fff;background:rgba(255,255,255,.16)}
.nav-icon svg{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important}
.nav-subgroup{padding-left:55px;color:#9A94B1;font-size:9.5px}
.sidebar-user{
  padding:11px 11px;
  border:1px solid rgba(132,111,204,.15);
  border-radius:17px;
  background:rgba(255,255,255,.58);
  box-shadow:0 12px 28px rgba(81,59,140,.07),inset 0 1px 0 rgba(255,255,255,.7);
  backdrop-filter:blur(12px);
}
.sidebar-user-avatar{border:0;border-radius:50%;background:linear-gradient(135deg,#20C7BF,#5886F8);color:#fff;box-shadow:0 5px 14px rgba(32,199,191,.22)}
.sidebar-user-copy strong{color:#29244F}.sidebar-user-copy small{color:#8580A1}.sidebar-signout{color:#716B92}.sidebar-signout:hover{color:var(--spectrum-coral)}

/* Airy translucent top context bar. */
.topbar{
  background:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(129,106,198,.12);
  box-shadow:0 7px 30px rgba(74,53,125,.025);
  backdrop-filter:blur(20px) saturate(1.15);
}
.page-kicker{color:#8D84B0}
h1,h2,h3{color:#26214E}
h1{font-weight:800;letter-spacing:-.025em}
.period-control{border-color:#E5DDF7;background:rgba(248,245,255,.88);color:#777093;box-shadow:0 5px 15px rgba(91,70,154,.045)}
.period-select{background:transparent;color:#312B5B;font-weight:720}
.button{
  border-color:#E2D9F5;
  border-radius:12px;
  background:rgba(255,255,255,.86);
  color:#433B72;
  box-shadow:0 5px 15px rgba(85,62,144,.045);
}
.button:hover{border-color:#CFC0F1;background:#fff;color:#5944B7;box-shadow:0 10px 24px rgba(89,67,155,.10)}
.button.primary{
  border-color:transparent;
  background:linear-gradient(135deg,#FF765D,#FF5B62 64%,#F5689F 125%);
  color:#fff;
  box-shadow:0 12px 28px rgba(255,91,98,.22),inset 0 1px 0 rgba(255,255,255,.25);
}
.button.primary:hover{border-color:transparent;background:linear-gradient(135deg,#FF684F,#F84F5A 64%,#EB5E96 125%);box-shadow:0 15px 34px rgba(246,77,91,.27)}

/* Workspace navigation and surfaces. */
.tabs,.subtabs{
  border-color:#E5DDF7;
  border-radius:15px;
  background:rgba(243,239,255,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter:blur(10px);
}
.tab,.subtab{border-radius:11px;color:#736B92}
.tab:hover,.subtab:hover{color:#493D89;background:rgba(255,255,255,.72)}
.tab.active,.subtab.active{color:#fff;background:linear-gradient(135deg,#7660EC,#6557E7 62%,#647AF5);box-shadow:0 8px 18px rgba(104,84,222,.18)}
.panel,.metric-card{
  border-color:rgba(138,111,204,.16);
  background:rgba(255,255,255,.83);
  box-shadow:var(--shadow-sm);
  backdrop-filter:blur(10px) saturate(1.05);
}
.panel{border-radius:20px}
.metric-card{border-radius:17px}
.metric-card span{color:#817A9A}.metric-card strong{color:#26214E}.metric-card small{color:#9C96B1}
.metric-link:hover{border-color:#D0C2EF;box-shadow:var(--shadow-md)}
.negative-value{color:var(--critical)!important}
.notice{background:#FFF9E8;border-color:#F5DFA1;color:#775A1D}.notice.subtle{background:#F8F5FF;border-color:#E5DDF7;color:#756E91}
.alert.success{background:#ECFCF7;border-color:#BDEBDD;color:#24715F}.alert.error{background:#FFF0F2;border-color:#FFD1D7;color:#A72E42}
.inline-warning{background:#FFF8E3;border-color:#F4D995;color:#85631E}
.badge.neutral{background:#F3EFFF;color:#736A94;border-color:#E4DBF7}.badge.anchor{background:#EDF1FF;color:#5062B7;border-color:#DDE5FF}.badge.warning{background:#FFF5D7;color:#96660B;border-color:#F8E1A0}.badge.danger{background:#FFF0F2;color:#B13649;border-color:#FFD2D8}

/* Dashboard: colorful flagship rather than conservative statement card. */
.dashboard-health-indicator{
  border:0;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 92% 12%,rgba(255,255,255,.23),transparent 23%),
    radial-gradient(circle at 74% 108%,rgba(255,209,155,.20),transparent 34%),
    linear-gradient(130deg,#FF5263 0%,#FF6B5C 46%,#FF9A75 100%);
  box-shadow:0 26px 58px rgba(244,72,87,.23),0 7px 18px rgba(255,119,87,.12);
}
.dashboard-health-indicator:before{
  left:auto;right:-7%;top:-42%;bottom:auto;width:58%;height:150%;
  border:0;border-radius:50%;
  background:repeating-radial-gradient(ellipse at center,transparent 0 19px,rgba(255,255,255,.105) 20px 21px,transparent 22px 39px);
  opacity:.78;
}
.dashboard-health-indicator:after{content:'';position:absolute;left:-80px;bottom:-145px;width:330px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(255,205,180,.24),transparent 69%);pointer-events:none}
.dashboard-health-indicator>*{position:relative;z-index:1}
.dashboard-health-indicator-head{flex-direction:row-reverse;align-items:flex-start}
.dashboard-health-net-position{text-align:left;min-width:280px}
.dashboard-health-status-copy{text-align:right;margin-left:auto}
.dashboard-health-status-copy>span,.dashboard-health-net-position>span,.dashboard-health-evidence>div>span{color:rgba(255,255,255,.78)}
.dashboard-health-status-line{align-items:flex-end;flex-direction:column;gap:7px}
.dashboard-health-status-line strong{
  display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;
  background:rgba(173,32,52,.20);color:#fff!important;font-size:14px;letter-spacing:.01em;text-transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)
}
.dashboard-health-status-line small{color:rgba(255,255,255,.80);font-size:11px}
.dashboard-health-net-position strong,.dashboard-health-net-position strong.negative-value{color:#fff!important;font-size:42px;font-weight:820;letter-spacing:-.045em;text-shadow:0 3px 16px rgba(142,30,45,.12)}
.dashboard-health-net-position small{color:rgba(255,255,255,.78)}
.dashboard-health-deficit-message{border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.11);backdrop-filter:blur(9px)}
.dashboard-health-deficit-message span{color:rgba(255,255,255,.90)}
.dashboard-health-track{gap:6px}
.dashboard-health-deficit-zone,.dashboard-health-scale-zone,
.dashboard-health-scale-zone.critical,.dashboard-health-scale-zone.severe,.dashboard-health-scale-zone.fragile,.dashboard-health-scale-zone.basic,.dashboard-health-scale-zone.stable,.dashboard-health-scale-zone.strong,.dashboard-health-scale-zone.resilient{
  min-height:58px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:11px;
  background:rgba(255,255,255,.105);
  color:rgba(255,255,255,.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.dashboard-health-deficit-zone{border-right:1px solid rgba(255,255,255,.17)}
.dashboard-health-deficit-zone.active,.dashboard-health-scale-zone.active{
  color:#B32B3D;
  background:#fff;
  border-color:#fff;
  outline:0;
  box-shadow:0 10px 24px rgba(150,39,55,.17);
}
.dashboard-health-deficit-zone.active:after,.dashboard-health-scale-zone.active:after{border-top-color:#fff}
.dashboard-health-break-even-label{color:rgba(255,255,255,.73)}
.dashboard-health-break-even-label strong{color:#fff}.dashboard-health-break-even-label span{color:#fff}
.dashboard-health-evidence{
  gap:0;padding:0;border:1px solid rgba(255,255,255,.19);border-radius:16px;background:rgba(255,255,255,.105);overflow:hidden;backdrop-filter:blur(10px)
}
.dashboard-health-evidence>div{padding:14px 16px!important}.dashboard-health-evidence>div+div{border-left:1px solid rgba(255,255,255,.18)}
.dashboard-health-evidence strong{color:#fff}.dashboard-health-evidence small{color:rgba(255,255,255,.74)}
.dashboard-health-method{color:rgba(255,255,255,.68)!important}
/* Support the same luminous system if the user's status improves. */
.dashboard-health-critical{background:linear-gradient(130deg,#FF5D6B,#FF8A72)}
.dashboard-health-severe{background:linear-gradient(130deg,#FF7954,#F6AE66)}
.dashboard-health-fragile{background:linear-gradient(130deg,#F4A83C,#F4C960)}
.dashboard-health-basic{background:linear-gradient(130deg,#AFCB5B,#76D1A6)}
.dashboard-health-stable{background:linear-gradient(130deg,#45BF9C,#37BEB8)}
.dashboard-health-strong{background:linear-gradient(130deg,#28AFB1,#4D9AEF)}
.dashboard-health-resilient{background:linear-gradient(130deg,#338EBE,#6676ED)}

.dashboard-headline-metrics .metric-card:first-child{background:linear-gradient(135deg,rgba(232,255,252,.96),rgba(246,255,254,.86));border-color:#C6F1E9}
.dashboard-headline-metrics .metric-card:first-child:before,.dashboard-headline-metrics .metric-card:last-child:before{content:'';display:block;width:30px;height:4px;margin-bottom:13px;border-radius:99px;background:linear-gradient(90deg,#20C7BF,#5AA6F8)}
.dashboard-headline-metrics .metric-card:last-child{background:linear-gradient(135deg,rgba(255,242,243,.96),rgba(255,249,247,.88));border-color:#FFD9DA}
.dashboard-headline-metrics .metric-card:last-child:before{background:linear-gradient(90deg,#FF625B,#F875AF)}

.dashboard-monthly-outlook{border-color:#DFD5FB;background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(249,246,255,.90));box-shadow:0 17px 42px rgba(104,82,173,.08)}
.dashboard-monthly-outlook .panel-head h3{color:#5B43BE}
.dashboard-outlook-grid{gap:10px}
.dashboard-outlook-item{border-color:#ECE5FA;border-radius:15px;background:rgba(255,255,255,.88);box-shadow:0 7px 18px rgba(90,70,148,.045)}
.dashboard-outlook-item span{color:#8174A9}.dashboard-outlook-item strong{color:#282350}.dashboard-outlook-item small{color:#9A90B8}
.dashboard-outlook-item:nth-child(1){box-shadow:inset 0 3px 0 rgba(32,199,191,.70),0 7px 18px rgba(90,70,148,.04)}
.dashboard-outlook-item:nth-child(2){box-shadow:inset 0 3px 0 rgba(255,98,91,.66),0 7px 18px rgba(90,70,148,.04)}
.dashboard-outlook-item:nth-child(3){box-shadow:inset 0 3px 0 rgba(124,92,252,.58),0 7px 18px rgba(90,70,148,.04)}
.dashboard-outlook-budget{background:linear-gradient(135deg,#FFFDFC,#F8F4FF);box-shadow:inset 0 3px 0 rgba(248,200,90,.82),0 7px 18px rgba(90,70,148,.04)}
.dashboard-outlook-budget-breakdown{border-color:#ECE4F8}

.dashboard-chart-panel{border-color:#E8E0F8;background:rgba(255,255,255,.88);box-shadow:0 16px 36px rgba(86,65,150,.065)}
.dashboard-chart-head h3{color:#5A43B6}
.dashboard-range-toggle{border-color:#E3DAF6;background:#F5F1FF}.dashboard-range-option{color:#7D739A}.dashboard-range-option:hover{color:#6047BB}.dashboard-range-option.active{color:#fff;background:linear-gradient(135deg,#7B5CF4,#6573EF);box-shadow:0 6px 15px rgba(105,84,224,.18)}
.legend-swatch.income{background:#17B8B1}.legend-swatch.expenditure{background:#FF625B}.legend-swatch.savings{background:#8A5DF6}
.dashboard-grid-line{stroke:#EEEAF6}.dashboard-axis-label{fill:#8A84A2}
.dashboard-chart-line.income{stroke:#17B8B1}.dashboard-chart-line.expenditure{stroke:#FF625B}.dashboard-chart-line.savings{stroke:#8A5DF6}
.dashboard-chart-point.income{fill:#17B8B1}.dashboard-chart-point.expenditure{fill:#FF625B}.dashboard-chart-point.savings{fill:#8A5DF6}
.dashboard-chart-foot,.dashboard-position-summary{border-color:#ECE5F5;color:#7C7594}.dashboard-chart-foot strong,.dashboard-position-summary strong{color:#30285C}
.dashboard-bar-track{height:8px;background:#F0ECF8}.dashboard-bar-fill.cash{background:linear-gradient(90deg,#4E72E4,#657CF2)}.dashboard-bar-fill.receivable{background:linear-gradient(90deg,#17B8B1,#62D5C9)}.dashboard-bar-fill.asset{background:linear-gradient(90deg,#F2B63D,#F9CF6D)}.dashboard-bar-fill.liability{background:linear-gradient(90deg,#FF625B,#F8758B)}.dashboard-bar-fill.saving-purpose{background:linear-gradient(90deg,#17B8B1,#52CFC3)}
.dashboard-position-context a{border-color:#E9E1F6;border-radius:14px;background:linear-gradient(135deg,#FAF8FF,#FFF)}.dashboard-position-context a:hover{border-color:#D1C4EF;background:#fff}
.dashboard-savings-reserve-summary{border-color:#DBF1EC;border-radius:15px;background:linear-gradient(135deg,#F1FFFC,#F9FCFF)}
.dashboard-savings-purpose-row{padding:10px 0;border-color:#EEE8F7}
.savings-purpose-bars .dashboard-savings-purpose-row:nth-child(4n+1) .dashboard-bar-fill{background:linear-gradient(90deg,#20C7BF,#62D6C8)}
.savings-purpose-bars .dashboard-savings-purpose-row:nth-child(4n+2) .dashboard-bar-fill{background:linear-gradient(90deg,#F4B640,#FFD774)}
.savings-purpose-bars .dashboard-savings-purpose-row:nth-child(4n+3) .dashboard-bar-fill{background:linear-gradient(90deg,#805EF3,#A987FF)}
.savings-purpose-bars .dashboard-savings-purpose-row:nth-child(4n+4) .dashboard-bar-fill{background:linear-gradient(90deg,#4B9EF4,#72B9FF)}
.dashboard-savings-target-summary{border-color:#E2D9F5;background:linear-gradient(135deg,#F9F6FF,#FFF)}
.dashboard-attention-list{gap:8px}
.dashboard-attention-row{padding:11px 12px;border:1px solid #EEE6F8!important;border-radius:14px;background:#FCFBFF}
.dashboard-attention-row.danger{background:#FFF4F5;border-color:#FFE1E4!important}.dashboard-attention-row.warning{background:#FFFAEA;border-color:#FBE8AF!important}.dashboard-attention-row.neutral{background:#EFFAFF;border-color:#D9F0F7!important}
.dashboard-attention-row:hover{transform:translateX(2px);background:#fff;box-shadow:0 8px 20px rgba(77,58,133,.06)}
.attention-dot{width:10px;height:10px}.dashboard-attention-row.danger .attention-dot{background:#FF5966;box-shadow:0 0 0 5px rgba(255,89,102,.10)}.dashboard-attention-row.warning .attention-dot{background:#F2B43A;box-shadow:0 0 0 5px rgba(242,180,58,.11)}.dashboard-attention-row.neutral .attention-dot{background:#45A9EE;box-shadow:0 0 0 5px rgba(69,169,238,.10)}
.attention-copy strong{color:#342D61}.attention-copy small{color:#7F7898}.attention-arrow{color:#9B8EC5}.dashboard-attention-row:hover .attention-copy strong{color:#6550C5}

/* Data workspaces inherit the chromatic system without losing analytical discipline. */
.table-wrap{border-color:#E6DEF5;border-radius:15px;background:rgba(255,255,255,.90);box-shadow:0 10px 28px rgba(77,57,133,.04)}
th{background:#F7F3FF;color:#756C98}.table-wrap tbody tr:hover{background:#FCFAFF}td{border-bottom-color:#EFE9F7}
.field,.readonly-field{border-color:#DDD3F0;border-radius:12px;background:rgba(255,255,255,.92)}.field:hover{border-color:#CBBCEC}.field:focus{border-color:#8064DC;box-shadow:0 0 0 4px rgba(124,92,252,.10)}.readonly-field{background:#F8F5FF}
.inline-create,.recurring-fields,.form-placeholder{border-color:#E5DCF5;background:#FAF8FF}
.budget-pending-strip>span{border-color:#E6DDF6;border-radius:14px;background:linear-gradient(135deg,#FCFAFF,#FFF)}
.budget-category-summary,.budget-edit-category,.budget-line-shell{border-color:#E5DDF4;border-radius:15px;background:rgba(255,255,255,.91);box-shadow:0 8px 22px rgba(77,58,134,.04)}
.budget-category-summary[open]>.budget-category-summary-head,.budget-edit-category[open]>.budget-edit-category-head{background:#F9F6FF;border-color:#E9E1F6}
.budget-category-title>strong{color:#393069}.budget-category-rollup strong{color:#31285B}.budget-edit-category-lines{background:#F8F5FF}
.budget-guidance span,.budget-note{background:#F6F2FF;color:#77708D}.budget-guidance strong{color:#4A3F80}
.savings-position-panel{border-color:#D9F0EA;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(244,255,252,.88))}
.savings-fund-row{border-color:#ECE6F6}.savings-fund-main strong,.savings-category-head strong{color:#3A316B}.savings-fund-amount,.savings-category-head>span{color:#2B2556}.savings-progress-track{background:#F0ECF8}.savings-progress-line{background:linear-gradient(90deg,#20C7BF,#637CF4)}
.savings-category-block{border-color:#E5DCF4;border-radius:17px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(77,58,134,.045)}.savings-category-head{border-color:#EEE7F7}
.account-sort{border-color:#E2D8F3;background:#F3EFFF}.account-sort-option.active{color:#fff;background:linear-gradient(135deg,#795CEB,#6275F2);box-shadow:0 6px 16px rgba(102,83,219,.16)}
.account-card{position:relative;overflow:hidden;border-color:#E5DDF5;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 10px 28px rgba(77,57,133,.045)}
.account-card:before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#20C7BF,#6B78F4,#F875AF)}
.account-card:hover{border-color:#D1C3EF;box-shadow:0 18px 42px rgba(83,61,146,.10)}.account-card-title>strong{color:#3A3168}.account-card-balance{color:#292453}.account-card-original{background:#F6F2FF;color:#746D91}.account-card-original strong{color:#433A72}
.empty-state{border-color:#DCCFF1;background:linear-gradient(135deg,#FBF9FF,#FFF);color:#7B7491}
.security-account-summary,.security-recent-row{border-color:#E6DDF5;background:#FAF8FF}.security-account-summary strong,.security-recent h4,.security-recent-row strong{color:#3D346E}.security-dot.success{background:#20BFAE}.security-dot.failed{background:#F05C69}

/* Authentication follows the same luminous identity. */
.auth-body{background:radial-gradient(circle at 18% 15%,rgba(255,145,110,.18),transparent 28rem),radial-gradient(circle at 84% 80%,rgba(118,91,244,.20),transparent 31rem),#FBFAFF}
.auth-shell{border-color:#E3D9F5;border-radius:28px;box-shadow:0 34px 90px rgba(78,56,137,.16)}
.auth-brand-pane{background:linear-gradient(145deg,#FFF1E8,#F9EFFF 58%,#E9F5FF);color:#272152}
.auth-brand-pane:before{background:radial-gradient(circle at 75% 15%,rgba(255,106,91,.23),transparent 36%),radial-gradient(circle at 10% 90%,rgba(99,112,242,.27),transparent 42%)}
.auth-brand-primary{color:#272152}.auth-brand-sub{color:#FF625B}.auth-brand-caption,.auth-brand-note{color:#625B83}.auth-kicker{color:#7255D6}.auth-card-head h1{color:#2D275B}

@media(max-width:1180px){
  .nav-icon{width:29px;height:29px;flex-basis:29px}
}
@media(max-width:980px){
  .sidebar{background:linear-gradient(115deg,#FFF7EE,#FFF8FC 48%,#F2EDFF)}
  .brand{align-items:center}.brand-lockup{flex-direction:row;align-items:baseline;gap:8px}.brand-sub{font-size:23px}.brand-caption{color:#756E91}
  .nav-item.active{box-shadow:0 7px 18px rgba(244,81,93,.18)}
  .nav-icon{width:26px;height:26px;flex-basis:26px}
  .sidebar-user{background:rgba(255,255,255,.70)}
}
@media(max-width:760px){
  .dashboard-health-indicator-head{flex-direction:column-reverse}
  .dashboard-health-status-copy{text-align:left;margin-left:0}
  .dashboard-health-status-line{align-items:flex-start}
  .dashboard-health-net-position{min-width:0}
  .dashboard-health-net-position strong,.dashboard-health-net-position strong.negative-value{font-size:36px}
  .dashboard-health-deficit-zone{border-left:1px solid rgba(255,255,255,.17)}
  .dashboard-health-evidence>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
}
@media(max-width:520px){
  .brand-sub{font-size:21px}.nav-icon{display:none}.sidebar-user{border-radius:14px}
}

/* Wide-screen Dashboard composition inspired by the luminous concept board. */
@media(min-width:1320px){
  .content-inner:has(> .dashboard-health-indicator){
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);
    gap:18px;
    align-items:stretch;
  }
  .content-inner:has(> .dashboard-health-indicator)>.dashboard-health-indicator{grid-column:1;grid-row:1;margin-bottom:0}
  .content-inner:has(> .dashboard-health-indicator)>.dashboard-monthly-outlook{grid-column:2;grid-row:1;margin-bottom:0;display:flex;flex-direction:column}
  .content-inner:has(> .dashboard-health-indicator)>.dashboard-monthly-outlook .dashboard-outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr));flex:1;align-content:start}
  .content-inner:has(> .dashboard-health-indicator)>.dashboard-intro-after-health{grid-column:1/-1;grid-row:2;margin:0 0 -2px}
  .content-inner:has(> .dashboard-health-indicator)>.dashboard-headline-metrics{grid-column:1/-1;grid-row:3;margin:0}
  .content-inner:has(> .dashboard-health-indicator)>.dashboard-grid-wide{grid-column:1/-1;grid-row:4;margin:0}
  .content-inner:has(> .dashboard-health-indicator)>.dashboard-grid-savings{grid-column:1/-1;grid-row:5;margin:0}
}

/* v0.5.0-HF2R2 — per-account balance privacy controls. */
.account-card-balance-row{display:flex;align-items:center;gap:9px;min-height:32px}
.account-card-balance-mask{color:#292453;font-size:22px;font-weight:780;line-height:1;letter-spacing:.09em;white-space:nowrap}
.account-balance-toggle{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex:0 0 31px;padding:0;border:1px solid #E1D7F1;border-radius:10px;background:rgba(250,247,255,.92);color:#7467A3;cursor:pointer;box-shadow:0 4px 12px rgba(82,61,139,.055);transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
.account-balance-toggle:hover{transform:translateY(-1px);border-color:#CABBEA;background:#fff;color:#6652C7;box-shadow:0 8px 18px rgba(82,61,139,.10)}
.account-balance-toggle:focus-visible{outline:0;border-color:#8267DD;box-shadow:0 0 0 4px rgba(124,92,252,.13)}
.account-balance-toggle[aria-pressed="true"]{border-color:#C8BBEB;background:linear-gradient(135deg,#F2ECFF,#FFF4FA);color:#6B54CF}
.account-eye-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}
.account-eye-icon svg{display:block;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
.account-card-original{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
.account-card-original-mask{color:#433A72;letter-spacing:.08em}
.account-card [hidden]{display:none!important}
@media(max-width:520px){.account-card-balance-mask{font-size:20px}.account-balance-toggle{width:30px;height:30px;flex-basis:30px}}

/* v0.5.0-HF2R3 — percentage-based dynamic resilience marker. */
.dashboard-health-track{overflow:visible}
.dashboard-health-deficit-zone,.dashboard-health-scale-zone{overflow:visible}
.dashboard-health-deficit-zone.active:after,.dashboard-health-scale-zone.active:after{display:none!important}
.dashboard-health-position-marker{
  position:absolute;
  left:var(--health-marker-position,50%);
  bottom:-12px;
  width:16px;
  height:14px;
  transform:translateX(-50%);
  background:#2F275C;
  clip-path:polygon(50% 100%,0 0,100% 0);
  filter:drop-shadow(0 3px 4px rgba(54,39,96,.22));
  pointer-events:none;
  z-index:5;
  transition:left .35s cubic-bezier(.2,.75,.25,1);
}
.dashboard-health-scale-zone small{white-space:nowrap}
.dashboard-health-scale-zone.basic small,.dashboard-health-scale-zone.stable small,.dashboard-health-scale-zone.strong small{font-size:7px}
@media(max-width:760px){
  .dashboard-health-position-marker{bottom:5px;width:13px;height:11px;filter:drop-shadow(0 2px 3px rgba(54,39,96,.18))}
  .dashboard-health-scale-zone small{font-size:8px!important}
}

/* v0.5.0-HF2R4 — controlled resilience emergency adjustment factor. */
.resilience-factor-panel{grid-column:1/-1;position:relative;overflow:hidden}
.resilience-factor-panel:before{content:"";position:absolute;inset:0 auto auto 0;width:190px;height:4px;border-radius:0 0 999px 0;background:linear-gradient(90deg,#ff7b72,#8d77ff,#4cc9c0)}
.resilience-factor-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.resilience-factor-summary>div{padding:15px 16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(247,243,255,.72))}
.resilience-factor-summary small,.resilience-factor-summary span{display:block;color:var(--muted)}
.resilience-factor-summary strong{display:block;margin:5px 0 4px;font-size:22px;line-height:1.1}
.factor-field{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:10px;align-items:center}.factor-field span{font-size:12px;color:var(--muted);font-weight:750}
.textarea-field{min-height:104px;padding-top:10px;padding-bottom:10px;resize:vertical}
.resilience-factor-history{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.resilience-factor-history h4{margin:0 0 12px}.wrap-cell{white-space:normal;min-width:260px;max-width:520px;line-height:1.45}.empty-state.compact{min-height:72px}
@media(max-width:800px){.resilience-factor-summary{grid-template-columns:1fr}.factor-field{grid-template-columns:1fr}}
