:root{--ground: #f2f1ee;--surface: #ffffff;--surface-2: #e9e7e2;--border: #d9d6cf;--border-strong: #b8b5ad;--rule: #e9e7e2;--ink: #15171a;--ink-2: #4a4944;--ink-3: #6b6963;--accent: #2b4bd6;--accent-hover: #1e39a8;--accent-soft: #e4e9fb;--on-accent: #ffffff;--bar: #15171a;--bar-ink: #f2f1ee;--bar-ink-2: #c9c7c0;--bar-ink-3: #a8a69f;--bar-rule: #3a3c40;--status-in-place: #0e7c66;--status-in-place-soft: #d7efe8;--status-partial: #b7791f;--status-partial-soft: #fbebcb;--status-missing: #c2410c;--status-missing-soft: #fbddd0;--status-unknown: #6b6963;--status-unknown-soft: #e9e7e2;--status-na-hatch: repeating-linear-gradient(135deg, #d9d6cf 0 2px, transparent 2px 6px);--risk-low: #e9e7e2;--risk-low-ink: #15171a;--risk-medium: #fbebcb;--risk-medium-ink: #15171a;--risk-high: #f4b183;--risk-high-ink: #15171a;--risk-severe: #c2410c;--risk-severe-ink: #ffffff;--radius-control: 6px;--radius-panel: 10px;--radius-chip: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent)}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{margin:0}.mono{font-family:var(--font-mono)}.caption{font-size:12px;color:var(--ink-3)}.label{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.section-title{font-size:15px;font-weight:600}.page-header{display:flex;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap}.page-heading{display:flex;flex-direction:column;gap:6px}.page-title{margin:0;font-size:28px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.page-meta{margin:0;font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.page-actions{margin-left:auto;display:flex;gap:var(--space-2);flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);padding:20px 24px}.btn{height:36px;padding:0 14px;border-radius:var(--radius-control);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit;font-size:14px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{color:#fff;background:#2c2f33}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn-secondary:hover{color:var(--ink);border-color:var(--ink-3)}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--radius-chip);font-size:12px;font-weight:500;white-space:nowrap;background:var(--surface-2);color:var(--ink-2)}.chip:before{content:"";width:8px;height:8px;border-radius:var(--radius-chip);background:currentColor;flex:none}.chip-in_place{background:var(--status-in-place-soft);color:var(--status-in-place)}.chip-partial{background:var(--status-partial-soft);color:var(--status-partial)}.chip-missing{background:var(--status-missing-soft);color:var(--status-missing)}.chip-unknown{background:var(--status-unknown-soft);color:var(--status-unknown)}.chip-not_applicable{background:var(--surface);color:var(--ink-3);border:1px solid var(--border)}.chip-not_applicable:before{background:var(--status-na-hatch);border:1px solid var(--border-strong)}.status-dot{display:inline-block;width:10px;height:10px;border-radius:2px;flex:none;background:var(--status-unknown)}.status-dot-in_place{background:var(--status-in-place)}.status-dot-partial{background:var(--status-partial)}.status-dot-missing{background:var(--status-missing)}.status-dot-unknown{background:var(--status-unknown)}.status-dot-not_applicable{background:var(--status-na-hatch);border:1px solid var(--border-strong)}.risk{height:24px;min-width:32px;padding:0 6px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:500;background:var(--risk-low);color:var(--risk-low-ink)}.risk-medium{background:var(--risk-medium);color:var(--risk-medium-ink)}.risk-high{background:var(--risk-high);color:var(--risk-high-ink)}.risk-severe{background:var(--risk-severe);color:var(--risk-severe-ink)}.tier-track{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:12px;color:var(--ink-2)}.tier-squares{display:inline-flex;gap:4px}.tier-square{width:10px;height:10px;background:var(--surface-2)}.tier-square-current{background:var(--ink)}.tier-square-target{background:var(--surface);border:2px solid var(--accent)}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;padding:6px 8px 8px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:10px 8px;vertical-align:top;border-bottom:1px solid var(--rule)}.table tr:last-child td{border-bottom:none}.table th:first-child,.table td:first-child{padding-left:0}.table .id{font-family:var(--font-mono);font-weight:500;white-space:nowrap}.field{display:flex;flex-direction:column;gap:6px}.input,.select,.textarea{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font-family:inherit;font-size:14px}.input.mono,.select.mono,.textarea.mono{font-family:var(--font-mono)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--ground);color:var(--ink-3)}.select{height:36px;padding-right:6px}.textarea{padding:8px 10px;line-height:1.45;resize:vertical}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
