:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--card:#fff;--ink:#0b0b0b;--ink2:#52514e;--muted:#6f6d68;--grid:#e1e0d9;--axis:#c3c2b7;--ring:#0b0b0b1a;--hover:#0b0b0b0b;--c1:#2a78d6;--c2:#eb6834;--c3:#1baf7a;--c4:#eda100;--c5:#e87ba4;--c6:#008300;--c7:#4a3aa7;--c8:#e34948;--c9:#8a6a3b;--c10:#3f8d96;--seq:#86b6ef;--pos:#006300;--neg:#b42828;--good:#0ca30c;--watch:#fab219;--concern:#ec835a;--critical:#d03b3b;--ar:#8e6bbf;--move:#2a9fd6;--none:#c3c2b7;--accent:#4f7a12;--accent-ink:#fff;--brand:#92c42d;--brand-grey:#b2b2b2;--shadow:0 1px 2px #0000000a,0 4px 16px #0000000a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--card:#1a1a19;--ink:#fff;--ink2:#c3c2b7;--muted:#9a988f;--grid:#2c2c2a;--axis:#383835;--ring:#ffffff1a;--hover:#ffffff0d;--c1:#3987e5;--c2:#d95926;--c3:#199e70;--c4:#c98500;--c5:#d55181;--c6:#008300;--c7:#9085e9;--c8:#e66767;--c9:#b89566;--c10:#5fb4bd;--seq:#256abf;--pos:#3fc43f;--neg:#f07a7a;--accent:#92c42d;--accent-ink:#10180a;--none:#4a4a46;--shadow:none;--brand-grey:#5c5c58}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--card:#1a1a19;--ink:#fff;--ink2:#c3c2b7;--muted:#9a988f;--grid:#2c2c2a;--axis:#383835;--ring:#ffffff1a;--hover:#ffffff0d;--c1:#3987e5;--c2:#d95926;--c3:#199e70;--c4:#c98500;--c5:#d55181;--c6:#008300;--c7:#9085e9;--c8:#e66767;--c9:#b89566;--c10:#5fb4bd;--seq:#256abf;--pos:#3fc43f;--neg:#f07a7a;--accent:#92c42d;--accent-ink:#10180a;--none:#4a4a46;--shadow:none;--brand-grey:#5c5c58}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}button,select,input,textarea{font:inherit;color:inherit}.wrap{max-width:1360px;margin:0 auto;padding:0 20px 48px}header.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:18px 0 10px;display:flex}body{border-top:4px solid var(--brand)}.brand{align-items:center;gap:16px;min-width:0;display:flex}.brand .wordmark{width:auto;height:38px;display:block}.brand .mark{width:34px;height:34px;display:none}.brand .divider{background:var(--brand-grey);align-self:stretch;width:1px;margin:2px 0}@media (width<=640px){.brand .wordmark{display:none}.brand .mark{display:block}}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:650;line-height:1.2}.sub{color:var(--ink2);margin-top:4px;font-size:13px}.actions{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--ring);background:var(--card);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--hover)}a{color:var(--accent)}a.btn{color:var(--ink)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn svg{width:16px;height:16px}.tabs{border-bottom:1px solid var(--ring);gap:4px;margin-top:6px;display:flex}.tabs button{cursor:pointer;color:var(--ink2);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-weight:560}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--brand)}.tabs .count{background:var(--critical);color:#fff;text-align:center;border-radius:9px;min-width:18px;margin-left:6px;padding:0 5px;font-size:11px;line-height:18px;display:inline-block}.bar{z-index:20;background:color-mix(in srgb,var(--page) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ring);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;padding:10px 0;display:flex;position:sticky;top:0}@media (width<=760px){.bar{position:static}}.ctl{align-items:center;gap:8px;display:flex}.ctl>label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}select{background:var(--card);border:1px solid var(--ring);border-radius:8px;padding:6px 26px 6px 10px}.seg{background:var(--card);border:1px solid var(--ring);border-radius:9px;flex-wrap:wrap;padding:2px;display:inline-flex}.seg button{cursor:pointer;color:var(--ink2);background:0 0;border:0;border-radius:7px;padding:5px 10px}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.seg button:not([aria-pressed=true]):hover{background:var(--hover)}.grid{gap:16px;display:grid}.kpis{grid-template-columns:repeat(var(--kpi-cols,5),minmax(0,1fr))}.tile.static{cursor:default}.tile .note{margin-top:-2px;font-size:11.5px}.two{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.half{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (width<=1100px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.two,.half{grid-template-columns:1fr}}@media (width<=640px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{padding:0 16px 40px}}.card{background:var(--card);border:1px solid var(--ring);box-shadow:var(--shadow);border-radius:12px;min-width:0;padding:16px 18px}.card h2{margin:0;font-size:15px;font-weight:620}.hint{color:var(--muted);margin-top:2px;font-size:12.5px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;margin-bottom:10px;display:flex}section{margin-top:16px}.tile{cursor:pointer}.tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tile .lbl{color:var(--ink2);font-size:12.5px}.tile .val{letter-spacing:-.02em;white-space:nowrap;margin:3px 0 2px;font-size:26px;font-weight:640}.tile .deltas{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.tile .extra{color:var(--ink2);min-height:17px;margin-top:2px;font-size:12px}.tile.na{opacity:.55}.pos{color:var(--pos)}.neg{color:var(--neg)}.na{color:var(--muted)}.d{white-space:nowrap}.d strong{font-weight:620}.chart{width:100%;position:relative}.chart svg{width:100%;display:block;overflow:visible}.legend{color:var(--ink2);flex-wrap:wrap;gap:12px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:14px;height:2px;display:inline-block}.legend i.box{border-radius:2px;width:10px;height:10px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap;padding:8px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:var(--card);z-index:1;font-size:11.5px;font-weight:560;position:sticky;top:0}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}tbody tr.click{cursor:pointer}tbody tr.click:hover,tbody tr.click:focus{background:var(--hover);outline:none}.tbl{max-height:640px;overflow:auto}.cust{text-overflow:ellipsis;max-width:260px;font-weight:560;overflow:hidden}.code{color:var(--muted);font-variant-numeric:tabular-nums}.pill{color:var(--ink2);border:1px solid var(--ring);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:1px 8px 1px 6px;font-size:12px;display:inline-flex}.pill b{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.small{color:var(--ink2);font-size:12px}.sharebar{background:var(--seq);vertical-align:middle;border-radius:3px;height:6px;margin-left:6px;display:inline-block}.note{color:var(--muted);font-size:12.5px}.empty{text-align:center;color:var(--muted);padding:24px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}input[type=search],input[type=text],input[type=email],textarea{background:var(--card);border:1px solid var(--ring);border-radius:8px;padding:6px 10px}input[type=search]{min-width:190px}input[type=range]{accent-color:var(--accent);width:100%}.pace-nums{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.pace-nums .big{font-size:22px;font-weight:640}.pace-nums .cap{color:var(--muted);font-size:12px}#tip{pointer-events:none;z-index:100;background:var(--card);border:1px solid var(--ring);border-radius:8px;min-width:150px;max-width:340px;padding:8px 10px;font-size:12.5px;display:none;position:fixed;box-shadow:0 4px 18px #00000024}#tip .t{color:var(--muted);margin-bottom:4px;font-size:12px}#tip .body{white-space:pre-line;color:var(--ink);margin-top:6px}.def{cursor:help;border-bottom:1px dotted var(--axis)}.def:focus-visible{outline-offset:1px}.bandbar{background:var(--grid);border-radius:6px;height:12px;margin:4px 0;display:flex;overflow:hidden}.bandbar span{height:100%;display:block}h2.section-title{color:var(--ink2);text-transform:uppercase;letter-spacing:.05em;margin:28px 0 -4px;font-size:15px}#tip .r{justify-content:space-between;align-items:center;gap:10px;display:flex}#tip .r span{color:var(--ink2);align-items:center;gap:6px;display:inline-flex}#tip .r i{border-radius:2px;width:12px;height:2px;display:inline-block}#tip .r strong{font-variant-numeric:tabular-nums}#tip .body{white-space:normal;color:var(--ink);font-size:12.5px}.drawer-bg{z-index:60;background:#00000047;display:none;position:fixed;inset:0}.drawer{background:var(--page);z-index:61;border-left:1px solid var(--ring);width:min(800px,100%);transition:transform .22s;position:fixed;top:0;bottom:0;right:0;overflow:auto;transform:translate(100%)}.drawer.open{transform:none}.drawer:not(.open){visibility:hidden;transition:transform .22s,visibility 0s .22s}.drawer .inner{padding:20px}.drawer .close{float:right;z-index:2;position:sticky;top:0}.mini{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}@media (width<=620px){.mini{grid-template-columns:repeat(2,minmax(0,1fr))}}.mini .card{padding:10px 12px}.mini .v{font-size:19px;font-weight:640}.mini .l{color:var(--ink2);font-size:12px}.mini .dd{font-size:12px}.hbar{grid-template-columns:minmax(100px,170px) 1fr 80px 80px;align-items:center;gap:8px;margin:6px 0;font-size:12.5px;display:grid}.hbar .track{border-radius:0 4px 4px 0;height:10px}.hbar .nm{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.hbar .nm i{border-radius:2px;flex:none;width:10px;height:10px}.hbar .nv{text-align:right;font-variant-numeric:tabular-nums}.hbar.click{cursor:pointer;border-radius:6px}.hbar.click:hover{background:var(--hover)}.toast{background:var(--ink);color:var(--page);z-index:120;border-radius:10px;max-width:90vw;padding:10px 16px;display:none;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.banner{color:var(--ink2);background:color-mix(in srgb,var(--watch) 16%,transparent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:8px 12px;font-size:13px;display:flex}.banner.info{background:color-mix(in srgb,var(--accent) 10%,transparent)}.heat td{white-space:normal;vertical-align:top;border-bottom:1px solid var(--grid)}.heat td.cell{min-width:120px;max-width:220px;color:var(--ink2);border-left:3px solid #0000;padding:6px 8px;font-size:12px}.heat td.cell .txt{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.st-good{background:color-mix(in srgb,var(--good) 13%,transparent);border-left-color:var(--good)!important}.st-watch{background:color-mix(in srgb,var(--watch) 18%,transparent);border-left-color:var(--watch)!important}.st-concern{background:color-mix(in srgb,var(--concern) 18%,transparent);border-left-color:var(--concern)!important}.st-critical{background:color-mix(in srgb,var(--critical) 16%,transparent);border-left-color:var(--critical)!important}.st-ar{background:color-mix(in srgb,var(--ar) 16%,transparent);border-left-color:var(--ar)!important}.st-move{background:color-mix(in srgb,var(--move) 16%,transparent);border-left-color:var(--move)!important}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--ring);background:var(--card);cursor:pointer;text-align:left;border-radius:10px;min-width:110px;padding:8px 12px}.chip[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.chip .n{font-size:20px;font-weight:640}.chip .l{color:var(--ink2);align-items:center;gap:6px;font-size:12px;display:flex}.area{border:1px solid var(--ring);background:var(--card);border-radius:10px;margin:8px 0;padding:10px 12px}.area h3{justify-content:space-between;align-items:center;gap:8px;margin:0 0 6px;font-size:13.5px;display:flex}.hist{margin:0;padding:0;list-style:none}.hist li{border-top:1px dashed var(--grid);grid-template-columns:86px 1fr;gap:8px;padding:3px 0;font-size:12.5px;display:grid}.hist li:first-child{border-top:0}.hist .dt{color:var(--muted);font-variant-numeric:tabular-nums}.hist .new{color:var(--accent);font-weight:600}form.add{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}form.add textarea{grid-column:1/-1;min-height:64px}form.add .full{grid-column:1/-1}.toast.show{display:block}.linkbtn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.linkbtn:hover{text-decoration:underline}.linkbtn.neg{color:var(--neg)}.area h3 select{padding:2px 22px 2px 6px;font-size:12px}.dropzone{border:2px dashed var(--ring);text-align:center;color:var(--ink2);cursor:pointer;background:var(--page);border-radius:12px;padding:28px;display:block}.dropzone:hover{border-color:var(--accent)}input[type=date]{background:var(--card);border:1px solid var(--ring);border-radius:8px;padding:4px 8px}dl.defs{color:var(--ink2);grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13px;display:grid}dl.defs dt{color:var(--ink);font-weight:600}.hidden{display:none!important}@media print{.bar,.actions,.btn,.tabs{display:none!important}.card{break-inside:avoid;box-shadow:none}}form.invite{flex-wrap:wrap;gap:8px;margin:10px 0 14px}form.invite input[type=email]{min-width:260px}tr.off td{opacity:.55}.export{vertical-align:middle;gap:6px;margin-left:10px;font-size:11px;font-weight:500;display:inline-flex}.export a{color:var(--muted);border:1px solid var(--grid);border-radius:4px;padding:0 5px;text-decoration:none}.export a:hover{color:var(--accent);border-color:var(--accent)}.row-end{justify-content:flex-end;align-items:center;gap:6px;margin:4px 0;display:flex}table.report tr.total td{border-top:2px solid var(--axis);font-weight:600}.status-chip{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;max-width:340px;display:inline-flex;overflow:hidden}.status-chip .dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.status-chip .dot.busy{background:var(--accent);animation:1.2s ease-in-out infinite pulse}.status-chip .dot.bad{background:var(--neg)}.status-chip.bad{color:var(--neg)}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.status-chip .dot.busy{animation:none}}
