@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";.shell{min-height:100vh;display:flex}.sidebar{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--hairline);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar__brand{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5);display:flex}.sidebar__mark{background:var(--accent);width:28px;height:28px;color:var(--on-accent);font-family:var(--font-heading);border-radius:8px;justify-content:center;align-items:center;font-weight:500;display:flex}.sidebar__name{font-family:var(--font-heading);font-weight:500;font-size:var(--text-lg)}.sidebar__nav{padding:var(--space-1) var(--space-4);flex-direction:column;gap:6px;display:flex}.nav-item{height:40px;padding:0 var(--space-3);color:var(--ink-secondary);border-radius:10px;align-items:center;font-weight:500;text-decoration:none;display:flex}.nav-item:hover,.nav-item--active{background:var(--accent-wash);color:var(--accent)}.sidebar__user{align-items:flex-start;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--hairline);flex-direction:column;margin-top:auto;display:flex}.sidebar__username{overflow-wrap:anywhere;font-weight:500}.shell__main{flex-direction:column;flex:auto;min-width:0;display:flex}.topbar{min-height:var(--header-height);align-items:center;gap:var(--space-3);padding:0 var(--space-6);background:var(--surface);border-bottom:1px solid var(--hairline);flex:none;display:flex}.topbar h1{overflow-wrap:anywhere;margin:0}.topbar__menu{font:inherit;font-size:var(--text-xl);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--surface-sunk);color:var(--ink);cursor:pointer;border:none;line-height:1;display:none}.content{width:100%;max-width:var(--content-max);padding:var(--space-5) var(--space-6) var(--space-7);overflow-wrap:anywhere;margin:0 auto}.shell__backdrop{display:none}@media (width<=768px){.sidebar{z-index:20;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.shell__backdrop{z-index:10;background:var(--overlay);display:block;position:fixed;inset:0}.topbar{padding:0 var(--space-4)}.topbar__menu{display:block}.content{padding:var(--space-4) var(--space-4) var(--space-6)}.content table{display:block;overflow-x:auto}}:root{--bg:#f6f5f0;--surface:#fff;--surface-sunk:#eeece4;--ink:#16211d;--ink-secondary:#52625c;--ink-muted:#8b968f;--hairline:#16211d1a;--accent:#1e4d43;--accent-hover:#163a32;--accent-soft:#b08d3e;--accent-wash:#1e4d4314;--on-accent:#fff;--status-good:#0ca30c;--status-bad:#d03b3b;--class-property:#eda100;--class-retirement:#1baf7a;--class-investments:#2a78d6;--class-vehicle:#4a3aa7;--class-cash-savings:#0e9aa7;--class-other-asset:#8f8a7d;--class-home-loan:#b3402f;--class-vehicle-finance:#c9683a;--class-credit-card:#a0316a;--class-personal-loan:#8f5a2b;--class-other-liability:#6e6a66;--font-heading:"Fraunces", Georgia, serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:1.1875rem;--text-xl:1.375rem;--text-hero:2.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-card:14px;--radius-control:9px;--radius-pill:999px;--shadow-focus:0 0 0 3px var(--accent-wash);--content-max:1040px;--sidebar-width:260px;--header-height:72px;--bar-height:8px;--auth-width:26rem;--overlay:#16211d66}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-heading);color:var(--ink);font-weight:500;line-height:1.2}h1{font-size:var(--text-xl);margin:0 0 var(--space-4)}h2{font-size:var(--text-lg);margin:0 0 var(--space-3)}a{color:var(--accent)}a:hover{color:var(--accent-soft)}small{font-size:var(--text-sm);color:var(--ink-muted)}hr{border:none;border-top:1px solid var(--hairline)}dl{gap:var(--space-2) var(--space-5);margin:0 0 var(--space-4);grid-template-columns:max-content 1fr;display:grid}dt{font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;align-self:center;font-weight:600}dd{margin:0}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--hairline);font-weight:600}td{font-size:var(--text-sm);padding:var(--space-3);border-bottom:1px solid var(--hairline)}tr:last-child td{border-bottom:none}[role=alert]{color:var(--status-bad)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-5);margin-bottom:var(--space-4)}.card>h2{margin-bottom:var(--space-3)}.card>:last-child{margin-bottom:0}.btn{font:inherit;font-size:var(--text-md);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;font-weight:600;line-height:1.2;text-decoration:none;display:inline-block}.btn:hover{background:var(--accent-hover);color:var(--on-accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background:var(--surface-sunk);color:var(--ink)}.btn--secondary:hover{background:var(--accent-wash);color:var(--accent)}.field{margin:0 0 var(--space-4)}.field__label{font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1);font-weight:600;display:block}.field__control{width:100%;max-width:28rem;min-height:38px;font:inherit;font-size:var(--text-md);color:var(--ink);background:var(--surface-sunk);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);border:1px solid #0000;display:block}.field__control:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.field__control:disabled{opacity:.6}textarea.field__control{resize:vertical}.field__hint{margin-top:var(--space-1);display:block}.money{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.money--bad{color:var(--status-bad)}.actions{align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}td .actions{flex-wrap:nowrap;margin-top:0}.page-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.page-head__meta{font-size:var(--text-sm);color:var(--ink-secondary);margin:0}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.dashboard{gap:var(--space-4);grid-template-columns:1.05fr 1fr;align-items:start;display:grid}.dashboard>.card{margin-bottom:0}.hero__label{font-size:var(--text-sm);color:var(--ink-secondary);margin:0}.hero__value{margin:var(--space-2) 0;font-family:var(--font-heading);font-weight:500;font-size:var(--text-hero);line-height:1.05}.hero__value .money{font-family:inherit}.hero__sub{font-size:var(--text-sm);color:var(--ink-muted);margin:0}.hero__split{gap:var(--space-5);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex}.hero__split>div{gap:var(--space-1);flex-direction:column;display:flex}.hero__k{font-size:var(--text-xs);color:var(--ink-muted)}.hero__v{font-size:var(--text-lg)}.bars+.bars{margin-top:var(--space-5)}.bars__title{margin:0 0 var(--space-3);font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.bar-row+.bar-row{margin-top:var(--space-3)}.bar-row__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.bar-row__name{align-items:center;gap:var(--space-2);font-weight:500;display:flex}.bar-row__figs{align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);display:flex}.bar-row__pct{text-align:right;min-width:3.5em;color:var(--ink-secondary);font-family:var(--font-mono)}.bar-track{height:var(--bar-height);border-radius:var(--radius-pill);background:var(--surface-sunk);overflow:hidden}.bar-fill{border-radius:var(--radius-pill);height:100%}.rows{margin:0;padding:0;list-style:none}.row{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--hairline);display:flex}.row:last-child{border-bottom:none}.row__icon{border-radius:10px;flex:none;width:38px;height:38px}.row__main{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.row__name{color:var(--ink);font-weight:500;text-decoration:none}.row__name:hover{color:var(--accent)}.row__meta{font-size:var(--text-sm);color:var(--ink-muted)}.row__value{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.auth{justify-content:center;align-items:center;gap:var(--space-5);min-height:100vh;padding:var(--space-5) var(--space-4);flex-direction:column;display:flex}.auth__brand{align-items:center;gap:var(--space-3);display:flex}.auth__card{width:100%;max-width:var(--auth-width);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-5)}.auth__card .field__control{max-width:none}.card form .field__control{max-width:28rem}@media (width<=768px){.dashboard{grid-template-columns:1fr}.hero__value{font-size:var(--text-xl)}.row{flex-wrap:wrap}.row__main{flex-basis:calc(100% - 38px - var(--space-4))}.row__value{margin-left:calc(38px + var(--space-4));text-align:left;align-items:flex-start}}
