:root{--bg:#f6f6f3;--panel:#fff;--text:#1d1d1b;--muted:#6b6b66;--line:#e2e1dc;--accent:#1f5f4a;--accent-text:#fff;--warn-bg:#fff4d6;--warn-text:#6b4e00;--bad-bg:#fde4e1;--bad-text:#8a1c12;--in:#1f6f3f;--out:#1d1d1b}@media (prefers-color-scheme:dark){:root{--bg:#161615;--panel:#1f1f1d;--text:#ecebe6;--muted:#a3a29b;--line:#34332f;--accent:#5fb894;--accent-text:#0f1f19;--warn-bg:#3b3115;--warn-text:#f1d58a;--bad-bg:#42201c;--bad-text:#f3b2a9;--in:#7fd3a3;--out:#ecebe6}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}main{max-width:960px;margin:0 auto;padding:24px 16px 64px}header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}h1{margin:0;font-size:22px}h2{margin:0 0 8px;font-size:16px}.muted{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:16px}.banner{background:var(--warn-bg);color:var(--warn-text);border-radius:8px;margin-bottom:12px;padding:10px 14px}.banner.bad{background:var(--bad-bg);color:var(--bad-text)}.badge{letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.live{color:var(--accent);border-color:var(--accent)}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions form{margin:0}button,.button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:7px 12px;text-decoration:none;display:inline-block}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{border-color:var(--bad-text);color:var(--bad-text)}details summary{cursor:pointer}.accounts{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.account{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.account .balance{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 8px}th{color:var(--muted);font-size:12px;font-weight:600}td.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.amount.in{color:var(--in)}.stats{flex-wrap:wrap;gap:24px;display:flex}.stats div strong{font-variant-numeric:tabular-nums;font-size:18px;display:block}.estimate{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.small{font-size:12px}.stats div>span.muted:last-child:not(:first-child){font-size:12px;display:block}.weeks{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:12px;display:grid}.week{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.week h3{margin:0 0 6px;font-size:14px}.week .headline strong{font-variant-numeric:tabular-nums;font-size:22px;display:block}.row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:3px 0;display:flex}.row.warn{color:var(--warn-text)}ul.review{margin:0;padding:0;list-style:none}ul.review li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}ul.review li form{flex:none;margin:0}label input,label select{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:5px 8px}
