:root{--chart-expense:#ffb487;--chart-savings:#4de1c6;--chart-cash:#98afff}
/* Warm neutral surfaces, quiet borders and a terracotta accent, inspired by Claude's docs. */
:root:not([data-theme=classic]) {
  color-scheme: light;
  --bg:#faf9f5;--bg2:#f3f1ea;--panel:#fffefa;--panel2:#f5f3ed;
  --text:#292823;--muted:#706e66;--stroke:#e3e0d7;
  --cyan:#a14f36;--cyan2:#8b432e;--blue:#536c96;--amber:#926c24;
  --red:#b13e42;--purple:#807099;--radius:13px;
  --chart-expense:#c27854;--chart-savings:#5e8065;--chart-cash:#6c7f9e;
  --field-bg:#fffefa;--accent-soft:#f5e8e0;--success:#45715b;--warning-bg:#fcf3df;
}
:root[data-theme=dark] {
  color-scheme:dark;
  --bg:#1f1e1b;--bg2:#272621;--panel:#262521;--panel2:#2d2c27;
  --text:#eeede6;--muted:#b1aea3;--stroke:#434139;
  --cyan:#e5a182;--cyan2:#f1b69b;--blue:#a0b3ce;--amber:#d9ba7f;
  --red:#f29c9b;--purple:#c2acd5;
  --chart-expense:#d89b7a;--chart-savings:#a6b99a;--chart-cash:#a0afcc;
  --field-bg:#201f1b;--accent-soft:#3e3028;--success:#a5c5ae;--warning-bg:#393124;
}
.icon{width:17px;height:17px;display:inline-block;vertical-align:middle;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.small-icon{width:13px;height:13px}.brand-icon{width:24px;height:24px;color:var(--cyan)}
.section-nav-brand{display:inline-flex;align-items:center;gap:9px}
.section-nav-links>a{display:inline-flex;align-items:center;gap:7px}
.section-nav-links>a .icon{width:15px;height:15px}
.theme-control{display:flex;align-items:center;gap:4px;color:var(--muted);border:1px solid var(--stroke);border-radius:8px;padding:5px 7px}
.theme-control select{border:0;background:transparent;color:var(--text);font-size:12px;padding:2px;cursor:pointer}
.workspace-context{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);font-size:12px;color:var(--muted)}
.workspace-context>span:first-child{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:600}
.case-picker{position:relative}.case-picker>summary{list-style:none;white-space:nowrap;padding:8px 10px;font-size:12px}.case-picker>summary::-webkit-details-marker{display:none}
.case-picker[open]>summary{outline:2px solid var(--cyan);outline-offset:2px}
.case-picker-popover{position:absolute;right:0;top:calc(100% + 12px);width:min(350px,calc(100vw - 28px));padding:17px;background:var(--panel);border:1px solid var(--stroke);border-radius:12px;box-shadow:0 12px 35px #0002;z-index:70}
.case-picker-popover input{background:var(--bg);border:1px solid var(--stroke);border-radius:7px;padding:10px;color:var(--text);width:100%}
.case-picker-list{display:grid;gap:6px;max-height:350px;overflow-y:auto;margin-top:12px}
.case-picker-item{display:flex;flex-direction:column;gap:3px;text-align:left;padding:11px;border:1px solid var(--stroke);background:var(--panel2);color:var(--text);border-radius:8px;overflow-wrap:anywhere}
.case-picker-item:hover,.case-picker-item[aria-current=true]{border-color:var(--cyan)}
.case-picker-item small,.case-picker-empty{font-size:12px;color:var(--muted)}.case-picker-empty{line-height:1.6;margin:4px 0}
.expense-notes{margin-top:18px}.expense-notes label{display:flex;gap:6px;align-items:center}
.field textarea{width:100%;resize:vertical;min-height:110px;border:1px solid var(--stroke);border-radius:9px;padding:12px;font:inherit;font-size:13px;line-height:1.6;color:var(--text);background:var(--bg)}
.field textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.month-control{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.month-control select{border:1px solid var(--stroke);border-radius:7px;padding:6px 8px;background:var(--bg);color:var(--text);max-width:140px}
.adjustment-editor{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;padding:16px;background:var(--panel2);border:1px solid var(--stroke);border-radius:10px;margin:18px 0 10px}
.adjustment-note{grid-column:span 2}.adjustment-editor>.btn{align-self:end;min-height:40px;padding:8px}
.adjustment-list{display:grid;gap:8px;margin:18px 0}
.adjustment-item{display:flex;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--stroke);border-radius:9px}
.adjustment-item .adjustment-detail{flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}
.adjustment-detail strong{display:block;color:var(--text);font-size:13px}.adjustment-detail span{color:var(--muted)}
.adjustment-amount{font-weight:650;white-space:nowrap;font-size:13px}.amount-income{color:var(--success,var(--cyan))}.amount-expense{color:var(--red)}
.adjustment-remove{padding:5px 9px;font-size:12px}.monthly-table{min-width:850px}.monthly-table .selected-month{background:var(--accent-soft,var(--panel2))}
.monthly-table tfoot td{font-weight:700;border-top:2px solid var(--stroke)}.monthly-table .negative{color:var(--red)}
:root:not([data-theme=classic]) body{background:var(--bg);font-size:14px}
:root:not([data-theme=classic]) .shell{max-width:1440px;padding:38px 32px 70px}
:root:not([data-theme=classic]) h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.1vw,46px);font-weight:400;letter-spacing:-.035em;line-height:1.17;margin:16px 0 13px}
:root:not([data-theme=classic]) h2{font-weight:600;letter-spacing:-.025em}
:root:not([data-theme=classic]) .subtitle{font-size:14px;line-height:1.8;max-width:610px}
:root:not([data-theme=classic]) .eyebrow{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:600}
:root:not([data-theme=classic]) .live{background:var(--cyan);box-shadow:none;width:6px;height:6px}
:root:not([data-theme=classic]) .top{margin-bottom:28px;align-items:center}
:root:not([data-theme=classic]) .actions{max-width:340px}
:root:not([data-theme=classic]) .panel{background:var(--panel);box-shadow:none;border-color:var(--stroke)}
:root:not([data-theme=classic]) .section-nav{background:var(--bg);box-shadow:none;gap:12px;flex-wrap:wrap;padding:12px 24px}
:root:not([data-theme=classic]) .section-nav-head{flex:1}
:root:not([data-theme=classic]) .section-nav-tools{order:1}
:root:not([data-theme=classic]) .section-nav-links{order:2;flex-basis:100%;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--stroke)}
:root:not([data-theme=classic]) .section-nav-links>a{font-size:11px;padding:8px 9px}
:root:not([data-theme=classic]) .section-nav-links>a:hover{background:var(--panel2);color:var(--text)}
:root:not([data-theme=classic]) .section-nav-links>a[aria-current=location]{background:var(--accent-soft);border-color:transparent;color:var(--cyan)}
:root:not([data-theme=classic]) .section-nav-group{background:var(--stroke);color:var(--muted)}
:root:not([data-theme=classic]) .nav-target{scroll-margin-top:130px}
:root:not([data-theme=classic]) .btn,:root:not([data-theme=classic]) .section-nav-toggle{background:var(--panel);border-color:var(--stroke);color:var(--text);border-radius:8px;font-weight:550;box-shadow:0 1px 2px #00000004}
:root:not([data-theme=classic]) .btn:hover,:root:not([data-theme=classic]) .section-nav-toggle:hover{background:var(--panel2)}
:root:not([data-theme=classic]) .btn.primary{background:var(--cyan);color:var(--bg);border-color:var(--cyan)}
:root:not([data-theme=classic]) .btn.primary:hover{background:var(--cyan2)}
:root:not([data-theme=classic]) .nav-account,:root:not([data-theme=classic]) .vault-session #vaultIdentity{background:var(--panel2);color:var(--muted);border-color:var(--stroke)}
:root:not([data-theme=classic]) .nav-account.is-signed-in,:root:not([data-theme=classic]) .vault-session #vaultIdentity.is-signed-in{color:var(--success);background:var(--panel2);border-color:var(--stroke)}
:root:not([data-theme=classic]) .nav-account.is-signed-in:before,:root:not([data-theme=classic]) #vaultIdentity.is-signed-in:before{background:var(--success)}
:root:not([data-theme=classic]) .vault{margin:22px 0 24px;padding:24px}
:root:not([data-theme=classic]) .vault-caption{line-height:1.75;max-width:740px}
:root:not([data-theme=classic]) .vault-auth,:root:not([data-theme=classic]) .vault-matrix{background:var(--panel2)}
:root:not([data-theme=classic]) .vault-status{color:var(--muted)}
:root:not([data-theme=classic]) .vault-status.error{color:var(--red)}
:root:not([data-theme=classic]) .vault-item,:root:not([data-theme=classic]) .vault-empty{background:var(--panel2)}
:root:not([data-theme=classic]) .vault-item-meta{white-space:pre-wrap;overflow-wrap:anywhere}
:root:not([data-theme=classic]) .layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:24px}
:root:not([data-theme=classic]) .section-index{background:var(--accent-soft);border:0;color:var(--cyan)}
:root:not([data-theme=classic]) .field input,:root:not([data-theme=classic]) .field select,:root:not([data-theme=classic]) .vault input{background:var(--field-bg);border-color:var(--stroke);border-radius:7px}
:root:not([data-theme=classic]) .field input:focus,:root:not([data-theme=classic]) .field select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px var(--accent-soft)}
:root:not([data-theme=classic]) .field label,:root:not([data-theme=classic]) .checkline,:root:not([data-theme=classic]) .metric .name,:root:not([data-theme=classic]) .investment-table th:first-child,:root:not([data-theme=classic]) .investment-table td:first-child{color:var(--muted)}
:root:not([data-theme=classic]) .muted-note,:root:not([data-theme=classic]) .delta{background:var(--panel2);color:var(--muted);line-height:1.65}
:root:not([data-theme=classic]) .tag{background:var(--panel2);color:var(--success);border-color:var(--stroke);font-weight:500}
:root:not([data-theme=classic]) .tag.orange{color:var(--amber);background:var(--warning-bg);border-color:var(--stroke)}
:root:not([data-theme=classic]) .big-money{font-weight:550;color:var(--text);font-size:clamp(40px,5vw,60px)}
:root:not([data-theme=classic]) .mini,:root:not([data-theme=classic]) .compare-card,:root:not([data-theme=classic]) .proj-kpi,:root:not([data-theme=classic]) .proj-card{background:var(--panel2);border-color:var(--stroke);border-radius:10px}
:root:not([data-theme=classic]) .mini small,:root:not([data-theme=classic]) .tax-rate{color:var(--muted)}
:root:not([data-theme=classic]) .metric{border-color:var(--stroke)}
:root:not([data-theme=classic]) .metric.soft .value,:root:not([data-theme=classic]) .chart-legend-val{color:var(--text)}
:root:not([data-theme=classic]) .metric.negative .value{color:var(--red)}
:root:not([data-theme=classic]) .donut:before{background:var(--panel)}
:root:not([data-theme=classic]) .chart-pie:before{background:var(--panel2)}
:root:not([data-theme=classic]) .chart-legend-name,:root:not([data-theme=classic]) .tax-status{color:var(--muted)}
:root:not([data-theme=classic]) .tax-bar,:root:not([data-theme=classic]) .budget-meter{background:var(--stroke)}
:root:not([data-theme=classic]) .proj-table td,:root:not([data-theme=classic]) .proj-table th{border-color:var(--stroke)}
:root:not([data-theme=classic]) .proj-table thead th{background:var(--panel2)}
:root:not([data-theme=classic]) .proj-table tbody td:first-child{color:var(--text)}
:root:not([data-theme=classic]) .proj-table .proj-group td,:root:not([data-theme=classic]) .proj-table .proj-total td{background:var(--bg2);border-color:var(--stroke);color:var(--text)}
:root:not([data-theme=classic]) .proj-graph text{fill:var(--muted)}
:root:not([data-theme=classic]) .proj-graph line{stroke:var(--stroke)}
:root:not([data-theme=classic]) .proj-graph circle{stroke:var(--panel2)}
:root:not([data-theme=classic]) .foot{color:var(--muted)}
:root:not([data-theme=classic]) .foot strong{color:var(--text)}
:root:not([data-theme=classic]) .warning{background:var(--warning-bg);color:var(--amber);border-color:var(--stroke)}
:root:not([data-theme=classic]) .warning b{color:var(--amber)}
:root:not([data-theme=classic]) .toast,:root:not([data-theme=classic]) .hover-tip{background:var(--panel);border-color:var(--stroke);color:var(--text)}
:root:not([data-theme=classic]) .toast-error{border-left-color:var(--red)}
:root:not([data-theme=classic]) .toast-success{border-left-color:var(--success)}
:root:not([data-theme=classic]) .toast-warning{border-left-color:var(--amber)}
:root:not([data-theme=classic]) .toast-dismiss{color:var(--muted)}
@media(max-width:1179px){:root:not([data-theme=classic]) .section-nav-links{order:3}:root:not([data-theme=classic]) .section-nav-group{background:none}:root:not([data-theme=classic]) .section-nav-head{flex:0 1 auto}.section-nav-tools{gap:7px}.nav-account{max-width:180px}}
@media(max-width:1000px){:root:not([data-theme=classic]) .layout{grid-template-columns:310px minmax(0,1fr)}.section-nav-tools .nav-account{max-width:140px}.context-hint{display:none}}
@media(max-width:750px){:root:not([data-theme=classic]) .shell{padding:26px 16px 55px}:root:not([data-theme=classic]) .layout{grid-template-columns:1fr}:root:not([data-theme=classic]) .section-nav{padding:10px 13px}:root:not([data-theme=classic]) .top{align-items:flex-start}:root:not([data-theme=classic]) .actions{max-width:none}:root:not([data-theme=classic]) .vault{padding:18px}.section-nav-brand{display:none}.section-nav-tools .nav-account{display:none}.section-nav-tools{gap:6px}.case-picker>summary{padding:8px}.case-picker>summary .small-icon{display:none}.theme-control{padding:5px}.month-control{flex-wrap:wrap}}
@media(max-width:460px){.case-picker>summary .icon{display:none}.case-picker>summary{font-size:11px}.nav-save{padding:8px 12px}.theme-control>.icon{display:none}.theme-control select{font-size:11px}.section-nav-toggle{font-size:12px;padding:6px 8px}.adjustment-editor{grid-template-columns:1fr 1fr;padding:12px}.adjustment-editor .adjustment-note{grid-column:1/-1}.adjustment-editor>.btn{grid-column:1/-1}.adjustment-item{flex-wrap:wrap}.adjustment-detail{flex-basis:65%}.case-picker-popover{position:fixed;top:var(--case-picker-top,110px);right:14px}.workspace-context{font-size:11px}}
@media print{:root:not([data-theme=classic]){--bg:#fff;--bg2:#f4f3ee;--panel:#fff;--panel2:#f4f3ee;--text:#292823;--muted:#59574f;--stroke:#d5d2c8;--cyan:#914830;--red:#ad363c}.adjustment-editor,.adjustment-remove,.workspace-context{display:none!important}.monthly-table{font-size:9px;min-width:0}.monthly-table td,.monthly-table th{padding:6px 4px}.adjustment-list{break-inside:avoid}.table-scroll{overflow:visible}.nav-target{scroll-margin:0}}

:root:not([data-theme=classic]) .panel-heading{flex-wrap:wrap}
:root:not([data-theme=classic]) .section-nav-links>a[aria-current=location] .icon{color:var(--cyan)}
:root:not([data-theme=classic]) .vault-item.active{border-color:var(--cyan)}
:root:not([data-theme=classic]) .compare-card.active{border-color:var(--cyan)}
