:root{--bg:#f6f8fa;--panel:#fff;--panel-muted:#eef2f6;--text:#1b252d;--muted:#65717c;--border:#dde4ea;--sidebar:#263642;--sidebar-deep:#18242c;--topbar:#0a0f14;--accent:#d71920;--accent-strong:#b31218;--steel:#2f5f7c;--warning:#b45309;--danger:#b91c1c;--good:#15803d;--shadow:0 1px 2px rgba(15,23,42,.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--sidebar) 0,var(--sidebar-deep) 100%);color:#f7fafb;padding:16px 12px;gap:16px;border-right:1px solid hsla(0,0%,100%,.08);box-shadow:10px 0 24px rgba(10,15,20,.14)}.brand,.sidebar{display:flex;flex-direction:column}.brand{align-items:stretch;gap:10px;padding:2px 8px 14px;border-bottom:1px solid hsla(0,0%,100%,.12)}.brand-logo{width:100%;max-width:150px;aspect-ratio:1;align-self:center;border-radius:16px;object-fit:cover;box-shadow:0 12px 28px rgba(0,0,0,.22)}.brand-title{display:grid;grid-gap:2px;gap:2px;text-align:center}.brand-title strong{font-size:14px}.brand-title span{color:#a8b8bf;font-size:12px}.nav{display:grid;grid-gap:4px;gap:4px}.nav a{display:flex;align-items:center;gap:10px;min-height:39px;padding:9px 10px;border-radius:6px;color:#c9d5da;font-size:14px;border:1px solid transparent}.nav a.active,.nav a:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.12);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-height:56px;background:rgba(10,15,20,.92);color:#f8fafc;border-bottom:1px solid rgba(0,0,0,.28);display:flex;align-items:center;gap:14px;padding:0 24px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar h1{margin:0;font-size:18px;letter-spacing:0}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.topbar-note{color:#9aa7b2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.topbar-note,.topbar-validation{white-space:nowrap}.mobile-logo{display:none;width:34px;height:34px;border-radius:8px;object-fit:cover}.content{padding:22px 24px 40px}.grid{display:grid;grid-gap:16px;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.main-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);align-items:start}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.panel-header{min-height:54px;padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header h2,.panel-header h3{margin:0;font-size:15px;letter-spacing:0}.panel-body{padding:16px}.status-alert{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;color:var(--warning);background:#fff7ed;border-color:#fed7aa;font-size:14px;font-weight:650}.status-alert.neutral{color:var(--steel);background:#eff6ff;border-color:#bfdbfe}.status-alert.success{color:var(--good);background:#f0fdf4;border-color:#bbf7d0}.metric{padding:16px}.metric span{color:var(--muted);display:block;font-size:13px;margin-bottom:8px}.metric strong{display:block;font-size:23px;letter-spacing:0}.metric-good strong{color:var(--good)}.metric-warning strong{color:var(--warning)}.metric-danger strong{color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 9px;border-radius:999px;border:1px solid var(--border);background:var(--panel-muted);color:var(--text);font-size:12px;font-weight:650}.badge.good{background:#dcfce7;border-color:#bbf7d0;color:var(--good)}.badge.warning{background:#ffedd5;border-color:#fed7aa;color:var(--warning)}.progress{height:10px;background:#e5edf2;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent)}.detail-list{display:grid;grid-gap:12px;gap:12px}.detail-row{display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:16px;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.detail-row:last-child{border-bottom:0}.detail-row span{color:var(--muted);font-size:13px}.detail-row p,.detail-row strong{margin:0;font-size:14px}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:12px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}.table th{color:var(--muted);font-size:12px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--text);font-weight:700;cursor:pointer}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-strong)}.button:disabled{cursor:wait;opacity:.72}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid hsla(0,0%,100%,.14);border-radius:7px;background:hsla(0,0%,100%,.06);color:#e5edf2;cursor:pointer}.icon-button:hover{background:hsla(0,0%,100%,.12)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 46%,hsla(0,0%,100%,.18),hsla(0,0%,100%,.04) 34%,transparent 58%),linear-gradient(135deg,rgba(96,0,0,.28),rgba(10,15,20,.28)),radial-gradient(circle at 50% 45%,rgba(8,10,12,.02),rgba(8,10,12,.22) 68%),url(/brand/red-login-background.png),var(--topbar);background-size:cover,cover,cover,cover;background-position:50%;background-repeat:no-repeat}.login-panel{width:min(440px,100%);justify-self:center;margin-left:0;background:hsla(0,0%,100%,.96);border:1px solid hsla(0,0%,100%,.42);border-radius:8px;box-shadow:0 28px 70px rgba(0,0,0,.26);padding:24px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-logo{display:block;width:132px;height:132px;margin:0 auto 18px;border-radius:18px;object-fit:cover;box-shadow:0 12px 30px rgba(215,25,32,.26)}.login-copy{display:grid;grid-gap:9px;gap:9px;text-align:center;margin-bottom:20px}.login-copy h1{margin:0;font-size:24px;letter-spacing:0}.login-copy p{margin:0;color:var(--muted)}.login-form{display:grid;grid-gap:14px;gap:14px}.login-error{margin:0;padding:10px 12px;border:1px solid #fecaca;border-radius:7px;background:#fef2f2;color:var(--danger);font-size:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.field{display:grid;grid-gap:7px;gap:7px}.field label{color:var(--muted);font-size:13px;font-weight:650}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:7px;padding:10px 11px;background:#fff;color:var(--text)}.field textarea{min-height:92px;resize:vertical}.field.wide{grid-column:1/-1}.checkbox-list{align-content:start}.checkbox-list label:not(:first-child){display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:500}.checkbox-list input{width:auto}.inline-checks{display:flex;flex-wrap:wrap;gap:10px 16px}.inline-checks label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:500}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.choice-card{min-height:104px;align-items:flex-start;justify-content:space-between;display:flex;gap:12px;padding:13px;text-align:left;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);cursor:pointer}.choice-card.selected,.choice-card:hover{border-color:rgba(215,25,32,.44);background:#fff5f5;box-shadow:0 1px 2px rgba(215,25,32,.1)}.choice-card small,.choice-card strong{display:block}.choice-card strong{font-size:14px;margin-bottom:6px}.choice-card small{color:var(--muted);line-height:1.35}.stack{display:grid;grid-gap:12px;gap:12px}.standard-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfdff}.standard-card div{display:flex;align-items:center;justify-content:space-between;gap:10px}.standard-card strong{font-size:14px}.standard-card small,.standard-card span{color:var(--muted);font-size:12px}.standard-card p{margin:0;font-size:13px;line-height:1.4}.risk-count{display:flex;align-items:baseline;gap:8px;padding:14px;border:1px solid #fecaca;border-radius:8px;background:#fff5f5}.risk-count strong{color:var(--accent);font-size:28px}.risk-count span{color:var(--muted);font-size:13px;font-weight:650}.risk-panel{margin-top:16px}.risk-editor{display:grid;grid-gap:14px;gap:14px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fbfdff}.risk-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.risk-editor-header>div:first-child{display:grid;grid-gap:8px;gap:8px}.risk-editor-header strong{font-size:14px}.risk-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.risk-grid textarea{min-height:112px}.readonly-value{min-height:42px;display:flex;align-items:center;padding:10px 11px;border:1px solid var(--border);border-radius:7px;background:var(--panel-muted);color:var(--text);font-weight:700;text-transform:capitalize}.empty-state{display:grid;grid-gap:6px;gap:6px;padding:22px;border:1px dashed var(--border);border-radius:8px;background:#fbfdff;text-align:center}.empty-state p{margin:0;color:var(--muted)}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.muted{color:var(--muted)}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.choice-grid,.form-grid,.grid.cols-3,.grid.cols-4,.grid.main-layout{grid-template-columns:1fr}.content,.topbar{padding-left:18px;padding-right:18px}.topbar{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.mobile-logo{display:block}.topbar-note{display:none}.detail-row{grid-template-columns:1fr;gap:6px}.risk-editor-header{display:grid}.risk-actions{justify-content:stretch}.risk-actions .button{flex:1 1 140px}.login-page{background-position:50%;background-size:cover}.login-panel{justify-self:center;margin-left:0}}