:root{--bg:#f5f7f8;--surface:#fff;--ink:#151922;--muted:#647084;--line:#dbe2ea;--teal:#0d7f75;--teal-soft:#e7f5f2;--red:#b42318;--amber:#a15c07;--blue:#1d5fa7;--shadow:0 18px 48px #222e3a14}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button{border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;font:inherit;min-height:42px;padding:0 16px;font-weight:700}button.secondary{border-color:var(--line);color:var(--ink);background:#fff}button:disabled{cursor:not-allowed;opacity:.45}.shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;height:100vh;padding:28px 20px;position:sticky;top:0}.brand-mark{background:var(--ink);color:#fff;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:18px;font-weight:800;display:flex}.eyebrow{color:var(--teal);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:10px;font-size:1.35rem}.role-chip{background:var(--teal-soft);color:var(--teal);text-transform:capitalize;margin-bottom:26px;padding:7px 9px;font-size:.78rem;font-weight:900;display:inline-flex}nav{gap:10px;display:grid}nav a{color:var(--muted);align-items:center;gap:10px;min-height:42px;padding:0 10px;text-decoration:none;display:flex}nav a.active{background:var(--teal-soft);color:var(--teal);font-weight:800}nav span{border:1px solid var(--line);justify-content:center;align-items:center;width:36px;height:28px;font-size:.78rem;font-weight:800;display:inline-flex}.signal-list{border-top:1px solid var(--line);gap:8px;margin-top:36px;padding-top:20px;display:grid}.signal-list span{color:var(--muted);font-size:.94rem}.workspace{padding:34px}.hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.hero h2{max-width:980px;margin-bottom:18px;font-size:clamp(2.4rem,5vw,5rem);line-height:.98}.hero p{color:var(--muted);max-width:760px;font-size:1.08rem;line-height:1.5}.hero-actions{white-space:nowrap;gap:10px;display:flex}.scan-status{background:var(--teal-soft);color:var(--teal);border:1px solid #0d7f7540;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:14px 16px;display:flex}.scan-status div{gap:4px;display:grid}.scan-status strong{color:var(--ink)}.scan-status span{color:var(--teal);font-weight:800}.scan-status div span{color:var(--muted);font-weight:700}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.metrics article,.panel,.risk-card{background:var(--surface);border:1px solid var(--line)}.metrics article{padding:18px}.metrics span,.metrics small{color:var(--muted);display:block}.metrics strong{margin:8px 0 2px;font-size:2.2rem;display:block}.split{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;margin-bottom:20px;display:grid}.side-stack{gap:20px;display:grid}.panel{padding:22px}.section-heading{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.section-heading h3,.panel h3{margin-bottom:0;font-size:1.35rem}.section-heading>span{background:var(--teal-soft);color:var(--teal);padding:8px 10px;font-weight:800}.risk-stack{gap:14px;display:grid}.risk-card{padding:18px}.risk-topline,.risk-footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.risk-topline>div{gap:8px;display:flex}.severity,.source,.owner,.status{color:var(--muted);padding:7px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.source,.owner,.status.needs_approval{background:#eef2f6}.status.approved,.status.executed{background:var(--teal-soft);color:var(--teal)}.risk-card.approved,.risk-card.executed{box-shadow:inset 4px 0 0 var(--teal);border-color:#0d7f7559}.severity.critical{color:var(--red);background:#fde8e7}.severity.high{color:var(--amber);background:#fff0d9}.severity.medium{color:var(--blue);background:#e7f0fb}.severity.low{background:#eef2f6}.risk-card h4{margin:14px 0 8px;font-size:1.25rem}.risk-card p,.explain span,.timeline p,.remediation li{color:var(--muted);line-height:1.5}.explain,.remediation{border-left:4px solid var(--teal);margin-top:14px;padding-left:12px}.explain strong,.remediation strong{margin-bottom:6px;display:block}.remediation ol{margin:8px 0 0;padding-left:20px}.evidence-view{border:1px solid var(--line);background:#f7f9fb;margin-top:14px;padding:14px}.evidence-view>div{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.evidence-view strong{display:block}.evidence-view span{background:var(--teal-soft);color:var(--teal);white-space:nowrap;padding:7px 9px;font-size:.78rem;font-weight:900}.evidence-view ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.evidence-view li{border:1px solid var(--line);color:var(--muted);background:#fff;padding:10px;line-height:1.4}.risk-footer{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.risk-footer code{color:#3c4655;overflow-wrap:anywhere;background:#f3f5f7;max-width:520px;padding:10px;font-size:.86rem;display:block}.risk-footer div{gap:8px;display:flex}.timeline{gap:12px;margin-top:18px;display:grid}.timeline div{border:1px solid var(--line);padding:14px}.timeline span{color:var(--teal);margin-bottom:8px;font-weight:900;display:block}.approval-list,.audit-list,.execution-list,.owner-list{gap:12px;margin-top:18px;display:grid}.approval-list article,.audit-list article,.execution-list article,.owner-list article,.empty-state{border:1px solid var(--line);margin:0;padding:14px}.approval-list strong,.audit-list strong,.execution-list strong,.owner-list strong{margin-bottom:6px;line-height:1.35;display:block}.approval-list span,.audit-list span,.execution-list span,.owner-list span{color:var(--muted);margin-bottom:8px;font-size:.86rem;display:block}.owner-list article{gap:12px;display:grid}.owner-list dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.owner-list dl div{background:#f7f9fb;padding:10px}.owner-list dt{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:800}.owner-list dd{margin:0;font-size:1.25rem;font-weight:900}.approval-list code{background:var(--teal-soft);color:var(--teal);padding:7px 9px;font-size:.8rem;font-weight:800;display:inline-flex}.approval-list button{width:100%;margin-top:12px}.execution-list code{color:#3c4655;overflow-wrap:anywhere;background:#f3f5f7;margin:10px 0;padding:10px;font-size:.8rem;display:block}.execution-list ol{color:var(--muted);margin:8px 0 0;padding-left:20px;line-height:1.5}.audit-list p,.execution-list p,.empty-state{color:var(--muted);line-height:1.5}.services-panel,.integrations-panel,.github-panel,.terraform-panel,.runbooks-panel{margin-bottom:34px}.service-grid,.integration-grid,.runbook-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.service-card,.integration-card,.runbook-card{border:1px solid var(--line);padding:18px}.service-card h4,.integration-card h4,.runbook-card h4{margin:14px 0 8px;font-size:1.2rem}.service-card p,.integration-card p,.runbook-card p{color:var(--muted);line-height:1.5}.service-card dl{gap:10px;margin:14px 0;display:grid}.service-card dl div{border:1px solid var(--line);background:#f7f9fb;padding:10px}.service-card dt{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:800}.service-card dd{color:var(--ink);margin:0;font-weight:800}.service-health{padding:7px 9px;font-size:.78rem;font-weight:900;display:inline-flex}.service-health.healthy{background:var(--teal-soft);color:var(--teal)}.service-health.degraded,.service-health.watch{color:var(--amber);background:#fff0d9}.service-health.critical{color:var(--red);background:#fde8e7}.service-integrations{flex-wrap:wrap;gap:8px;display:flex}.service-integrations span{color:var(--muted);background:#eef2f6;padding:7px 9px;font-size:.78rem;font-weight:800}.integration-card ul{gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.integration-card li{border:1px solid var(--line);color:var(--muted);background:#f7f9fb;padding:10px;line-height:1.4}.github-import,.terraform-import{grid-template-columns:minmax(0,1fr) 320px;gap:18px;display:grid}.github-import>div{gap:8px;display:grid}.github-import label{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.github-import input{border:1px solid var(--line);color:var(--ink);font:inherit;width:100%;min-height:46px;padding:0 12px}.terraform-import textarea{border:1px solid var(--line);color:#d9e4ee;resize:vertical;background:#10141c;width:100%;min-height:340px;padding:14px;font:.9rem/1.5 monospace}.github-import aside,.terraform-import aside{border:1px solid var(--line);padding:16px}.github-import aside p,.terraform-import aside p{color:var(--muted);line-height:1.5}.terraform-import aside code{color:var(--ink);background:#f3f5f7;padding:2px 4px}.github-import dl,.terraform-import dl{gap:8px;margin:16px 0;display:grid}.github-import dl div,.terraform-import dl div{border:1px solid var(--line);background:#f7f9fb;padding:10px}.github-import dt,.terraform-import dt{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:800}.github-import dd,.terraform-import dd{margin:0;font-size:1.5rem;font-weight:900}.github-import button,.terraform-import button{width:100%}.form-error{color:var(--red);margin:10px 0 0;font-weight:800}.connector-status{padding:7px 9px;font-size:.78rem;font-weight:900;display:inline-flex}.connector-status.connected{background:var(--teal-soft);color:var(--teal)}.connector-status.mock{color:var(--amber);background:#fff0d9}.connector-status.not_connected{color:var(--muted);background:#eef2f6}.runbook-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.runbook-columns>div{border-left:4px solid var(--teal);padding-left:12px}.runbook-columns strong{margin-bottom:8px;display:block}.runbook-columns ol{color:var(--muted);margin:0;padding-left:20px;line-height:1.5}@media (max-width:1080px){.shell,.split,.metrics,.service-grid,.integration-grid,.github-import,.terraform-import,.runbook-grid,.runbook-columns{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.hero,.risk-topline,.risk-footer{flex-direction:column;align-items:stretch}.hero-actions,.risk-footer div{width:100%}}
