:root{color-scheme:light;--bg:#f4f6f3;--card:#fff;--ink:#17231e;--muted:#68776f;--line:#e1e8e2;--green:#176b4d;--soft:#e8f3ec;--red:#b84646;--gold:#946c18}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:10px 14px;background:var(--green);color:#fff;font-weight:650}button.secondary{background:#edf1ed;color:var(--ink)}button.danger{background:#fff0ee;color:var(--red)}input,select{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}label{display:grid;gap:5px;font-size:13px;color:var(--muted)}header{background:#101c19;color:white;padding:18px max(20px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}header strong{font-size:22px;letter-spacing:-.6px}header span{font-size:12px;color:#b6c8bf}.wrap{max-width:1180px;margin:26px auto;padding:0 18px}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar h1{margin:0;font-size:27px;letter-spacing:-.8px}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{font-size:12px;color:var(--muted);margin-top:6px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;min-width:0}.metric{font-size:12px;color:var(--muted)}.value{font-size:clamp(21px,3vw,29px);font-weight:750;letter-spacing:-.7px;margin:7px 0}.positive{color:var(--green)}.negative{color:var(--red)}.layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.panel h2{font-size:17px;margin:0 0 14px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.full{grid-column:1/-1}.form-actions{display:flex;gap:8px;grid-column:1/-1}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.tabs button{background:#e7ece7;color:var(--muted)}.tabs button.active{background:#173e30;color:white}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:600}td.amount{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--soft);color:var(--green);font-size:11px}.pill.expense{background:#fff0ee;color:var(--red)}.bar{height:8px;border-radius:99px;background:#edf1ed;overflow:hidden;margin:9px 0}.bar span{display:block;height:100%;background:var(--green);border-radius:99px}.row{display:flex;justify-content:space-between;gap:10px;align-items:center}.stack{display:grid;gap:14px}.empty{padding:25px 8px;text-align:center;color:var(--muted)}.small{font-size:12px;color:var(--muted)}.hidden{display:none!important}.section{margin-top:14px}.error{color:var(--red);font-size:13px}.footer{padding:25px 0;color:var(--muted);font-size:12px;text-align:center}@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}}@media(max-width:460px){.cards{gap:8px}.card,.panel{padding:13px}.formgrid{grid-template-columns:1fr}.full,.form-actions{grid-column:auto}header{padding:15px 18px}.toolbar h1{font-size:23px}}

/* Theme toggle and dark theme */
.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.theme-toggle{background:#263b33;color:#fff;border:1px solid #50665c;padding:8px 12px;font-size:12px}.theme-toggle:hover{filter:brightness(1.12)}button:disabled{opacity:.65;cursor:wait}
html[data-theme="dark"]{color-scheme:dark;--bg:#101614;--card:#19221e;--ink:#e6eee9;--muted:#a1b1a8;--line:#2b3931;--green:#78c6a0;--soft:#203b2d;--red:#ff8585;--gold:#e1bd69}
html[data-theme="dark"] header{background:#080e0c}html[data-theme="dark"] button.secondary{background:#26332c;color:var(--ink)}html[data-theme="dark"] button.danger{background:#3a2423;color:#ff9993}html[data-theme="dark"] input,html[data-theme="dark"] select{background:#111a16;color:var(--ink);border-color:var(--line)}html[data-theme="dark"] .tabs button{background:#26332c;color:var(--muted)}html[data-theme="dark"] .tabs button.active{background:#315b46;color:#fff}html[data-theme="dark"] .pill.expense{background:#3a2423;color:#ff9993}html[data-theme="dark"] .bar{background:#2a352e}html[data-theme="dark"] .theme-toggle{background:#e3eee7;color:#17231e;border-color:#b8c9bf}
