:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#dfe4ec;background:#14171e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}:root{--bg:#14171e;--surface:#1c2028;--surface-2:#242936;--text:#dfe4ec;--text-secondary:#9aa3b2;--text-dim:#6b7382;--accent:#4f8ef7;--positive:#4ecb71;--negative:#e0564a;--expense:#e0704a;--warning:#e0a04a}main{max-width:880px;margin:0 auto}.screen{padding:20px 16px 84px}.num{font-variant-numeric:tabular-nums}header h1{letter-spacing:-1px;margin:6px 0 4px;font-size:42px;font-weight:700}.deltas{flex-wrap:wrap;gap:14px;display:flex}.delta{color:var(--text-secondary);font-size:14px}.delta small,.txs small{color:var(--text-dim);font-weight:400}.delta.up{color:var(--positive)}.delta.down{color:var(--negative)}.delta.spend{color:var(--warning)}b.up,.up{color:var(--positive)}section{margin-top:26px}h2{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:10px;font-size:13px;font-weight:500}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.two-col{grid-template-columns:1.4fr 1fr;gap:24px;display:grid}@media (width<=700px){.two-col{grid-template-columns:1fr}}.chips-row{flex-wrap:nowrap;gap:6px;display:flex}.chips-row.wrap{flex-wrap:wrap}.chips-row.scroll{scrollbar-width:none;padding-bottom:4px;overflow-x:auto}.chip{background:var(--surface-2);color:var(--text);white-space:nowrap;cursor:pointer;border:none;border-radius:8px;padding:5px 11px;font-family:inherit;font-size:13px}.chip.sel{background:var(--accent);color:#fff}.cats{margin:0;padding:0;list-style:none}.cats li{border-bottom:1px solid var(--surface-2);cursor:pointer;justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.txs{margin:0;padding:0;font-size:14px;list-style:none}.txs li{border-bottom:1px solid var(--surface-2);cursor:pointer;grid-template-columns:1fr auto;grid-template-areas:"title amount""cat amount";align-items:center;gap:2px 10px;padding:9px 0;display:grid}.txs .date{display:none}.txs .title{grid-area:title}.txs .cat{color:var(--text-dim);grid-area:cat;font-size:13px}.txs b{text-align:right;grid-area:amount;font-weight:600}.txs .orig{color:var(--text-dim);font-size:12px;font-weight:400}section .txs li:has(.date){grid-template-columns:78px 1fr auto;grid-template-areas:"date title amount""date cat amount"}.txs li:has(.date) .date{color:var(--text-dim);grid-area:date;font-size:13px;display:block}.day-group{margin-top:18px}.filters{background:var(--bg);z-index:5;flex-direction:column;gap:8px;padding:8px 0 6px;display:flex;position:sticky;top:0}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--text-dim);padding:4px 8px 8px 0;font-size:12px;font-weight:500}td{border-top:1px solid var(--surface-2);padding:8px 8px 8px 0}td.dim{color:var(--text-secondary)}th.numh,td.numcell{text-align:right}.donut-wrap{align-items:center;gap:8px;display:flex}.donut-legend{flex:1;margin:0;padding:0;font-size:14px;list-style:none}.donut-legend li{align-items:center;gap:8px;padding:5px 0;display:flex}.donut-legend b{margin-left:auto}.dot{border-radius:3px;flex:none;width:10px;height:10px}.sheet-backdrop{z-index:20;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:880px;max-height:80vh;padding:10px 16px 24px;animation:.18s ease-out rise;overflow-y:auto}@keyframes rise{0%{opacity:.6;transform:translateY(40px)}}.grabber{background:var(--surface-2);border-radius:2px;width:36px;height:4px;margin:4px auto 14px}.sheet-amount{font-size:32px;font-weight:700}.sheet-sub{color:var(--text-dim);margin-top:2px;font-size:13px}.sheet-title{border-bottom:1px solid var(--surface-2);margin:12px 0;padding-bottom:12px;font-size:16px}.sheet-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin:10px 0 8px;font-size:13px}.btn-danger{width:100%;color:var(--negative);cursor:pointer;background:0 0;border:none;margin-top:14px;padding:14px 0 4px;font-family:inherit;font-size:15px;display:block}.tabbar{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--surface-2);padding:8px 0 max(10px, env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;min-width:76px;font-family:inherit;font-size:12px;display:flex}.tabbar button span{font-size:18px;line-height:1}.tabbar button.on{color:var(--accent)}.skeleton-page{padding-top:20px}.sk{background:var(--surface-2);border-radius:6px;height:16px;margin:12px 0;animation:1.2s infinite pulse}.sk.w60{width:60%}.sk.w75{width:75%}.sk.w90{width:90%}@keyframes pulse{50%{opacity:.45}}.loading,.empty,.error{text-align:center;color:var(--text-secondary);padding:40px 16px;font-size:14px}.error{color:var(--negative)}.input{background:var(--surface-2);width:100%;color:var(--text);border:none;border-radius:12px;margin:4px 0;padding:12px 14px;font-family:inherit;font-size:16px;display:block}.input.amount{font-size:28px;font-weight:700}.input:focus{outline:2px solid var(--accent)}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;height:48px;margin-top:16px;font-family:inherit;font-size:16px;font-weight:600;display:block}.btn-primary:disabled{opacity:.45}.form-err{color:var(--negative);margin-top:10px;font-size:14px}.form-ok{color:var(--positive);margin-top:10px;font-size:14px}.fab{z-index:15;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:16px;width:54px;height:54px;font-size:28px;line-height:1;position:fixed;bottom:86px;right:18px}.recon-delta{margin:12px 0 4px;font-size:22px;font-weight:700}.recon-delta.down{color:var(--negative)}.recon-delta.up{color:var(--warning)}.cat-list{margin:0;padding:0;font-size:14px;list-style:none}.cat-list li{border-bottom:1px solid var(--surface-2);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.cat-list li.merging{opacity:.55}.cat-list .dim{color:var(--text-dim)}.cat-actions{gap:6px;display:flex}
