:root{--bg:#f7f7f5;--surface:#f7f7f5;--surface-2:#eae8e3;--ink:#140700;--muted:#5e5855;--dim:#8e8a85;--line:#d8d6d0;--line-2:#eae8e3;--accent:#ff6a00;--accent-ink:#f7f7f5;--teal:#0f7b9c;--heat:#ff6a00;--heat-ink:#140700;--good:#0f7b9c;--warn:#a8591f;--bad:#b4301f;--sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,"Cascadia Mono",Consolas,monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#120a05;--surface:#120a05;--surface-2:#1e1712;--ink:#f4f1ee;--muted:#ada49e;--dim:#7e7770;--line:#2b211c;--line-2:#1e1712;--accent:#ff8a3d;--accent-ink:#120a05;--teal:#2b8fb2;--heat:#ff8a3d;--heat-ink:#120a05;--good:#2b8fb2;--warn:#d7975a;--bad:#e0735f}}*{box-sizing:border-box;border-radius:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--ink);border-bottom:1px solid var(--accent);text-decoration:none}a:hover{color:var(--accent)}.app{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.side{background:var(--bg);border-right:1px solid var(--line);flex-direction:column;gap:22px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{font:800 13px var(--sans);letter-spacing:-.03em;color:var(--ink);padding:0 8px}.brand b{color:var(--ink);font-weight:800}.lbl{font:600 10.5px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}select,input[type=number],input[type=text],input[type=search],input[type=password],textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:0 0;width:100%;padding:9px 11px}select:focus,input:focus,textarea:focus{border-color:var(--ink);outline:none}.client{flex-direction:column;gap:6px;padding:0 8px;display:flex}nav{flex-direction:column;gap:2px;display:flex}nav a{color:var(--muted);border:0;padding:8px 10px;font-weight:500}nav a:hover{color:var(--ink)}nav a[aria-current=page]{color:var(--ink);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.side-foot{color:var(--dim);flex-direction:column;gap:6px;margin-top:auto;padding:0 8px;font-size:12px;display:flex}main{min-width:0;padding:28px clamp(16px,3vw,40px) 60px}.screen{flex-direction:column;gap:22px;max-width:1180px;display:flex}h1{letter-spacing:-.035em;margin:0;font-size:22px;font-weight:700;line-height:1.1}h2{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:700}.sub{color:var(--muted);margin:6px 0 0}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--dim);font-size:10.5px;font-weight:600}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0 40px;padding:16px 0;display:flex}.stat{flex-direction:column;gap:2px;display:flex}.stat .v{font:700 22px var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat .k{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:10.5px}.panel{background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:14px;padding:18px;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;display:grid}.ledger{border-top:1px solid var(--line)}.ledger .row{border-bottom:1px solid var(--line-2);justify-content:space-between;gap:10px;padding:8px 0;font-size:13.5px;display:flex}.ledger .row .k{color:var(--muted)}.ledger .row .v{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{all:unset;cursor:pointer;border:1px solid var(--line);color:var(--muted);background:0 0;padding:5px 11px;font-size:13px}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn{all:unset;cursor:pointer;background:var(--ink);color:var(--accent-ink);border:1px solid var(--ink);white-space:nowrap;align-items:center;gap:8px;padding:9px 16px;font-weight:600;display:inline-flex}.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn[disabled]{opacity:.4;cursor:default}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.ghost:hover{border-color:var(--ink);color:var(--ink);background:0 0}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger:hover{color:#fff;background:#8f2518;border-color:#8f2518}.btn.small{padding:5px 10px;font-size:13px;font-weight:600}.link-btn{all:unset;cursor:pointer;color:var(--ink);border-bottom:1px solid var(--accent);font-size:13px;font-weight:500}.link-btn:hover{color:var(--accent)}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th{font:600 10.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px}td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}tr:last-child td{border-bottom:0}td.r,th.r{text-align:right}td.nw{white-space:nowrap}.filters{grid-template-columns:auto minmax(200px,260px) auto;align-items:start;gap:14px 22px;display:grid}.fgroup{flex-direction:column;gap:6px;display:flex}.range{align-items:center;gap:6px;display:flex}.range input{width:96px}.check{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}details.dd{position:relative}details.dd summary{cursor:pointer;border:1px solid var(--line);background:0 0;justify-content:space-between;gap:8px;padding:9px 11px;list-style:none;display:flex}details.dd summary::-webkit-details-marker{display:none}details.dd summary:after{content:"▾";color:var(--dim)}.ddpanel{z-index:5;background:var(--bg);border:1px solid var(--ink);flex-direction:column;gap:8px;width:280px;max-width:80vw;padding:10px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.ddlist{flex-direction:column;max-height:260px;display:flex;overflow:auto}.ddlist label{cursor:pointer;justify-content:space-between;gap:8px;padding:4px 6px;font-size:13px;display:flex}.ddlist label:hover{background:var(--surface-2)}.ddlist label span:first-child{align-items:center;gap:8px;display:flex}.filterline{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:13px;display:flex}.heat{border-collapse:separate;border-spacing:4px;min-width:760px}.heat th{text-align:center;border:0;padding:4px}.heat th.seg{text-align:left}.heat td{border:0;padding:0}.heat td.seg{white-space:nowrap;vertical-align:middle;padding:0 10px 0 0;font-weight:600}.heat td.tot{text-align:right;color:var(--muted);vertical-align:middle;padding:0 0 0 8px}.cell{box-sizing:border-box;background:color-mix(in oklab,var(--heat) var(--t),var(--surface));border:1px solid var(--line);flex-direction:column;gap:3px;width:100%;min-width:104px;padding:8px 10px;display:flex}.cell .big{font:600 15px var(--mono);font-variant-numeric:tabular-nums}.cell .of{font:11px var(--mono);opacity:.75}.cell.hot{color:var(--heat-ink);border-color:#0000}.cell.done{background:repeating-linear-gradient(135deg,var(--surface-2) 0 6px,var(--surface) 6px 12px);color:var(--muted)}.cell.zero{background:var(--surface);color:var(--muted);opacity:.55}.bar{background:color-mix(in oklab,currentColor 22%,transparent);height:3px;overflow:hidden}.bar i{background:currentColor;height:100%;display:block}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;font-size:12px;display:flex}.sw{vertical-align:-3px;border:1px solid var(--line);width:14px;height:14px;margin-right:6px;display:inline-block}.pill{font:700 10.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid;padding:2px 8px;display:inline-block}.p-good{color:var(--good)}.p-warn{color:var(--warn)}.p-bad{color:var(--bad)}.p-info{color:var(--dim)}.field{flex-direction:column;gap:6px;display:flex}.fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.toast{color:var(--teal);border:1px solid var(--teal);background:0 0;padding:12px 14px;font-weight:600}.errbox{color:var(--bad);border:1px solid var(--bad);white-space:pre-wrap;background:0 0;padding:12px 14px;font-weight:600}.info{background:var(--surface-2);color:var(--ink);border-left:3px solid var(--accent);padding:10px 12px;font-size:13px}.drop{border:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px;display:flex}.crumb{color:var(--dim);font-size:12px;font-family:var(--mono)}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:12px}pre.json{font:12px/1.45 var(--mono);background:var(--surface-2);white-space:pre-wrap;word-break:break-word;max-height:320px;margin:0;padding:10px;overflow:auto}.progress{background:var(--surface-2);height:8px;overflow:hidden}.progress i{background:var(--accent);height:100%;display:block}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login form{width:min(360px,100%)}@media (max-width:900px){.filters{grid-template-columns:1fr}}@media (max-width:760px){.app{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}nav{flex-flow:wrap}}a.link-cell{color:inherit;cursor:pointer;border-bottom:0}a.link-cell:hover{color:inherit;box-shadow:0 0 0 2px var(--accent)}a.chip{border-bottom:0}button.link-cell{all:unset;box-sizing:border-box;cursor:pointer;flex-direction:column;gap:3px;width:100%;display:flex}button.link-cell:hover{box-shadow:0 0 0 2px var(--accent)}button.link-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cell.sel{box-shadow:0 0 0 3px var(--ink);position:relative}.cell.sel:before{content:"✓";font-size:12px;font-weight:700;position:absolute;top:4px;right:7px}.selbar{bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:6;border:1px solid var(--ink);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 14px;display:flex;position:sticky}.loc{flex-direction:column;gap:10px;display:flex}
