:root{--bg:#fff;--fg:#1a1a1a;--muted:#666;--border:#e2e2e2;--accent:#c8102e}@media (prefers-color-scheme:dark){:root{--bg:#121212;--fg:#ededed;--muted:#a0a0a0;--border:#2c2c2c}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:960px;margin:0 auto;padding:32px 16px}h1{color:var(--accent)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}th{color:var(--muted);font-weight:500}main.narrow{max-width:480px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.topbar nav{align-items:center;gap:16px;display:flex}.topbar .user{align-items:center;gap:12px;display:flex}.brand{color:var(--accent);font-weight:600;text-decoration:none}a{color:inherit}.stack{flex-direction:column;gap:24px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input,select,button{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:4px;padding:6px 10px}button{cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.link{background:0 0;border:none;padding:0;text-decoration:underline}button.danger{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.875rem}.filters{align-items:flex-end;margin:16px 0 24px}.filters label{color:var(--muted);flex-direction:column;gap:4px;font-size:.875rem;display:flex}.scroll-x{overflow-x:auto}table.report{white-space:nowrap;font-size:.875rem}table.report td,table.report th{padding:4px 8px}.num{text-align:right;font-variant-numeric:tabular-nums}.strong{font-weight:600}tr.group td{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:none;padding-top:16px;font-size:.75rem;font-weight:600}tr.subtotal td{border-bottom:2px solid var(--border);font-weight:600}tr.total td{padding-top:12px;font-weight:600}tr.result td{border-top:2px solid var(--fg);border-bottom:3px double var(--fg);font-weight:700}code{border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-size:.875em}.error{color:var(--accent)}a.button{border:1px solid var(--border);border-radius:4px;padding:6px 10px;text-decoration:none;display:inline-block}a.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
