:root{--bg:#f6f6f4;--panel:#fff;--fg:#1d2321;--muted:#5f6964;--line:#dfe2de;--accent:#0f6b5c;--accent-fg:#fff;--ok:#1d7a3e;--warn:#9a5b00;--bad:#b3261e;--radius:8px;--font:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141816;--panel:#1c211f;--fg:#e7ebe8;--muted:#9aa49f;--line:#2e3532;--accent:#4fc2ad;--accent-fg:#0b1412;--ok:#63c98a;--warn:#e0a64a;--bad:#f08a80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font:14px/1.5 var(--font);margin:0}h1{text-wrap:balance;margin:0;font-size:1.5rem}h2{margin:0;font-size:1.1rem}p{max-width:75ch;margin:0}code{font-size:.9em}.muted{color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.shell{max-width:1200px;padding:16px max(16px, env(safe-area-inset-right)) 48px max(16px, env(safe-area-inset-left));flex-direction:column;gap:24px;margin:0 auto;display:flex}.shell.narrow{max-width:420px;padding-top:10vh}.stack{flex-direction:column;gap:12px;display:flex}main{flex-direction:column;gap:32px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.tight{justify-content:flex-end;gap:6px}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 24px;padding-bottom:12px;display:flex}.brand{letter-spacing:.08em}.topbar nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.topbar nav a{color:var(--fg);border-radius:999px;padding:4px 10px;text-decoration:none}.topbar nav a:hover{background:var(--line)}.topbar nav a[aria-current=page]{background:var(--accent);color:var(--accent-fg)}.who{align-items:center;gap:8px;font-size:.9em;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.login{flex-direction:column;gap:8px;display:flex}.login h1{margin-bottom:8px}label{font-weight:500}input[type=email],input[type=password]{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;padding:8px 10px}button{font:inherit;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);border-radius:6px;padding:7px 14px}button:disabled{opacity:.5;cursor:default}button.secondary{color:var(--fg);border-color:var(--line);background:0 0}button.danger{background:var(--bad);border-color:var(--bad);color:var(--panel)}button.small{padding:2px 10px;font-size:.9em}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.drop{border:2px dashed var(--line);border-radius:var(--radius);background:var(--panel);flex-direction:column;align-items:center;gap:12px;padding:32px 16px;display:flex}.drop.over{border-color:var(--accent)}.notice{border-radius:var(--radius);background:var(--panel);border:1px solid;padding:10px 14px}.wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 12px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:8px 12px}tr:last-child td{border-bottom:none}td.text{white-space:normal;min-width:18ch}.r{text-align:right}.pill{white-space:nowrap;border:1px solid;border-radius:999px;padding:1px 10px;font-size:.85em;display:inline-block}.checks{color:var(--bad);margin:4px 0 0;padding-left:1.2em}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:16px;display:flex}.tile .num{font-variant-numeric:tabular-nums;font-size:1.8rem;line-height:1.1}.tile .lab{color:var(--muted);font-size:.9em}.placeholder{flex-direction:column;gap:8px;display:flex}.gap-lg{gap:32px}.small{font-size:.88em}.controls{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}label.inline{flex-wrap:wrap;align-items:center;gap:6px;font-weight:400;display:inline-flex}select,input[type=date],input[type=search],input:not([type]),input[inputmode]{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--fg);border-radius:6px;min-width:0;padding:5px 8px}input[type=search]{flex:1;min-width:16ch;max-width:32ch}input.invalid{border-color:var(--bad)}.numfield{align-items:center;gap:4px;display:inline-flex}.numfield input{text-align:right;width:8ch}.seg{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{background:var(--panel);color:var(--fg);border:none;border-radius:0;padding:5px 12px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--accent-fg)}.badge{background:var(--warn);min-width:1.5em;color:var(--panel);text-align:center;border-radius:999px;margin-left:6px;padding:0 6px;font-size:.8em;display:inline-block}.tile-big .num{font-size:2.1rem}.warnings,.notes,.issues{flex-direction:column;gap:4px;max-width:90ch;margin:0;padding-left:1.2em;display:flex}.warnings li{color:var(--warn)}.chart{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:12px 8px 4px 0}table.clickable tbody tr:not(.detail){cursor:pointer}table.clickable tbody tr:not(.detail):hover td{background:color-mix(in srgb, var(--accent) 6%, transparent)}td.items{max-width:36ch}tr.detail>td{background:var(--bg);white-space:normal}.detail-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;padding:8px 0;display:grid}@media (max-width:760px){.detail-grid{grid-template-columns:1fr}}table.lines{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}table.lines td{padding:4px 10px}table.lines tr.excluded td{color:var(--muted)}table.lines tr.sum td{border-top:2px solid var(--line);font-weight:600}.tag{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:0 8px;font-size:.8em;display:inline-block}.tag-estimate,.tag-unconfirmed{border-color:var(--warn);color:var(--warn)}.tag-allocated{border-style:dashed}.chips{flex-wrap:wrap;gap:6px 12px;display:inline-flex}.chip{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:1px 4px 1px 10px;display:inline-flex}.row.tight.left{flex-wrap:nowrap;justify-content:flex-start}.savebar{padding:12px max(16px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex;position:sticky;bottom:0}.card.stack{padding:16px}
