:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--surface-2:#f0efec;--ink:#0b0b0b;--ink-2:#52514e;--muted:#898781;--hairline:#e1e0d9;--baseline:#c3c2b7;--ring:#0b0b0b1a;--accent:#0e7a58;--accent-ink:#0a5c43;--accent-wash:#0e7a581f;--good:#0ca30c;--good-ink:#006300;--warn:#fab219;--warn-ink:#7a5200;--serious:#ec835a;--serious-ink:#93380f;--critical:#d03b3b;--critical-ink:#a02020;--wash-good:#0ca30c1f;--wash-warn:#fab21929;--wash-serious:#ec835a29;--wash-critical:#d03b3b1f;--focus:#2a78d6;--radius:6px;--font:system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#242422;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--hairline:#2c2c2a;--baseline:#383835;--ring:#ffffff1a;--accent:#1d9c72;--accent-ink:#64c9a4;--accent-wash:#1d9c7233;--good:#0ca30c;--good-ink:#4cc24c;--warn:#fab219;--warn-ink:#fab219;--serious:#ec835a;--serious-ink:#f0a183;--critical:#d03b3b;--critical-ink:#e66767;--wash-good:#0ca30c2e;--wash-warn:#fab21924;--wash-serious:#ec835a24;--wash-critical:#d03b3b33;--focus:#3987e5}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--page);color:var(--ink);font-family:var(--font);margin:0;font-size:14px;line-height:1.45}:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-radius:2px}.skip-link{z-index:50;background:var(--surface);color:var(--ink);border:1px solid var(--hairline);padding:8px 12px;position:absolute;top:0;left:-9999px}.skip-link:focus-visible{top:8px;left:8px}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-size:.92em}.shell{min-height:100%;display:flex}.sidenav{border-right:1px solid var(--hairline);background:var(--surface);flex-direction:column;flex:none;width:196px;height:100vh;display:flex;position:sticky;top:0}.sidenav .brand{letter-spacing:.02em;padding:14px 16px 10px;font-weight:700}.sidenav .brand small{color:var(--muted);font-size:11px;font-weight:400;display:block}.sidenav nav{flex:1;padding:4px 8px;overflow-y:auto}.sidenav nav a{border-radius:var(--radius);color:var(--ink-2);margin:1px 0;padding:6px 10px;font-size:13px;display:block}.sidenav nav a:hover{background:var(--surface-2);text-decoration:none}.sidenav nav a[aria-current=page]{background:var(--accent-wash);color:var(--ink);font-weight:600}.sidenav nav .nav-sep{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 10px 4px;font-size:11px}.sidenav .whoami{border-top:1px solid var(--hairline);color:var(--ink-2);padding:10px 16px;font-size:12px}.sidenav .whoami .roles{color:var(--muted);font-size:11px}main.content{flex:1;min-width:0;max-width:1400px;padding:18px 22px 48px}.page-head{margin:0 0 14px}.page-head h1{margin:0;font-size:20px;font-weight:700}.page-head .sub{color:var(--ink-2);margin-top:2px;font-size:13px}.page-head .head-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);margin-bottom:14px;padding:14px 16px}.card>h2{margin:0 0 10px;font-size:14px;font-weight:700}.card>h2 small{color:var(--muted);font-weight:400}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:14px;display:grid}.grid-2>.card{margin-bottom:0}.filters{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);flex-wrap:wrap;align-items:end;gap:8px 12px;margin-bottom:12px;padding:10px 12px;display:flex}.filters .f{flex-direction:column;gap:2px;display:flex}.filters label,.field>label{color:var(--ink-2);font-size:11px;font-weight:600}input,select,textarea,button{font:inherit;color:inherit}input[type=text],input[type=search],input[type=email],input[type=password],input[type=date],input[type=number],input[type=datetime-local],select,textarea{background:var(--surface);border:1px solid var(--baseline);border-radius:var(--radius);min-height:30px;padding:5px 8px;font-size:13px}textarea{resize:vertical}input:disabled,select:disabled,textarea:disabled{opacity:.55}.field{flex-direction:column;gap:3px;margin-bottom:10px;display:flex}.field .hint{color:var(--muted);font-size:11.5px}fieldset{border:1px solid var(--hairline);border-radius:var(--radius);margin:0 0 12px;padding:10px 12px}legend{padding:0 4px;font-size:12px;font-weight:700}.btn{background:var(--surface-2);border:1px solid var(--baseline);border-radius:var(--radius);cursor:pointer;min-height:30px;color:var(--ink);padding:5px 12px;font-size:13px}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.danger{background:var(--critical);border-color:var(--critical);color:#fff;font-weight:600}.btn.ghost{color:var(--accent-ink);background:0 0;border-color:#0000;padding:5px 6px}.btn.ghost:hover:not(:disabled){background:var(--accent-wash);border-color:#0000}.btn.small{min-height:24px;padding:2px 8px;font-size:12px}.table-wrap{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data caption{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--hairline);padding:8px 12px;font-size:12px}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--hairline);white-space:nowrap;vertical-align:middle;padding:5px 10px}table.data th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface);z-index:1;font-size:11px;font-weight:600;position:sticky;top:0}table.data td.wrap,table.data th.wrap{white-space:normal}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data tbody tr:hover{background:var(--surface-2)}table.data tbody tr:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}table.data tbody tr[data-active=true]{background:var(--accent-wash)}table.data tbody tr.detail-row,table.data tbody tr.detail-row:hover{background:var(--surface-2)}table.data tbody tr.detail-row>td{white-space:normal;padding:10px 12px}th.sortable button{all:unset;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}th.sortable button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}th.sortable .dir{color:var(--accent-ink)}.row-actions{gap:4px;display:flex}.table-foot{color:var(--ink-2);align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.badge{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge:before{content:"●";font-size:8px;line-height:1}.badge.neutral{background:var(--surface-2);color:var(--ink-2)}.badge.neutral:before{content:"○"}.badge.info{background:var(--accent-wash);color:var(--accent-ink)}.badge.good{background:var(--wash-good);color:var(--good-ink)}.badge.good:before{content:"✓";font-size:10px}.badge.warn{background:var(--wash-warn);color:var(--warn-ink)}.badge.serious{background:var(--wash-serious);color:var(--serious-ink)}.badge.serious:before{content:"▲";font-size:8px}.badge.critical{background:var(--wash-critical);color:var(--critical-ink)}.badge.critical:before{content:"▲";font-size:8px}.badge.muted-strike{background:var(--surface-2);color:var(--muted);text-decoration:line-through}.badge.muted-strike:before{content:"○"}.bar{align-items:center;gap:6px;min-width:110px;display:inline-flex}.bar .track{background:var(--surface-2);border-radius:0 4px 4px 0;flex:1;min-width:56px;height:8px;overflow:hidden}.bar .fill{background:var(--accent);border-radius:0 4px 4px 0;height:100%;display:block}.bar .val{font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right;min-width:34px;font-size:12px}.hero-stat{flex-wrap:wrap;align-items:end;gap:28px;display:flex}.hero-stat .hero .label{color:var(--ink-2);font-size:12px}.hero-stat .hero .value{font-size:44px;font-weight:700;line-height:1.05}.hero-stat .side .label{color:var(--muted);font-size:11px}.hero-stat .side .value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.timeline{margin:0;padding:0;list-style:none}.timeline li{grid-template-columns:92px 14px 1fr;gap:0 10px;display:grid;position:relative}.timeline .when{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums;padding:10px 0;font-size:12px}.timeline .rail{position:relative}.timeline .rail:before{content:"";background:var(--hairline);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.timeline li:first-child .rail:before{top:14px}.timeline li:last-child .rail:before{height:14px;bottom:auto}.timeline .dot{background:var(--muted);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin-left:-5px;position:absolute;top:14px;left:50%}.timeline .dot.state-ADMINISTERED{background:var(--good)}.timeline .dot.state-DUE_TODAY,.timeline .dot.state-IN_WINDOW{background:var(--accent)}.timeline .dot.state-OVERDUE{background:var(--serious)}.timeline .dot.state-EXPIRED{background:var(--critical)}.timeline .dot.state-SCHEDULED{background:var(--baseline)}.timeline .dot.state-NOT_APPLICABLE{background:var(--surface-2);border:1px solid var(--baseline)}.timeline .body{min-width:0;padding:8px 0 14px}.timeline .body .line1{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline .body .line1 .lbl{font-weight:700}.timeline .body .meta{color:var(--ink-2);margin-top:2px;font-size:12px}.timeline .body .flag{color:var(--serious-ink);margin-top:2px;font-size:12px}.notice{border:1px solid var(--hairline);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);margin:0 0 12px;padding:8px 12px;font-size:13px}.notice.error{border-left-color:var(--critical)}.notice.warn{border-left-color:var(--warn)}.notice.good{border-left-color:var(--good)}.notice .code{color:var(--muted);font-size:11px}.flash{color:var(--good-ink);font-size:12px;font-weight:600}.empty{text-align:center;color:var(--muted);padding:28px 16px;font-size:13px}dl.kv{grid-template-columns:max-content 1fr;gap:3px 14px;margin:0;display:grid}dl.kv dt{color:var(--muted);padding-top:1px;font-size:12px}dl.kv dd{overflow-wrap:anywhere;margin:0;font-size:13px}.signin-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.signin{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);width:100%;max-width:360px;padding:22px}.signin h1{margin:0 0 2px;font-size:18px}.signin .sub{color:var(--muted);margin-bottom:16px;font-size:12px}.purpose-gate{max-width:620px}.purpose-gate .option{border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:8px;padding:9px 10px;display:flex}.purpose-gate .option:has(input:checked){border-color:var(--accent);background:var(--accent-wash)}.purpose-gate .option input{margin-top:3px}.purpose-gate .option .desc{color:var(--ink-2);font-size:12px}pre.source{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius);max-height:480px;font-family:var(--mono);tab-size:2;padding:12px;font-size:12px;line-height:1.5;overflow:auto}.chan{align-items:center;gap:3px;margin-right:8px;font-size:11px;font-weight:700;display:inline-flex}.chan .ok{color:var(--good-ink)}.chan .down{color:var(--critical-ink)}.kbd-hint{color:var(--muted);margin:6px 2px;font-size:11.5px}kbd{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--baseline);border-bottom-width:2px;border-radius:3px;padding:0 4px;font-size:11px}@media (width<=860px){.shell{flex-direction:column}.sidenav{width:100%;height:auto;position:static}.sidenav nav{flex-wrap:wrap;display:flex}.sidenav nav .nav-sep{display:none}}
