:root{--background:#0c0d0f;--surface:#15171a;--surface-muted:#1c1f23;--border:#2b3036;--text:#f3f5f7;--muted:#9aa3ad;--subtle:#68727d;--green:#3ddc97;--amber:#ffbd4a;--red:#ff5d5d;--blue:#7db7ff}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{line-height:1.4}button,input{font:inherit}.auth-shell{place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;width:min(100%,440px);padding:28px;box-shadow:0 24px 80px #0000004d}.auth-card-wide{width:min(100%,560px)}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand h1,.auth-copy h2{margin:0}.auth-brand p,.auth-copy p,.auth-help,.auth-loading{color:var(--muted)}.auth-brand p{margin:2px 0 0;font-size:12px}.auth-copy{margin:30px 0 22px}.auth-copy h2{font-size:22px}.auth-copy p:last-child{margin-bottom:0}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:650;display:grid}.auth-form input{border:1px solid var(--border);background:var(--surface-muted);min-height:46px;color:var(--text);border-radius:8px;outline:none;padding:10px 12px}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #7db7ff1f}.auth-error{color:#ff9d9d;background:#ff5d5d14;border:1px solid #ff5d5d59;border-radius:8px;padding:11px 12px;font-size:13px}.auth-submit,.auth-actions .primary-action,.auth-actions .secondary-action{min-height:44px}.auth-actions{flex-wrap:wrap;gap:10px;display:flex}.auth-actions button:disabled,.auth-submit:disabled{cursor:not-allowed;opacity:.55}.mfa-enrollment{margin:24px 0}.mfa-qr{background:#fff;border-radius:12px;width:min(260px,100%);margin:22px auto;padding:12px;display:block}.mfa-secret{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.mfa-secret div{min-width:0}.mfa-secret span{color:var(--muted);font-size:11px;display:block}.mfa-secret strong{overflow-wrap:anywhere;letter-spacing:.08em;-webkit-user-select:all;user-select:all;font-family:SFMono-Regular,Consolas,monospace;display:block}.mfa-code{text-align:center;letter-spacing:.28em;font-family:SFMono-Regular,Consolas,monospace!important;font-size:25px!important}.admin-session{z-index:20;border:1px solid var(--border);color:var(--muted);background:#15171af5;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:11px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 30px #0000004d}.admin-session button{color:var(--blue);cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}.shell{min-height:100vh}.topbar{z-index:5;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0d0ff0;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:0 auto;padding:18px 28px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.mark{border:1px solid var(--border);background:var(--surface-muted);width:34px;height:34px;color:var(--blue);border-radius:8px;place-items:center;font-weight:800;display:grid}.brand h1{margin:0;font-size:16px;font-weight:750}.brand p,.timestamp{color:var(--muted);margin:0;font-size:12px}.content{max-width:1440px;margin:0 auto;padding:28px}.metric-grid,.section-grid{gap:14px;display:grid}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.section-grid{grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);margin-top:24px}.panel,.metric{border:1px solid var(--border);background:var(--surface);border-radius:8px}.metric{min-height:104px;padding:16px}.metric span,.panel-title span,.table-meta{color:var(--muted);font-size:12px}.metric strong{margin-top:8px;font-size:28px;line-height:1;display:block}.panel{overflow:hidden}.panel-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.panel-title h2{margin:0;font-size:14px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 18px;font-size:13px}th{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}tr:last-child td{border-bottom:0}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.muted{color:var(--muted)}.table-link,.back-link{color:var(--text);text-decoration:none}.table-link:hover,.back-link:hover{color:var(--blue)}.back-link{border:1px solid var(--border);width:34px;height:34px;color:var(--muted);background:var(--surface-muted);border-radius:8px;place-items:center;font-size:18px;display:grid}.status{border:1px solid var(--border);background:var(--surface-muted);min-height:24px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.status.healthy,.status.completed,.status.success,.status.stable,.status.active,.status.fix_ready,.status.pr_open{color:var(--green)}.status.degraded,.status.suspected,.status.recovering,.status.warning,.status.running,.status.watch,.status.new,.status.investigating,.status.needs_review,.status.pending,.status.queued,.status.in_progress,.status.suspended{color:var(--amber)}.status.broken,.status.failed,.status.error,.status.critical,.status.regression{color:var(--red)}.status.unsupported,.status.cancelled,.status.disabled,.status.expired,.status.ignored,.status.not_configured,.status.not_started{color:var(--subtle)}.incident-panel,.incident-detail-grid{margin-top:24px}.incident-title{max-width:520px;margin:3px 0;font-weight:600}.incident-hero{justify-content:space-between;align-items:center;gap:24px;padding:22px;display:flex}.incident-hero-copy h2{max-width:860px;margin:0;font-size:22px}.incident-hero-copy>p:last-child{color:var(--muted);margin:10px 0 0}.incident-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.incident-actions form{display:contents}.incident-actions .primary-action,.secondary-action{width:auto;min-height:38px;padding:0 14px}.secondary-action{border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);cursor:pointer;font:inherit;border-radius:8px;place-items:center;font-size:13px;display:inline-grid}.secondary-action:hover{border-color:var(--blue);color:var(--blue)}.access-panel{margin-top:24px}.access-layout{gap:16px;display:grid}.access-form{grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) auto;align-items:end;gap:12px;padding:16px 18px 0;display:grid}.access-form label{gap:7px;display:grid}.access-form label span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.access-form input,.access-form button,.inline-action{border:1px solid var(--border);background:var(--surface-muted);min-height:38px;color:var(--text);font:inherit;border-radius:8px;font-size:13px}.access-form input{width:100%;padding:0 10px}.access-form input::placeholder{color:var(--subtle)}.access-form button,.inline-action{color:var(--blue);cursor:pointer;place-items:center;padding:0 14px;display:inline-grid}.access-form button:hover,.inline-action:hover{border-color:var(--blue)}.stack{gap:14px;display:grid}.filter-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:24px;overflow:hidden}.filter-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;align-items:end;gap:12px;padding:16px 18px;display:grid}.filter-form label{gap:7px;display:grid}.filter-form label span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.filter-form select,.filter-form button,.clear-link{border:1px solid var(--border);background:var(--surface-muted);min-height:38px;color:var(--text);font:inherit;border-radius:8px;font-size:13px}.filter-form select{width:100%;padding:0 10px}.filter-form button,.clear-link{cursor:pointer;place-items:center;padding:0 14px;display:inline-grid}.filter-form button{color:var(--blue)}.clear-link{color:var(--muted)}.filter-form button:hover,.clear-link:hover{border-color:var(--blue)}.edit-form{gap:14px;padding:16px 18px 18px;display:grid}.edit-form label{gap:7px;display:grid}.edit-form label span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.edit-form select,.edit-form input,.edit-form textarea,.field-control,.primary-action{appearance:none;border:1px solid var(--border);background:var(--surface-muted);width:100%;color:var(--text);font:inherit;border-radius:8px;font-size:13px}.edit-form select,.edit-form input,.edit-form textarea,.field-control{min-height:38px;padding:0 10px}.edit-form textarea,.edit-form textarea.field-control{resize:vertical;min-height:96px;padding:10px;line-height:1.5}.edit-form textarea::placeholder,.edit-form textarea.field-control::placeholder,.field-control::placeholder{color:var(--subtle)}.code-field{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.primary-action{min-height:40px;color:var(--blue);cursor:pointer}.primary-action:hover{border-color:var(--blue)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.approval-panel,.control-plane-panel,.candidate-panel{margin-top:24px}.control-plane-grid{background:var(--border);grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr) minmax(240px,.55fr);gap:1px;display:grid}.control-summary,.health-grid,.control-actions{background:var(--surface);padding:18px}.control-summary h3,.candidate-row h3{overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.35}.control-summary>p:not(.approval-kicker),.control-actions p,.candidate-row p{color:var(--muted);font-size:12px;line-height:1.5}.control-facts{margin-top:18px}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;display:grid}.health-grid div{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;gap:8px;min-height:64px;padding:11px;display:grid}.health-grid span:first-child,.candidate-evidence dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:650}.control-actions,.candidate-actions{align-content:start;gap:10px;display:grid}.control-button{border:1px solid var(--border);background:var(--surface-muted);width:100%;min-height:40px;color:var(--text);cursor:pointer;font:inherit;border-radius:8px;font-size:13px}.control-button:hover{border-color:var(--blue)}.warning-action{color:var(--amber)}.control-button:disabled,.primary-action:disabled{cursor:not-allowed;opacity:.45}.candidate-list{display:grid}.candidate-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(360px,.8fr) minmax(190px,.25fr);align-items:center;gap:18px;padding:18px;display:grid}.candidate-row:first-child{border-top:0}.candidate-evidence{border:1px solid var(--border);background:var(--border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.candidate-evidence div{background:var(--surface-muted);min-height:64px;padding:10px}.candidate-evidence dd{overflow-wrap:anywhere;margin:7px 0 0;font-size:13px}.approval-body{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr) minmax(220px,.35fr);align-items:center;gap:18px;padding:18px;display:grid}.approval-kicker{color:var(--blue);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.approval-body h3{margin:0;font-size:18px;line-height:1.25}.approval-body p{color:var(--muted);margin:10px 0 0;font-size:13px}.approval-facts{border:1px solid var(--border);background:var(--border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.approval-facts div{background:var(--surface-muted);min-height:72px;padding:12px}.approval-facts span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650;display:block}.approval-facts strong{overflow-wrap:anywhere;margin-top:8px;font-size:13px;display:block}.approval-action{gap:8px;display:grid}.review-link{border:1px solid var(--border);background:var(--surface-muted);min-height:34px;color:var(--blue);border-radius:8px;place-items:center;margin-top:14px;padding:0 12px;font-size:13px;display:inline-grid}.review-link:hover{border-color:var(--blue)}.approval-review{border-top:1px solid var(--border);background:var(--border);grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr) minmax(260px,.8fr);gap:1px;display:grid}.evidence-card{background:var(--surface);min-height:180px;padding:16px 18px}.evidence-card h3{margin:0 0 14px;font-size:14px}.check-list,.fact-list{gap:10px;display:grid}.check-item{color:var(--muted);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px;display:grid}.check-item strong{color:var(--text);font-weight:600}.check-item em{color:var(--muted);font-size:12px;font-style:normal}.check-dot{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;width:10px;height:10px}.check-dot.passed{border-color:var(--green);background:var(--green)}.fact-list{margin:0}.fact-list div{grid-template-columns:minmax(130px,.4fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.fact-list dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650}.fact-list dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:13px}.empty.compact{padding:12px}.flow-config-panel{margin-top:24px}.flow-config-list{background:var(--border);gap:1px;display:grid}.flow-config-form{background:var(--surface)}.flow-form-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.flow-form-head span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650;display:block}.flow-form-head strong{overflow-wrap:anywhere;margin-top:6px;font-size:13px;display:block}.check-row{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;grid-auto-flow:column;align-items:center;min-height:38px;padding:0 10px;gap:8px!important;display:inline-flex!important}.check-row input{width:16px;height:16px;accent-color:var(--blue);margin:0}.check-row span{color:var(--text)!important;text-transform:none!important;font-size:13px!important;font-weight:500!important}.empty{color:var(--muted);padding:28px 18px;font-size:13px}.notice{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:760px;padding:22px}.notice h2{margin:0 0 10px;font-size:18px}.notice p{color:var(--amber);margin:0}.notice-list{color:var(--muted);gap:8px;margin-top:18px;font-size:13px;display:grid}.detail-grid{grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr);gap:14px;display:grid}.kv-grid{background:var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.kv-grid.single{grid-template-columns:1fr}.kv-grid div{background:var(--surface);min-height:86px;padding:16px 18px}.kv-grid span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:650;display:block}.kv-grid strong{overflow-wrap:anywhere;margin-top:8px;font-size:14px;display:block}.timeline-panel{margin-top:24px}.timeline{gap:0;padding:18px;display:grid}.timeline-item{grid-template-columns:18px minmax(0,1fr);gap:14px;padding-bottom:16px;display:grid;position:relative}.timeline-item:before{content:"";background:var(--border);width:1px;position:absolute;top:18px;bottom:0;left:8px}.timeline-item:last-child{padding-bottom:0}.timeline-item:last-child:before{display:none}.timeline-dot{border:1px solid var(--border);background:var(--surface-muted);z-index:1;border-radius:999px;width:17px;height:17px;margin-top:12px}.timeline-dot.info{border-color:var(--blue)}.timeline-dot.warning{border-color:var(--amber)}.timeline-dot.error,.timeline-dot.critical{border-color:var(--red)}.timeline-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;padding:14px}.timeline-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.timeline-head h3,.timeline-head p{margin:0}.timeline-head p{color:var(--muted);font-size:12px}.timeline-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.error-code{color:var(--red);margin:12px 0 0;font-size:12px}.json-block{border:1px solid var(--border);max-height:280px;color:var(--muted);background:#0f1114;border-radius:8px;margin:12px 0 0;padding:12px;font-size:12px;line-height:1.5;overflow:auto}code{color:var(--text);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}@media (max-width:1100px){.metric-grid,.section-grid,.detail-grid,.filter-form,.access-form,.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.topbar-inner,.content{padding:18px}.metric-grid,.section-grid,.detail-grid,.kv-grid,.approval-body,.approval-review,.control-plane-grid,.candidate-row,.filter-form,.access-form,.form-grid{grid-template-columns:1fr}th,td{padding:10px 12px}.flow-form-head,.incident-hero{flex-direction:column;align-items:stretch}.incident-actions{justify-content:flex-start}}
