:root{--bg:#f5f6f2;--paper:#fff;--ink:#23362e;--muted:#788078;--green:#224d3f;--pale:#e9f0e8;--border:#e1e5dd;--gold:#ba955e;--red:#a1433d;--radius:16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;line-height:1.5;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em}h1{font-size:38px;line-height:1.2;margin-bottom:12px}h2{font-size:25px;line-height:1.25}h3{font-size:15px;font-weight:600}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #ab8751;outline-offset:3px}.skip{position:fixed;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}.muted{color:var(--muted)}.small,small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;color:var(--muted);margin-bottom:14px}.brand{display:flex;gap:12px;align-items:center;font-family:Georgia,serif;font-size:25px;letter-spacing:-.04em}.brand-mark{background:var(--green);color:#fff;border-radius:12px;font-size:31px;width:40px;height:40px;text-align:center;line-height:36px}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#1b3c31;color:#eff3e9;padding:48px 64px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:640px;height:640px;border:1px solid #466055;border-radius:50%;right:-385px;bottom:-225px;box-shadow:0 0 0 60px #ffffff03,0 0 0 120px #ffffff03;pointer-events:none}.login-story .brand-mark{background:#d7e2c4;color:#213e31}.login-story .eyebrow{color:#b5c6b5}.login-story h1{font-size:clamp(40px,5.8vw,82px);margin:28px 0}.login-story p:not(.eyebrow){color:#b9cabe;line-height:1.8}.login-foot{font-size:10px;letter-spacing:.17em;color:#97ad9f}.login-main{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{max-width:365px;width:100%}.login-card h2{font-size:34px;margin-bottom:12px}.login-card label{display:block;margin-top:32px}.login-card .button{width:100%;margin:8px 0 24px;justify-content:space-between}
.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--border);background:#fafbf7;padding:30px 20px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar .brand{margin:0 6px 42px}.nav-caption{font-size:9px;font-weight:700;letter-spacing:.17em;color:#8a918a;margin:0 14px 12px}nav{display:grid;gap:5px}nav a{padding:12px 14px;border-radius:8px;color:#69746d;font-size:13px;display:flex;gap:12px;align-items:center}nav a>span{font-size:21px;line-height:1;width:22px;color:#7c897f}nav a:hover{background:#eff2eb}nav a.active{background:#e5eddf;color:#2e513a;font-weight:600}nav a.active>span{color:#355e3c}.sidebar-bottom{margin-top:auto;padding-top:38px}.external{display:flex;justify-content:space-between;font-size:12px;margin:0 10px 20px;padding:14px 0;border-bottom:1px solid var(--border)}.sidebar-bottom nav a{font-size:12px;padding:9px 12px}.profile{display:flex;align-items:center;gap:10px;margin-top:25px;border-top:1px solid var(--border);padding:22px 6px 0}.avatar{border:1px solid #d9dfd3;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;background:#eef0e7;font-family:Georgia,serif}.profile strong,.profile small{display:block;font-size:12px}.profile small{color:var(--muted);font-size:10px}.profile .icon-button{margin-left:auto}.workspace{min-width:0}.topbar{height:77px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px;background:#fafbf8}.breadcrumb{color:#7c847c}.breadcrumb span{padding:0 14px;color:#bbc1b6}.breadcrumb strong{color:#526056;font-weight:500}.topbar-right{display:flex;gap:8px;align-items:center;color:#7d897c}.privacy-dot{width:6px;height:6px;border-radius:50%;background:#6e906a}.topbar-right button{margin-left:12px}.icon-button{display:grid;place-items:center;background:transparent;color:#6e7d71;border:0;width:32px;height:32px;border-radius:8px;font-size:21px}.icon-button:hover{background:var(--pale)}.mobile-menu{display:none}main{max-width:1500px;margin:auto;padding:38px 40px 24px;min-height:calc(100vh - 134px)}.app-footer{max-width:1500px;margin:auto;padding:20px 40px;display:flex;justify-content:space-between;color:#929990;font-size:10px;letter-spacing:.03em}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.page-heading p{margin-bottom:0;color:var(--muted);font-size:12px}.page-heading .eyebrow{font-size:9px;margin-bottom:10px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--ink);padding:11px 17px;font-weight:500;font-size:12px;min-height:42px}.button:hover{background:#edf1e9}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:#143b2d}.button.quiet{background:transparent}.button.danger{color:var(--red)}.button.compact{min-height:32px;padding:5px 10px;font-size:11px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:22px;min-width:0}.card.hero{background:var(--green);color:#f2f5ed;border-color:var(--green)}.metric-label{font-size:11px;color:#6c786e;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.hero .metric-label{color:#c5d7c6}.metric-value{font-family:Georgia,serif;font-size:clamp(24px,2.35vw,37px);letter-spacing:-.04em;line-height:1.2;white-space:nowrap}.metric-foot{font-size:10px;color:#8b9387;margin:14px 0 0;min-height:15px}.hero .metric-foot{color:#bbcdb9}.positive{color:#407751}.negative{color:var(--red)}.hero .positive{color:#d5e5ba}.badge{font-size:10px;border-radius:5px;padding:3px 7px;display:inline-block;white-space:nowrap;background:#eef3e9;color:#5d7755}.badge.warning{background:#f8f0de;color:#8a6934}.badge.neutral{background:#f1f2ef;color:#7d8479}.grid-main{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:22px;margin-bottom:22px}.panel{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:24px;min-width:0;margin-bottom:22px}.grid-main>.panel{margin-bottom:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading h2{font-family:inherit;font-weight:600;letter-spacing:-.015em;font-size:15px;margin:0 0 5px}.panel-heading p{font-size:11px;color:var(--muted);margin:0}.chart{display:block;width:100%;height:250px}.chart text{font-family:inherit;font-size:10px;fill:#90998d}.chart .gridline{stroke:#edf0e9;stroke-width:1}.chart .series{stroke:#65855c;stroke-width:2.5;fill:none;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:#eaf0e5}.chart .dot{fill:#507049;stroke:white;stroke-width:2}.chart .bar{fill:#a7bb8f}.chart .axis-zero{stroke:#a0ac9a;stroke-dasharray:3 4}.chart-caption{font-size:10px;color:#959d8d;margin:10px 0 0}.split-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #eef0e9;font-size:12px}.split-row:last-child{border-bottom:0}.split-row strong{font-weight:500;font-variant-numeric:tabular-nums}.split-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.allocation-dot{display:inline-block;width:8px;height:8px;border-radius:3px;background:#608354;margin-right:10px}.allocation-dot.gold{background:#bca274}.allocation-dot.gray{background:#acb5a8}.allocation-dot.red{background:#bf948a}.summary-band{display:grid;grid-template-columns:repeat(3,1fr);background:#eef1e7;border:1px solid #e2e7d9;border-radius:12px;padding:20px 25px;gap:20px;margin-bottom:24px}.summary-band p{font-size:10px;color:#7b866f;margin-bottom:8px}.summary-band strong{font-family:Georgia,serif;font-size:24px;font-weight:400}.notice{background:#f7f1e3;color:#877044;border:1px solid #eee3cc;border-radius:9px;padding:13px 16px;font-size:12px;margin:0 0 22px}.notice.info{background:#edf2e9;border-color:#dce6d5;color:#68765c}.empty{padding:45px 22px;text-align:center;border:1px dashed #d8dfd0;border-radius:12px;background:#fafbf7}.empty .empty-symbol{font-family:Georgia,serif;font-size:45px;color:#9db28b;line-height:1;margin-bottom:15px}.empty h3{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:0 0 9px}.empty p{color:var(--muted);font-size:12px;max-width:410px;margin:0 auto 18px}.empty-chart{height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(0deg,transparent,transparent 61px,#f0f3eb 62px);color:#929d86;font-size:12px;text-align:center}.empty-chart strong{font-family:Georgia,serif;font-size:24px;font-weight:400;margin-bottom:8px;color:#6a7d62}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:600;color:#8b9385;white-space:nowrap;border-bottom:1px solid var(--border);padding:12px 12px 13px}td{padding:16px 12px;border-bottom:1px solid #edf0e8;vertical-align:middle}tr:last-child td{border-bottom:0}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td strong{font-weight:500}td small{display:block;font-size:10px;color:#8b9485;max-width:260px}.row-name{display:flex;align-items:center;gap:12px;min-width:145px}.row-symbol{background:#eef2e8;color:#698259;width:32px;height:32px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;font-size:16px}.table-actions{white-space:nowrap}.table-actions button{margin-left:5px}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 22px}.toolbar label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px;margin:0}.toolbar input,.toolbar select{width:auto;margin:0}.toggle{border:1px solid var(--border);border-radius:7px;display:inline-flex;background:#fff;padding:3px;gap:2px}.toggle button{border:0;background:none;padding:6px 12px;font-size:11px;color:#7f8b76;border-radius:4px}.toggle button.selected{background:var(--pale);color:#3e623c}.help{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 18px}.inline-help{font-size:10px;color:var(--muted);margin-top:6px;display:block}.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.property-card{background:white;border:1px solid var(--border);border-radius:14px;overflow:hidden}.property-cover{height:110px;background:#e7ece0;display:flex;align-items:center;justify-content:space-between;padding:24px;color:#67805a}.property-cover span{font-size:44px}.property-cover p{font-size:9px;letter-spacing:.15em;margin:0}.property-content{padding:24px}.property-content h2{margin-bottom:5px}.property-content .metric-value{margin:25px 0 4px}
label{font-size:12px;color:#5a695b;display:block;margin-bottom:6px}input,select,textarea{width:100%;border:1px solid #dce2d5;border-radius:7px;padding:10px 11px;background:#fff;color:var(--ink);min-height:41px}input::placeholder{color:#b0b7a8}textarea{min-height:85px;resize:vertical}input[type=checkbox]{width:16px;min-height:16px}input[type=month],input[type=date]{min-width:145px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:20px;margin-top:22px;flex-wrap:wrap}.form-error{color:var(--red);font-size:12px;min-height:18px;margin:12px 0}.monthly-table input{width:128px;min-width:100px;padding:8px;font-size:12px}.monthly-table input[type=date]{width:143px}.monthly-table select{width:135px;font-size:11px;padding:8px}.monthly-table td{padding:14px 9px}.monthly-table .old-value{color:#7a8870;font-size:12px}.monthly-table .copy-button{font-size:10px;display:block;color:#618150;background:transparent;border:0;padding:6px 0}.monthly-table .reserved{width:100px}.monthly-table .position-meta{font-size:10px;max-width:180px;margin:5px 0 0;color:#8a9581}.sticky-save{position:sticky;bottom:0;z-index:3;background:#fffef8f5;backdrop-filter:blur(8px);margin:22px -8px -8px;padding:16px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sticky-save p{font-size:11px;margin:0;color:#7c8771}.checkbox-label{display:flex;gap:9px;align-items:center}.loading{padding:100px 20px;text-align:center;color:var(--muted)}dialog{border:1px solid var(--border);border-radius:18px;padding:28px;width:min(660px,calc(100% - 28px));max-height:90vh;color:var(--ink);box-shadow:0 25px 100px #18271838}dialog::backdrop{background:#1c302961;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-heading h2{margin:0}.modal-heading .icon-button{font-size:28px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#253e2c;color:#f7fbf0;border-radius:9px;padding:14px 22px;max-width:90vw;font-size:12px;z-index:30;box-shadow:0 5px 30px #223b2626}.toast.error{background:#843f35}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid .panel{margin-bottom:0}.settings-grid label{margin-top:16px}.year-select{max-width:110px}.status-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted)}
@media(min-width:1600px){main{padding-top:50px}.metric-value{font-size:39px}.chart{height:290px}}
@media(max-width:1200px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:25px 12px}.sidebar .brand{font-size:22px}.topbar{padding:0 25px}main{padding:30px 25px}.cards{gap:10px}.card{padding:18px}.metric-value{font-size:26px}.grid-main{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:16px}.panel{padding:20px}.page-heading h1{font-size:34px}}
@media(max-width:950px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}.metric-value{font-size:31px}.login-story{padding:40px}.settings-grid{grid-template-columns:1fr}.property-grid{grid-template-columns:1fr}}
@media(max-width:700px){.app-shell{display:block}.sidebar{display:none;position:fixed;z-index:15;width:245px;box-shadow:10px 0 100px #1d322752}.sidebar.open{display:flex}.mobile-menu{display:grid}.topbar{height:62px;padding:0 16px;gap:10px}.topbar .breadcrumb{margin-right:auto}.breadcrumb>span,.breadcrumb{font-size:0}.breadcrumb strong{font-size:11px}.topbar-right{font-size:10px}.topbar-right button{margin-left:4px}main{padding:26px 16px 10px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.page-heading h1{font-size:34px}.page-heading .actions{width:100%}.page-heading .actions .button.primary{margin-left:auto}.cards{gap:10px;margin-bottom:16px}.card{padding:16px 13px;border-radius:12px}.metric-label{font-size:10px;margin-bottom:16px}.metric-value{font-size:25px}.metric-foot{font-size:9px;line-height:1.5}.summary-band{padding:16px;gap:13px;grid-template-columns:1fr 1fr}.summary-band>div:last-child{grid-column:1/-1;border-top:1px solid #dbe2d2;padding-top:12px;display:flex;justify-content:space-between;align-items:center}.summary-band strong{font-size:23px}.summary-band p{font-size:10px;margin:0 0 4px}.panel{padding:18px 15px;margin-bottom:16px;border-radius:12px}.grid-main{gap:16px;margin-bottom:16px}.chart{height:220px}.app-footer{padding:20px 16px;font-size:9px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.sticky-save{flex-direction:column;align-items:stretch;padding:12px;bottom:8px}.sticky-save .actions{justify-content:flex-end}.toolbar{align-items:flex-start}.login-screen{grid-template-columns:1fr}.login-story{min-height:240px;padding:25px 28px;gap:35px}.login-story h1{font-size:38px;margin:10px 0}.login-story h1 br{display:none}.login-story .eyebrow{font-size:8px;margin-bottom:10px}.login-story p:not(.eyebrow),.login-foot{display:none}.login-main{padding:40px 26px}.login-card h2{font-size:29px}.login-card label{margin-top:25px}dialog{padding:22px}.metric-label .badge{font-size:8px}.login-story:after{width:320px;height:320px;right:-190px;bottom:-100px}}
.nav-backdrop{position:fixed;inset:0;border:0;background:#18291d55;z-index:14;width:100%;height:100%;backdrop-filter:blur(2px)}.metric-value.long{font-size:25px}.panel-heading{flex-wrap:wrap}.page-heading .actions select{width:auto;min-width:165px}.metric-value{font-variant-numeric:tabular-nums}
@media(max-width:700px){.metric-value{font-size:22px}.metric-value.long{font-size:19px}.page-heading .actions select{min-width:140px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s ease}}

.setup-screen { min-height:100vh; display:grid; place-items:center; padding:32px 20px; background:var(--bg); }
.setup-screen .login-card { width:min(100%, 500px); }
.source-hash { font:11px monospace; overflow-wrap:anywhere; color:var(--muted); }
.source-details { margin:18px 0; }
.source-details summary { cursor:pointer; font-weight:600; }
.source-details code { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.import-table { min-width:860px; }
.import-table td:first-child { min-width:260px; max-width:350px; }
.import-table td small { white-space:normal; }
.import-table input[type=number] { width:135px; }
.import-table input[type=text] { min-width:150px; margin-top:8px; }
.grid-equal { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
.plot-legend { display:flex; flex-wrap:wrap; gap:10px 18px; font-size:11px; color:var(--muted); padding:15px 0 4px; }
.plot-legend span { display:flex; gap:7px; align-items:center; }
.horizontal-chart { display:block; width:100%; height:auto; min-height:120px; }
.horizontal-chart text { font:12px -apple-system,BlinkMacSystemFont,sans-serif; fill:var(--ink); }
.chart [role=button] { cursor:pointer; }
.analysis-controls { display:flex; flex-wrap:wrap; gap:16px; align-items:end; margin:22px 0; }
.analysis-controls .field { min-width:170px; }
.panel details>summary { cursor:pointer; padding:8px 0; color:var(--green); font-weight:500; }
@media(max-width:950px) { .grid-equal { grid-template-columns:1fr; gap:0; } }
@media(max-width:700px) { .horizontal-chart { min-height:100px; } .analysis-controls .field { flex:1; min-width:125px; } }

.annual-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin:4px 0 25px;color:var(--muted);font-size:12px}.annual-controls select{width:auto;max-width:100%}.annual-stats{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:24px;margin:18px 0 20px}.annual-stat{min-width:0}.annual-stat>span{display:block;color:var(--muted);font-size:11px;margin-bottom:10px}.annual-stat>strong{display:block;font-size:19px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.4}.annual-total>strong{font-size:32px;letter-spacing:-1px;color:var(--green)}.annual-chart{display:block;width:100%;height:auto;overflow:visible}.annual-chart text{font:11px -apple-system,BlinkMacSystemFont,sans-serif;fill:var(--muted)}.annual-chart .month-guide{stroke:#b5c5ba;stroke-dasharray:4 5}.annual-chart [role=button]{cursor:pointer}.annual-chart [role=button]:focus{outline:none;fill:#193d3210;stroke:#193d32;stroke-width:1}.account-legend{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center;padding-top:20px}.legend-button,.total-key{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--ink)}.legend-button{background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;padding:6px 2px}.legend-button:focus-visible{outline:2px solid var(--green)}.legend-button.dimmed{opacity:.4;text-decoration:line-through}.total-key{font-weight:700}.legend-line{width:19px;height:3px;border-radius:3px;display:inline-block;flex:none}.account-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.account-tile{border:1px solid var(--border);border-radius:12px;padding:20px 18px 4px;min-width:0;background:#fcfdf9}.account-tile-title{display:flex;gap:8px;align-items:center;font-size:12px}.account-tile-title strong{font-weight:500}.account-kind{font-size:10px;color:var(--muted);margin:8px 0 18px}.account-balance{font-size:25px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.account-delta{font-size:10px;color:var(--muted);min-height:16px;line-height:1.5}.mini-trend .chart{height:86px}.mini-trend .chart text,.mini-trend .chart .gridline,.mini-trend .chart .axis-zero{display:none}.mini-trend .chart .series{stroke-width:4}.salary-source{white-space:normal;max-width:245px;font-size:11px}.salary-source p{overflow-wrap:anywhere;font-size:11px;margin:6px 0}
@media(max-width:1150px){.account-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-stat>strong{font-size:16px}.annual-total>strong{font-size:29px}}
@media(max-width:700px){.annual-stats{grid-template-columns:1fr 1fr;gap:16px}.annual-total{grid-column:1/-1}.annual-stat>strong{font-size:16px}.annual-total>strong{font-size:32px}.annual-stat>span{font-size:10px}.annual-controls{font-size:11px;gap:15px}.account-legend{gap:4px 12px}.legend-button,.total-key{font-size:10px}.account-tiles{gap:10px}.account-tile{padding:14px 10px 2px}.account-tile-title{font-size:11px;align-items:flex-start}.account-balance{font-size:20px}.account-delta{min-height:30px}.mini-trend .chart{height:64px}}

/* Theme colors also apply to SVG presentation attributes. */
:root{color-scheme:light;--chart-total:#193d32;--chart-selection:#edf1e6;--account-1:#237a68;--account-2:#366fbb;--account-3:#b68029;--account-4:#95649b;--account-5:#d1684c;--account-6:#4b94a6;--account-7:#758441;--account-8:#7b73c1;--plot-1:#557f64;--plot-2:#b99b61;--plot-3:#7196a9;--plot-4:#9b78a3;--plot-5:#c5816d;--plot-6:#91994e;--plot-7:#618e86;--plot-8:#a3a3a3;--plot-9:#725d48;--plot-10:#a15d68;--plot-11:#6680a6}
.login-main{position:relative}.login-theme-toggle{position:absolute;right:28px;top:24px}.theme-toggle{font-size:23px;flex-shrink:0}.annual-chart .gridline{stroke:var(--border);stroke-width:1}
:root[data-theme=dark]{color-scheme:dark;--bg:#111b17;--paper:#1b2721;--ink:#e6ede7;--muted:#a7b5ab;--green:#a7d3b7;--pale:#2a3c30;--border:#35483c;--gold:#dbb67d;--red:#f2a59a;--chart-total:#bfe4cb;--chart-selection:#2c4033;--account-1:#65c2a9;--account-2:#80b4fa;--account-3:#e6b965;--account-4:#cd9dd1;--account-5:#f29f86;--account-6:#7fc6d8;--account-7:#b7cd76;--account-8:#b3a8ef;--plot-1:#91bd9f;--plot-2:#d9bd87;--plot-3:#a0c9dc;--plot-4:#c9a7d1;--plot-5:#e6b2a0;--plot-6:#c2cb86;--plot-7:#8fc5bb;--plot-8:#c2c9c3;--plot-9:#c6ab90;--plot-10:#dca2af;--plot-11:#99b8e0}
[data-theme=dark] .sidebar,[data-theme=dark] .topbar{background:#16211b}
[data-theme=dark] .brand-mark,[data-theme=dark] .button.primary{background:#3d7157;color:#fff;border-color:#528267}
[data-theme=dark] .button.primary:hover{background:#4b8165}
[data-theme=dark] nav a,[data-theme=dark] nav a>span,[data-theme=dark] .breadcrumb,[data-theme=dark] .breadcrumb strong,[data-theme=dark] .topbar-right,[data-theme=dark] .icon-button,[data-theme=dark] label,[data-theme=dark] .metric-label,[data-theme=dark] th,[data-theme=dark] td small,[data-theme=dark] .metric-foot,[data-theme=dark] .chart-caption,[data-theme=dark] .nav-caption,[data-theme=dark] .app-footer{color:var(--muted)}
[data-theme=dark] nav a:hover,[data-theme=dark] .button:hover{background:var(--pale)}
[data-theme=dark] nav a.active{background:#2b4131;color:#d0e9d4}
[data-theme=dark] nav a.active>span{color:#a7d3b7}
[data-theme=dark] .avatar,[data-theme=dark] .row-symbol{background:var(--pale);border-color:var(--border);color:var(--green)}
[data-theme=dark] .button,[data-theme=dark] .toggle,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] dialog,[data-theme=dark] .property-card,[data-theme=dark] .account-tile,[data-theme=dark] .skip{background:var(--paper);color:var(--ink);border-color:var(--border)}
[data-theme=dark] .button.quiet{background:transparent}
[data-theme=dark] .button.danger,[data-theme=dark] .negative{color:var(--red)}
[data-theme=dark] .card.hero{background:#244d37;border-color:#4b7254;color:#f0f8f1}
[data-theme=dark] .hero .metric-label,[data-theme=dark] .hero .metric-foot{color:#c9dfcc}
[data-theme=dark] .positive,[data-theme=dark] .hero .positive{color:#a1d2ae}
[data-theme=dark] .badge{background:#2a4231;color:#c2e1c6}
[data-theme=dark] .badge.warning,[data-theme=dark] .notice{background:#3a3220;color:#ead4a5;border-color:#665532}
[data-theme=dark] .badge.neutral{background:#303c33;color:#c2cec3}
[data-theme=dark] .notice.info{background:#253e2b;color:#c8dfca;border-color:#426148}
[data-theme=dark] .summary-band,[data-theme=dark] .property-cover,[data-theme=dark] .empty{background:#23352a;border-color:var(--border);color:var(--ink)}
[data-theme=dark] .summary-band p,[data-theme=dark] .property-cover,[data-theme=dark] .empty-chart,[data-theme=dark] .empty-chart strong,[data-theme=dark] .monthly-table .old-value,[data-theme=dark] .monthly-table .position-meta,[data-theme=dark] .sticky-save p,[data-theme=dark] .toggle button{color:var(--muted)}
[data-theme=dark] .toggle button.selected{background:var(--pale);color:var(--green)}
[data-theme=dark] .monthly-table .copy-button{color:var(--green)}
[data-theme=dark] td,[data-theme=dark] .split-row{border-color:var(--border)}
[data-theme=dark] .sticky-save{background:#1b2721f5}
[data-theme=dark] input::placeholder{color:#9aac9c}
[data-theme=dark] .empty-chart{background:repeating-linear-gradient(0deg,transparent,transparent 61px,#314235 62px)}
[data-theme=dark] .chart text{fill:var(--muted)}
[data-theme=dark] .chart .gridline{stroke:var(--border)}
[data-theme=dark] .chart .area{fill:#294431}
[data-theme=dark] .chart .series,[data-theme=dark] .chart .axis-zero{stroke:#9dc6a7}
[data-theme=dark] .chart .dot{fill:#b0d6b8;stroke:var(--paper)}
[data-theme=dark] .chart .bar{fill:#99bd8d}
[data-theme=dark] .annual-chart .month-guide{stroke:#8aa994}
[data-theme=dark] .annual-chart [role=button]:focus{fill:#bfe4cb18;stroke:var(--chart-total)}
[data-theme=dark] dialog::backdrop{background:#030906a8}
[data-theme=dark] .toast{background:#38563f;color:#f2f8f3}
[data-theme=dark] .toast.error{background:#713b35;color:#fff}
@media(max-width:700px){.topbar-right .theme-toggle{margin-left:0}.login-theme-toggle{top:16px;right:16px}}
