:root{--bg:#f6f7f9;--card:#fff;--ink:#16202a;--muted:#6b7683;--line:#dfe3e8;--accent:#1f4e79;--good:#1b7f3b;--bad:#b3261e;--warn:#9a6700;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}
@media (prefers-color-scheme:dark){:root{--bg:#0f1418;--card:#171d23;--ink:#e6eaee;--muted:#98a2ad;--line:#2a323b;--accent:#8ab4e8;--good:#5fcf7f;--bad:#f28b82;--warn:#e3b341}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
header{display:flex;align-items:center;gap:18px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--card)}
header h1{font-size:15px;margin:0;font-weight:600}header nav a{color:var(--muted);text-decoration:none;margin-right:14px;padding:4px 0;border-bottom:2px solid transparent}
header nav a.on{color:var(--ink);border-color:var(--accent)}header .who{margin-left:auto;color:var(--muted);font-size:12px}header .who button{margin-left:10px}
main{max-width:1180px;margin:0 auto;padding:18px 20px}.hidden{display:none!important}
.answer{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:16px}
.answer .big{font-size:28px;font-weight:600;letter-spacing:-.01em}.answer .big.neg{color:var(--bad)}.answer .big.pos{color:var(--good)}
.answer p{margin:6px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:16px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.tile .k{color:var(--muted);font-size:12px}.tile .v{font-size:20px;font-weight:600;margin-top:2px}.tile .s{font-size:12px;color:var(--muted);margin-top:4px}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13px}
th,td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-weight:500;font-size:12px;background:transparent}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:12.5px}tr.group td{font-weight:600;background:rgba(127,127,127,.06)}tr.total td{font-weight:700;border-top:2px solid var(--line)}
tr.click{cursor:pointer}tr.click:hover td{background:rgba(127,127,127,.08)}.neg{color:var(--bad)}.pos{color:var(--good)}.warn{color:var(--warn)}.muted{color:var(--muted)}
.bar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}select,input,button,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:7px;padding:6px 9px}
button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button:disabled{opacity:.5}
#login{max-width:340px;margin:70px auto;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px}#login input{width:100%;margin:6px 0}#login button{width:100%;margin-top:8px}#login .err{color:var(--bad);font-size:12px;min-height:14px;margin-top:6px}
.pill{display:inline-block;padding:1px 7px;border-radius:9px;font-size:11px;border:1px solid var(--line);color:var(--muted)}.pill.open{color:var(--warn);border-color:var(--warn)}.pill.resolved{color:var(--good);border-color:var(--good)}
svg.spark{width:120px;height:28px;vertical-align:middle}details{margin:6px 0}summary{cursor:pointer;color:var(--muted)}.note{font-size:12px;color:var(--muted);margin-top:10px}

.scroll{overflow-x:auto;margin-bottom:16px}.scroll table{min-width:100%}td.act{font-weight:600}td.bud{color:var(--muted)}th.sub{font-weight:600;color:var(--ink)}.tabs a{margin-right:14px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;padding:4px 0}.tabs a.on{color:var(--ink);border-color:var(--accent)}.tabs{margin:14px 0 10px}h3{margin:18px 0 8px;font-size:14px}
.plan input[type=number]{width:96px}.plan input[type=month]{width:120px}.plan input[type=date]{width:140px}.plan td{white-space:nowrap}.plan td.w{white-space:normal;min-width:220px}.right{margin-left:auto}
