:root{color-scheme:light;--page: #f9f9f7;--surface: #fcfcfb;--ink: #0b0b0b;--ink-2: #52514e;--muted: #898781;--grid: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--accent: #2a78d6;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--other: #898781;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--good-text: #006300}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--ink: #ffffff;--ink-2: #c3c2b7;--muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--good-text: #0ca30c}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}a{color:inherit}button{font:inherit}.shell{max-width:1040px;margin:0 auto;padding:16px 16px 64px}.nav{display:flex;align-items:center;gap:6px;padding:10px 0 18px;flex-wrap:wrap}.nav .brand{font-weight:700;font-size:17px;margin-right:10px}.nav a{text-decoration:none;color:var(--ink-2);padding:6px 12px;border-radius:999px;font-size:14px}.nav a.active{background:var(--surface);color:var(--ink);border:1px solid var(--border);font-weight:600}.nav .spacer{flex:1}.nav .logout{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.card h2{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:1fr 1fr}@media(max-width:720px){.grid.cols-2{grid-template-columns:1fr}}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tile .label{font-size:12px;color:var(--muted)}.tile .value{font-size:26px;font-weight:700;margin-top:2px}.tile .sub{font-size:12px;color:var(--ink-2);margin-top:2px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:none;color:var(--ink-2);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer}.chip.active{background:var(--ink);color:var(--page);border-color:var(--ink);font-weight:600}.bar-row{display:grid;grid-template-columns:minmax(110px,30%) 1fr auto;gap:10px;align-items:center;padding:5px 0;font-size:14px}.bar-row .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row .track{height:14px;position:relative}.bar-row .fill{position:absolute;inset:0 auto 0 0;border-radius:0 4px 4px 0;background:var(--accent);min-width:2px}.bar-row .num{color:var(--ink-2);font-variant-numeric:tabular-nums}.budget{margin-bottom:12px}.budget .top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:4px}.budget .meter{height:10px;background:var(--grid);border-radius:5px;overflow:hidden}.budget .meter>div{height:100%;border-radius:5px 0 0 5px}.budget .status{font-size:12px;color:var(--ink-2);margin-top:3px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-size:12px;font-weight:600;padding:6px 8px;border-bottom:1px solid var(--grid)}td{padding:8px;border-bottom:1px solid var(--grid);vertical-align:top}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.badge{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--ink-2)}.muted{color:var(--muted)}.small{font-size:12px}.chart-wrap{position:relative}.tooltip{position:absolute;pointer-events:none;z-index:5;background:var(--ink);color:var(--page);border-radius:8px;padding:6px 10px;font-size:12px;transform:translate(-50%,-100%);white-space:nowrap}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-top:8px}.legend .swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.login-box{max-width:360px;margin:12vh auto 0;text-align:center}.login-box h1{font-size:24px}.btn{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:11px 18px;font-size:15px;font-weight:600;cursor:pointer;width:100%}.btn:disabled{opacity:.6;cursor:default}.code-input{width:100%;text-align:center;letter-spacing:.5em;font-size:24px;padding:10px;border-radius:10px;border:1px solid var(--baseline);background:var(--surface);color:var(--ink);margin:14px 0}.error{color:var(--critical);font-size:13px;min-height:18px}input[type=search],select{background:var(--surface);color:var(--ink);border:1px solid var(--baseline);border-radius:8px;padding:7px 10px;font-size:14px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.drawer-backdrop{position:fixed;inset:0;background:#00000073;z-index:20;display:flex;justify-content:flex-end}.drawer{background:var(--page);width:min(480px,100%);height:100%;overflow-y:auto;padding:20px;border-left:1px solid var(--border)}.drawer-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:14px}.drawer-head .value{font-size:28px;font-weight:700}.drawer-head .sub{color:var(--ink-2);margin-top:2px}.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 18px;font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0}.artifact{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.artifact h2{margin:0 0 10px;font-size:13px;color:var(--ink-2);font-weight:600}.artifact-img{max-width:100%;border-radius:8px;display:block;margin-bottom:10px}.artifact-text{white-space:pre-wrap;word-break:break-word;font-size:12.5px;line-height:1.5;font-family:inherit;color:var(--ink-2);margin:0;max-height:50vh;overflow-y:auto}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
