:root{color-scheme:light;--bg: #f6f6f4;--surface: #fcfcfb;--surface-2: #f1f1ee;--border: #e1e0d9;--border-strong: #c3c2b7;--ink: #0b0b0b;--ink-2: #52514e;--muted: #898781;--accent: #a31f34;--accent-ink: #ffffff;--accent-soft: #fbeef0;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--blue: #2a78d6;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(11,11,11,.05), 0 1px 1px rgba(11,11,11,.03);--sidebar: 232px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d0d0d;--surface: #1a1a19;--surface-2: #232321;--border: #2c2c2a;--border-strong: #383835;--ink: #f0efec;--ink-2: #c3c2b7;--muted: #898781;--accent: #d9475e;--accent-soft: #2a1519;--blue: #3987e5;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d0d0d;--surface: #1a1a19;--surface-2: #232321;--border: #2c2c2a;--border-strong: #383835;--ink: #f0efec;--ink-2: #c3c2b7;--muted: #898781;--accent: #d9475e;--accent-soft: #2a1519;--blue: #3987e5;--shadow: none}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:24px}h2{font-size:16px}h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}p{margin:0}.muted{color:var(--muted)}.ink2{color:var(--ink-2)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.num{font-variant-numeric:tabular-nums}.small{font-size:12px}.xs{font-size:11px}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:8px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--border);background:var(--surface);padding:18px 14px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px;padding:2px 6px}.brand-mark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700}.brand-title{font-weight:600;line-height:1.15}.brand-sub{font-size:11px;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--ink-2);font-weight:500}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.router-link-active{background:var(--accent-soft);color:var(--accent)}.nav svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav .count{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.sidebar-foot{margin-top:auto;font-size:11px;color:var(--muted);padding:0 6px;line-height:1.5}.main{min-width:0;padding:26px 32px 60px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head .sub{color:var(--ink-2);margin-top:4px}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.main{padding:16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:16px}.panel-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.grid{display:grid;gap:14px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.section-head{display:flex;align-items:baseline;gap:10px;margin:26px 0 10px}.section-head h2{font-size:15px}.section-head .n{color:var(--muted);font-size:12px}.section-head:first-child{margin-top:0}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:18px;white-space:nowrap;border:1px solid transparent}.crit-mission{background:#fbe3e3;color:#8f1d1d;border-color:#f2b8b8}.crit-business{background:#fdeadf;color:#8a3a14;border-color:#f6c7ad}.crit-operational{background:#e3eefb;color:#164a87;border-color:#b9d2f3}.crit-non{background:var(--surface-2);color:var(--ink-2);border-color:var(--border)}.crit-unset{background:transparent;color:var(--muted);border-color:var(--border);border-style:dashed}:root[data-theme=dark] .crit-mission,:root:not([data-theme=light]) .dark .crit-mission{background:#3a1616;color:#f3a5a5;border-color:#5a2222}.pill{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border-radius:999px;font-size:11px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border);white-space:nowrap}.pill.live{color:#0b6b0b;background:#e6f5e6;border-color:#bfe3bf}.pill.in_build{color:#7a5200;background:#fff3d6;border-color:#f3dca0}.pill.retired{color:var(--muted);text-decoration:line-through}.pill.proposed{color:#7a5200;background:#fff3d6;border-color:#f3dca0}.pill.confirmed{color:#0b6b0b;background:#e6f5e6;border-color:#bfe3bf}.pill.urgent{color:#8f1d1d;background:#fbe3e3;border-color:#f2b8b8}.pill.accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.tag{display:inline-flex;padding:1px 7px;border-radius:4px;font-size:11px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 6px;border-radius:6px;font-size:11.5px;background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;color:var(--ink-2)}.chip .dot{width:8px;height:8px;border-radius:50%;flex:none}.chip b{color:var(--ink);font-weight:600}.chip .n{color:var(--muted)}.chip.dim{opacity:.55;border-style:dashed}.kind-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;min-width:64px}.avatar{width:24px;height:24px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--ink-2);flex:none}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.input,.select{height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:0}.input:focus,.select:focus{outline:2px solid color-mix(in oklab,var(--accent) 35%,transparent);outline-offset:0;border-color:var(--accent)}.input.search{flex:1;min-width:220px;padding-left:32px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23898781' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 10px center no-repeat}.btn{height:32px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.sm{height:26px;padding:0 9px;font-size:12px}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:default}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}.seg button{height:32px;padding:0 11px;border:0;background:var(--surface);cursor:pointer;color:var(--ink-2)}.seg button.on{background:var(--ink);color:var(--bg)}.seg button+button{border-left:1px solid var(--border-strong)}.tri{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}.tri button{height:26px;padding:0 9px;border:0;background:var(--surface);cursor:pointer;font-size:12px;color:var(--muted)}.tri button+button{border-left:1px solid var(--border)}.tri button.yes.on{background:#e6f5e6;color:#0b6b0b}.tri button.no.on{background:#fbe3e3;color:#8f1d1d}.tri button.unk.on{background:var(--surface-2);color:var(--ink)}.check{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-2)}.table .r{text-align:right}.table a.link{color:var(--blue)}.table a.link:hover{text-decoration:underline}.link{color:var(--blue)}.link:hover{text-decoration:underline}.app-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;transition:border-color .12s,transform .12s}.app-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.app-card .title{font-weight:600;font-size:14.5px;line-height:1.3}.app-card .desc{color:var(--ink-2);font-size:12.5px;min-height:36px}.app-card .foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11.5px;padding-top:8px;border-top:1px solid var(--border)}.fp{display:flex;flex-direction:column;gap:4px}.fp-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.tile{padding:14px 16px}.tile .label{font-size:11.5px;color:var(--muted);font-weight:500}.tile .value{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-top:4px}.tile .delta{font-size:11.5px;color:var(--ink-2);margin-top:4px}.bars{display:flex;flex-direction:column;gap:7px}.bar-row{display:grid;grid-template-columns:150px 1fr 44px;align-items:center;gap:10px;font-size:12.5px}.bar-row .lbl{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:14px;background:transparent;position:relative;display:flex;gap:2px}.bar-seg{height:100%;border-radius:0 4px 4px 0;min-width:2px;transition:width .3s}.bar-seg:not(:first-child){border-radius:0 4px 4px 0}.bar-seg:first-child{border-radius:0 4px 4px 0}.bar-row .val{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--ink-2);margin-top:10px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.progress{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:var(--good);border-radius:999px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr}}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0}.comp-row{display:grid;grid-template-columns:22px minmax(0,1fr) 150px 86px 90px 110px;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid var(--border);font-size:13px}.comp-row.head{border-top:0;background:var(--surface-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;border-radius:var(--radius) var(--radius) 0 0}.comp-row .name{font-weight:500}.comp-row .desc{color:var(--ink-2);font-size:12px;margin-top:2px}.comp-row.unverified .name{color:var(--ink-2)}.kind-group{padding:8px 12px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;background:var(--surface);border-top:1px solid var(--border)}.confirm-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.confirm-item:first-of-type{border-top:0}.empty{color:var(--muted);font-size:13px;padding:18px;text-align:center}.breadcrumb{font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:center;margin-bottom:8px}.breadcrumb a:hover{color:var(--ink)}.toast{position:fixed;bottom:18px;right:18px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px;font-size:13px;box-shadow:0 6px 24px #0003}.finding{padding:10px 12px;border-top:1px solid var(--border);font-size:12.5px}.finding:first-child{border-top:0}.finding .what{color:var(--ink)}.finding .ev{color:var(--muted);font-size:11.5px;margin-top:3px;word-break:break-word}textarea.input{height:auto;padding:8px 10px;min-height:70px;resize:vertical;width:100%}.rubric{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px;background:var(--surface-2)}.rubric-row{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:start;padding:6px 0;border-top:1px solid var(--border)}.rubric-row:first-child{border-top:0;padding-top:0}.score-grid{display:grid;grid-template-columns:1fr 140px;gap:6px 10px;align-items:center}.scope-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}@media(max-width:1100px){.scope-grid{grid-template-columns:1fr}}.doc{padding:28px 36px;font-size:14.5px;line-height:1.6;max-width:900px}.doc h1{font-size:22px;margin:18px 0 8px}.doc h2{font-size:18px;margin:22px 0 8px}.doc h3{font-size:15px;margin:16px 0 6px;text-transform:none;letter-spacing:0;color:var(--ink)}.doc p{margin:0 0 10px}.doc ul,.doc ol{margin:0 0 10px 20px}.doc li{margin:2px 0}.doc table{border-collapse:collapse;width:100%;font-size:12.5px;margin:10px 0 14px}.doc th,.doc td{border:1px solid var(--border);padding:5px 8px;text-align:left;vertical-align:top}.doc th{background:var(--surface-2)}.doc code{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:var(--surface-2);padding:1px 4px;border-radius:4px}.rule{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:start;padding:8px 0;border-top:1px solid var(--border)}.rule:first-child{border-top:0}.rule .t{font-size:12.5px;color:var(--ink-2);white-space:pre-wrap}.cursor:after{content:"▍";animation:blink 1s steps(1) infinite;color:var(--accent)}@keyframes blink{50%{opacity:0}}.signin{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:32px 16px;background:var(--bg)}.signin-brand{display:flex;align-items:center;gap:12px}.signin-card{padding:16px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.sidebar-user{display:flex;align-items:center;gap:10px}.sidebar-user .user-meta{min-width:0}.sidebar-user .user-name{font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .user-sub{font-size:11px;color:var(--muted)}
