/* ── Contextual Help ──────────────────────── */
.vp-help { display:inline-flex; align-items:center; justify-content:center; width:14px; height:14px; border-radius:50%; font:600 9px var(--mono); color:#8B9DB5; border:1px solid #8B9DB5; cursor:pointer; margin-left:4px; vertical-align:middle; transition:all 0.15s; line-height:1; user-select:none }
.vp-help:hover { color:#06B6D4; border-color:#06B6D4 }
.vp-help-popover { position:fixed; z-index:10001; width:280px; background:#111827; border:1px solid #1E293B; border-radius:8px; padding:14px 16px; box-shadow:0 8px 32px rgba(0,0,0,0.5); animation:fadeIn 0.15s ease }
.vp-help-title { font:600 12px var(--sans); color:#06B6D4; margin-bottom:6px; letter-spacing:0.3px }
.vp-help-text { font:400 11px var(--sans); color:#CBD5E1; line-height:1.6; margin-bottom:8px }
.vp-help-link { font:500 10px var(--mono); color:#06B6D4; text-decoration:none; letter-spacing:0.5px }
.vp-help-link:hover { text-decoration:underline }

/* ── Global Clickable Utilities ────────────── */
.vp-clickable { cursor:pointer; transition:all 0.15s ease; }
.vp-clickable:hover { background:rgba(6,182,212,0.06); }
.vp-copy:hover { text-decoration:underline; text-decoration-style:dotted; }
.sl-clickable { cursor:pointer; transition:color 0.15s; }
.sl-clickable:hover { color:var(--cyan) !important; }
.brand-block[onclick] { transition:opacity 0.2s; }
.brand-block[onclick]:hover { opacity:0.8; }
/* Unified clickable table row — border-color + cyan glow, 0.2s */
tr.vp-row { cursor:pointer; transition:background 0.2s ease; }
tr.vp-row:hover { background:rgba(6,182,212,0.04); }
.lc-flag-pill { cursor:pointer; transition:background 0.15s; }
.lc-flag-pill:hover { background:rgba(245,158,11,0.25) !important; }

/* ── Universal Close Button ───────────────── */
.vp-close-x { position:absolute; top:12px; right:12px; width:24px; height:24px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#94A3B8; border:none; background:none; padding:0; font-size:18px; line-height:1; border-radius:6px; transition:color 0.15s, background 0.15s; z-index:1; }
.vp-close-x:hover { color:#F1F5F9; background:rgba(148,163,184,0.1); }
.vp-close-x svg { width:16px; height:16px; }

/* ── Modal Fade Animation ─────────────────── */
@keyframes vpFadeIn { from { opacity:0 } to { opacity:1 } }
@keyframes vpFadeOut { from { opacity:1 } to { opacity:0 } }
@keyframes vpScaleIn { from { opacity:0;transform:translate(-50%,-50%) scale(0.95) } to { opacity:1;transform:translate(-50%,-50%) scale(1) } }
@keyframes vpScaleOut { from { opacity:1;transform:translate(-50%,-50%) scale(1) } to { opacity:0;transform:translate(-50%,-50%) scale(0.95) } }
.vp-modal-enter { animation:vpFadeIn 0.2s ease; }
.vp-modal-exit { animation:vpFadeOut 0.2s ease forwards; }
.vp-panel-enter { animation:vpScaleIn 0.2s ease; }
.vp-panel-exit { animation:vpScaleOut 0.2s ease forwards; }

/* ── FAB safe-zone bottom padding ─────────── */
.fab-safe-zone { padding-bottom:80px; }

/* ── KPI Cards ──────────────────────────────── */
.kpi-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:12px; margin-bottom:24px; }
.kpi { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:16px; transition:border-color 0.2s ease, box-shadow 0.2s ease; }
.kpi:hover { border-color:var(--brand-primary); box-shadow:var(--glow); }
.kpi[style*="cursor"] .kpi-value { transition:color 0.2s; }
.kpi[style*="cursor"]:hover .kpi-value { filter:brightness(1.15); }
.feed-item:hover { background:var(--bg3); }
.cert-inline:hover { background:rgba(var(--accent-rgb),0.05); border-radius:6px; }
.kpi-label { font:500 11px var(--sans); color:var(--label-muted); letter-spacing:2px; text-transform:uppercase; }
.kpi-value { font:300 48px var(--mono); margin-top:6px; line-height:1; }
.kpi-sub { font:400 11px var(--sans); color:var(--text3); margin-top:6px; }

/* ── Panels ─────────────────────────────────── */
.panel { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); margin-bottom:16px; overflow:hidden; }
.panel-header { padding:14px 16px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.panel-title { font:500 12px var(--sans); letter-spacing:2px; color:var(--label-muted); text-transform:uppercase; }
.tab-subtitle { font:400 13px var(--sans); color:var(--text3); margin-bottom:16px; }
.panel-body { padding:16px; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }

/* ── Badges ─────────────────────────────────── */
.badge { font:600 11px var(--mono); padding:2px 8px; border-radius:12px; letter-spacing:0.5px; }
.badge-cert { background:var(--green-dim); color:var(--green); }
.badge-flag { background:var(--amber-dim); color:var(--amber); }
.badge-fail { background:var(--red-dim); color:var(--red); }

/* ── Feed ───────────────────────────────────── */
.feed-item { display:grid; grid-template-columns:15% 19% 10% 12% 35% 9%; align-items:center; gap:8px; padding:8px 12px; border-bottom:1px solid var(--border); font:500 14px var(--mono); transition:background 0.15s ease; }
.feed-item:hover { background:var(--bg3); }
.feed-row { display:grid; align-items:center; gap:8px; padding:8px 12px; border-bottom:1px solid var(--border); font:400 11px var(--mono); color:var(--text2); transition:background 0.15s ease; }
.feed-row:hover { background:var(--bg3); }
.feed-header { font:500 11px var(--sans); color:var(--label-muted); letter-spacing:1px; text-transform:uppercase; padding:8px 12px; border-bottom:1px solid var(--border); display:grid; grid-template-columns:15% 19% 10% 12% 35% 9%; gap:8px; scrollbar-gutter:stable; }

/* ── Chat / Certification Lab ──────────────── */
.cl-hero { border-left:3px solid; border-image:linear-gradient(180deg,var(--brand-primary),var(--purple)) 1; padding:16px; display:flex; justify-content:space-between; align-items:center; background:var(--bg2); border-radius:0 8px 8px 0; margin-bottom:16px; gap:12px; flex-wrap:wrap; }
.cl-hero-title { font:700 14px var(--mono); letter-spacing:3px; background:linear-gradient(135deg,var(--brand-primary),var(--purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.cl-hero-sub { font:400 11px var(--mono); color:var(--muted); margin-top:4px; }
.cl-split { display:grid; grid-template-columns:55fr 45fr; gap:16px; min-height:calc(100vh - 220px); }
.cl-left { display:flex; flex-direction:column; gap:12px; }
.cl-right { display:flex; flex-direction:column; gap:12px; }
.cl-deploy-label { font:700 11px var(--mono); letter-spacing:2px; text-transform:uppercase; color:var(--text3); margin-bottom:4px; }
.cl-deploy-select { width:100%; background:var(--bg2); border:1px solid var(--border); border-radius:8px; padding:10px 14px; color:var(--text); font:400 12px var(--mono); outline:none; }
.cl-deploy-select:focus { border-color:var(--brand-primary); }
.cl-chat-area { flex:1; overflow-y:auto; min-height:250px; border:1px solid var(--border); border-radius:12px; padding:16px; background:var(--surface); display:flex; flex-direction:column; gap:10px; scrollbar-gutter:stable; }
.cl-bubble { max-width:85%; padding:12px 16px; border-radius:14px; font:400 13px var(--sans); line-height:1.6; position:relative; }
.cl-bubble.user { margin-left:auto; background:var(--cyan-dim); border:1px solid rgba(var(--accent-rgb),0.15); border-radius:14px 14px 4px 14px; }
.cl-bubble.ai { margin-right:auto; background:var(--bg3); border:1px solid var(--border); border-radius:14px 14px 14px 4px; }
.cl-bubble.failed { margin-right:auto; background:var(--red-dim); border:1px solid rgba(239,68,68,0.2); border-radius:14px 14px 14px 4px; }
.cl-cert-corner { position:absolute; top:-6px; width:20px; height:20px; border-radius:50%; font:700 11px var(--mono); display:flex; align-items:center; justify-content:center; border:2px solid var(--bg); z-index:1; }
.cl-cert-corner.user-side { right:-6px; }
.cl-cert-corner.ai-side { left:-6px; }
.cl-input-row { display:flex; gap:8px; }
.cl-input-row input { flex:1; background:var(--bg3); border:1px solid var(--border); border-radius:var(--radius); padding:10px 14px; color:var(--text); font:400 13px var(--sans); outline:none; transition:border-color 0.2s, box-shadow 0.2s; }
.cl-input-row input:focus { border-color:var(--brand-primary); box-shadow:0 0 0 3px rgba(var(--accent-rgb),0.1); }
.cl-input-row input::placeholder { color:var(--muted); }
.cl-input-row input.deviation-active { box-shadow:0 0 12px rgba(239,68,68,0.15); border-color:var(--red) !important; }
.cl-send-btn { background:linear-gradient(135deg,var(--brand-primary),var(--purple)); color:white; font:600 11px var(--mono); padding:10px 20px; border-radius:8px; border:none; cursor:pointer; letter-spacing:0.5px; transition:opacity 0.2s; }
.cl-send-btn:hover { opacity:0.9; }
.cl-send-btn:disabled { opacity:0.4; cursor:not-allowed; }
.cl-devlab { border:1px solid var(--border); border-left:3px solid var(--amber); border-radius:8px; margin-top:4px; }
.cl-devlab-header { display:flex; justify-content:space-between; align-items:center; padding:10px 14px; cursor:pointer; font:500 11px var(--mono); color:var(--amber); user-select:none; }
.cl-devlab-header:hover { background:rgba(245,158,11,0.04); }
.cl-devlab-body { padding:0 14px 14px; }
.cl-devlab-desc { font:400 11px var(--mono); color:var(--muted); margin-bottom:8px; }
.cl-devlab-toggle { display:flex; align-items:center; gap:6px; cursor:pointer; font:400 11px var(--mono); color:var(--text2); }
.cl-kpi-row { display:flex; gap:8px; flex-wrap:wrap; }
.cl-kpi-pill { flex:1; min-width:70px; background:var(--bg2); border:1px solid var(--border); border-radius:8px; padding:8px 12px; text-align:center; }
.cl-kpi-pill span:first-child { display:block; font:700 16px var(--mono); }
.cl-kpi-pill span:last-child { display:block; font:400 11px var(--mono); color:var(--text3); letter-spacing:1px; text-transform:uppercase; margin-top:2px; }
.cl-results-scroll { flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:10px; scrollbar-gutter:stable; }
.cl-result-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:12px; animation:clSlideIn 0.3s ease-out; cursor:pointer; transition:all 0.2s; }
.cl-result-card:hover { border-color:rgba(var(--accent-rgb),0.3); transform:translateY(-1px); }
.cl-result-top { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cl-result-decision { font:700 11px var(--mono); padding:3px 10px; border-radius:10px; letter-spacing:1px; }
.cl-result-dims { display:flex; justify-content:center; margin-top:8px; }
.cl-result-lowest { font:400 11px var(--mono); text-align:center; margin-top:6px; padding:4px 8px; border-radius:6px; background:var(--bg3); }
.cl-result-flags { display:flex; gap:4px; flex-wrap:wrap; margin-top:6px; }
.cl-empty { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px; }
.cl-empty-pulse { width:60px; height:60px; border-radius:50%; border:2px solid var(--brand-primary); display:flex; align-items:center; justify-content:center; animation:clPulse 2s ease-in-out infinite; }
.cl-empty-text { max-width:340px; text-align:center; font:400 11px var(--mono); color:var(--muted); line-height:1.7; margin:16px 0; }
.cl-examples { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.cl-example-btn { padding:6px 14px; background:var(--bg3); border:1px solid var(--border); border-radius:20px; font:400 11px var(--mono); color:var(--text2); cursor:pointer; transition:all 0.2s; }
.cl-example-btn:hover { border-color:var(--cyan); color:var(--cyan); }
@keyframes clPulse { 0%,100% { opacity:0.3; transform:scale(1); } 50% { opacity:0.8; transform:scale(1.1); } }
@keyframes clSlideIn { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:900px) { .cl-split { grid-template-columns:1fr; } }

/* ── Buttons ───────────────────────────────── */
.btn { font:600 11px var(--mono); padding:10px 18px; border-radius:var(--radius); border:none; cursor:pointer; transition:all 0.2s ease-out; letter-spacing:0.5px; }
.btn:hover { filter:brightness(1.1); transform:scale(1.02); }
.btn-primary { background:var(--brand-primary); color:var(--brand-bg); }
.btn-danger { background:var(--red); color:white; }
.btn-ghost { background:transparent; border:1px solid var(--border); color:var(--text2); }
.btn-ghost:hover { border-color:var(--brand-primary); color:var(--brand-primary); transform:scale(1.02); }
.btn:disabled { opacity:0.4; cursor:not-allowed; filter:none; transform:none; }

/* ── Demo Scenarios ──────────────────────────── */
.ds-layout { display:grid; grid-template-columns:1fr; gap:20px; transition:all 0.3s; }
.ds-layout.with-guide { grid-template-columns:1fr 340px; }
.ds-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; flex-wrap:wrap; gap:10px; }
.ds-header-title { font:700 16px var(--mono); color:var(--brand-primary); }
.ds-header-sub { font:400 11px var(--mono); color:var(--muted); margin-top:2px; }
.ds-progress { display:flex; align-items:center; gap:6px; font:400 11px var(--mono); color:var(--text3); }
.ds-progress-bar { width:120px; height:4px; background:var(--bg3); border-radius:2px; overflow:hidden; }
.ds-progress-fill { height:100%; background:var(--cyan); border-radius:2px; transition:width 0.5s; }
.ds-cat-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--muted); text-transform:uppercase; margin:20px 0 10px; display:flex; align-items:center; gap:8px; }
.ds-cat-title::before { content:''; width:3px; height:12px; border-radius:2px; }
.ds-cat-title.basic::before { background:var(--green); }
.ds-cat-title.intermediate::before { background:var(--amber); }
.ds-cat-title.advanced::before { background:var(--purple); }
.ds-cat-title.special::before { background:var(--cyan); }
.ds-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; }
.ds-card { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:16px; cursor:pointer; transition:all 0.3s; position:relative; overflow:hidden; }
.ds-card::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:transparent; transition:background 0.3s; }
.ds-card:hover { border-color:var(--cyan); transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,0.3); }
.ds-card:hover::after { background:var(--cyan); }
.ds-card.completed { border-color:rgba(16,185,129,0.3); }
.ds-card.completed::after { background:var(--green); }
.ds-card.running { border-color:rgba(var(--accent-rgb),0.4); }
.ds-card.running::after { background:var(--cyan); animation:dsPulseBar 1.5s ease-in-out infinite; }
@keyframes dsPulseBar { 0%,100% { opacity:1; } 50% { opacity:0.4; } }
.ds-card-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:8px; }
.ds-card-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font:700 14px var(--mono); flex-shrink:0; }
.ds-card-badge { font:600 11px var(--mono); letter-spacing:0.5px; padding:2px 8px; border-radius:10px; }
.ds-card-badge.basic { background:rgba(16,185,129,0.1); color:var(--green); }
.ds-card-badge.intermediate { background:rgba(245,158,11,0.1); color:var(--amber); }
.ds-card-badge.advanced { background:rgba(168,85,247,0.1); color:var(--purple); }
.ds-card-badge.special { background:rgba(var(--accent-rgb),0.1); color:var(--cyan); }
.ds-card-name { font:600 12px var(--mono); color:var(--text); margin-bottom:4px; }
.ds-card-desc { font:400 11px var(--sans); color:var(--text3); line-height:1.5; margin-bottom:10px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ds-card-meta { display:flex; align-items:center; gap:8px; margin-bottom:10px; font:400 11px var(--mono); color:var(--muted); }
.ds-card-tags { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:12px; }
.ds-card-tag { font:500 11px var(--mono); padding:2px 6px; border-radius:4px; background:var(--bg3); color:var(--text3); }
.ds-card-btn { width:100%; padding:7px 0; background:transparent; border:1px solid var(--border); border-radius:6px; font:600 11px var(--mono); color:var(--text2); cursor:pointer; transition:all 0.2s; letter-spacing:1px; }
.ds-card-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.ds-card.completed .ds-card-btn { border-color:rgba(16,185,129,0.3); color:var(--green); }
.ds-card-check { position:absolute; top:10px; right:10px; width:18px; height:18px; border-radius:50%; background:var(--green); display:flex; align-items:center; justify-content:center; }
.ds-card-check svg { width:10px; height:10px; fill:#fff; }
.ds-guide { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:20px; position:sticky; top:80px; max-height:calc(100vh - 120px); overflow-y:auto; scrollbar-gutter:stable; }
.ds-guide-title { font:700 12px var(--mono); color:var(--cyan); margin-bottom:4px; }
.ds-guide-scenario { font:400 11px var(--mono); color:var(--text3); margin-bottom:16px; }
.ds-guide-steps { display:flex; flex-direction:column; gap:2px; margin-bottom:16px; }
.ds-guide-step { display:flex; gap:10px; padding:8px 10px; border-radius:6px; transition:background 0.2s; }
.ds-guide-step.active { background:rgba(var(--accent-rgb),0.05); }
.ds-guide-step.done { opacity:0.5; }
.ds-guide-step-num { width:22px; height:22px; border-radius:50%; border:1.5px solid var(--border); display:flex; align-items:center; justify-content:center; font:600 11px var(--mono); color:var(--text3); flex-shrink:0; transition:all 0.3s; }
.ds-guide-step.active .ds-guide-step-num { border-color:var(--cyan); color:var(--cyan); background:rgba(var(--accent-rgb),0.1); }
.ds-guide-step.done .ds-guide-step-num { border-color:var(--green); color:#fff; background:var(--green); }
.ds-guide-step-text { font:400 11px var(--mono); color:var(--text2); line-height:1.5; }
.ds-guide-step.active .ds-guide-step-text { color:var(--text); }
.ds-guide-hint { background:var(--bg3); border-radius:8px; padding:10px 12px; font:400 11px var(--sans); color:var(--text2); line-height:1.6; margin-bottom:16px; border-left:3px solid var(--cyan); }
.ds-guide-actions { display:flex; gap:8px; }
.ds-guide-btn { flex:1; padding:8px 0; border-radius:6px; font:600 11px var(--mono); cursor:pointer; letter-spacing:1px; text-align:center; border:1px solid var(--border); background:transparent; color:var(--text2); transition:all 0.2s; }
.ds-guide-btn.primary { background:var(--cyan); border-color:var(--cyan); color:var(--bg); }
.ds-guide-btn.primary:hover { opacity:0.9; }
.ds-guide-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.ds-result { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:20px; margin-top:16px; }
.ds-result-title { font:700 12px var(--mono); color:var(--green); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.ds-result-metrics { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; margin-bottom:16px; }
.ds-result-metric { background:var(--bg3); border-radius:8px; padding:10px; text-align:center; }
.ds-result-metric-val { font:700 16px var(--mono); }
.ds-result-metric-label { font:400 11px var(--mono); color:var(--muted); letter-spacing:1px; margin-top:2px; text-transform:uppercase; }
.ds-result-links { display:flex; gap:8px; flex-wrap:wrap; }
.ds-result-link { font:500 11px var(--mono); color:var(--cyan); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.ds-result-link:hover { opacity:0.8; }
@media(max-width:900px) {
  .ds-layout.with-guide { grid-template-columns:1fr; }
  .ds-guide { position:static; max-height:none; }
  .ds-grid { grid-template-columns:1fr; }
}

/* ── Compliance ─────────────────────────────── */
.article-card { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:12px; margin-bottom:8px; }
.article-title { font:600 11px var(--mono); color:var(--cyan); }
.article-req { font:400 11px var(--sans); color:var(--text2); margin-top:4px; line-height:1.5; }
.article-dims { display:flex; gap:6px; margin-top:6px; flex-wrap:wrap; }
.dim-chip { font:500 11px var(--mono); padding:2px 8px; border-radius:10px; background:var(--cyan-dim); color:var(--cyan); }
.compliance-meter { display:flex; align-items:center; gap:8px; margin-top:6px; }
.compliance-bar { flex:1; height:4px; background:var(--bg); border-radius:2px; overflow:hidden; }
.compliance-fill { height:100%; border-radius:2px; }

/* ── Animations ─────────────────────────────── */
@keyframes fadeIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.fade-in { animation:fadeIn 0.15s ease; }
@keyframes breathe { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
.pulse { animation:breathe 3s ease-in-out infinite; }
@keyframes onboardFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes onboardSlideUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes slideInFromTop { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
.slide-in-top { animation:slideInFromTop 0.2s ease-out; }
@keyframes slideInRight { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes slideOutRight { from { transform:translateX(0); } to { transform:translateX(100%); } }
@keyframes pulseDot { 0%,100% { opacity:0.7; } 50% { opacity:1; } }
@keyframes toastIn { from { transform:translateX(120%); opacity:0; } to { transform:translateX(0); opacity:1; } }
.activity-pulse { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 6px rgba(16,185,129,0.4); animation:pulseDot 3s ease-in-out infinite; vertical-align:middle; margin-right:6px; }

/* ── Response Policy Selection ─────────────── */
.rp-sel { border-color:var(--cyan) !important; color:var(--cyan) !important; background:var(--cyan-dim) !important; }

/* ── Grade Badges ────────────────── */
.grade-badge { font:800 14px var(--mono); width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; border:2px solid; }
.grade-A { background:rgba(0,230,138,0.15); color:var(--green); border-color:rgba(0,230,138,0.3); }
.grade-B { background:rgba(74,222,128,0.12); color:#4ade80; border-color:rgba(74,222,128,0.3); }
.grade-C { background:rgba(255,179,71,0.12); color:var(--amber); border-color:rgba(255,179,71,0.3); }
.grade-D { background:rgba(255,71,87,0.12); color:var(--red); border-color:rgba(255,71,87,0.3); }
.grade-F { background:rgba(255,71,87,0.18); color:var(--red); border-color:rgba(255,71,87,0.4); }

/* ── Typing Indicator ────────────── */
@keyframes typingDot { 0%,60%,100% { transform:translateY(0); opacity:0.4; } 30% { transform:translateY(-4px); opacity:1; } }
.typing-indicator { display:inline-flex; gap:3px; padding:8px 14px; }
.typing-indicator span { width:6px; height:6px; border-radius:50%; background:var(--cyan); display:inline-block; }
.typing-indicator span:nth-child(1) { animation:typingDot 1.2s infinite 0s; }
.typing-indicator span:nth-child(2) { animation:typingDot 1.2s infinite 0.2s; }
.typing-indicator span:nth-child(3) { animation:typingDot 1.2s infinite 0.4s; }

/* ── Skeleton Screens ────────────── */
@keyframes shimmer { 0% { background-position:-200% 0; } 100% { background-position:200% 0; } }
.skeleton { background:linear-gradient(90deg,var(--bg3) 25%,var(--border2) 50%,var(--bg3) 75%); background-size:200% 100%; animation:shimmer 1.5s infinite; border-radius:4px; }
.skeleton-text { height:10px; margin-bottom:6px; }
.skeleton-kpi { height:26px; width:60px; margin-top:4px; }
.skeleton-bar { height:6px; margin-top:8px; }

/* ── KPI Trend Arrows ────────────── */
.kpi-trend { font:600 11px var(--mono); display:inline-flex; align-items:center; gap:2px; }
.kpi-trend-up { color:var(--green); }
.kpi-trend-down { color:var(--red); }
.kpi-trend-flat { color:var(--muted); }

/* ── Chat Summary Card ───────────── */
.chat-summary-card { margin-top:8px; padding:10px 14px; background:var(--bg3); border:1px solid var(--border); border-radius:8px; font:400 11px var(--mono); }
.chat-summary-card .summary-row { display:flex; justify-content:space-between; align-items:center; padding:2px 0; }

/* ── Smooth Transitions ──────────── */
.tab-content { transition:opacity 0.15s ease; }
.kpi-value { transition:color 0.3s ease; }
.btn-export { background:transparent; border:1px solid rgba(0,212,255,0.25); color:var(--brand-primary); font:600 11px var(--mono); padding:6px 14px; border-radius:6px; cursor:pointer; transition:all 0.2s; letter-spacing:0.5px; display:inline-flex; align-items:center; gap:5px; }
.btn-export:hover { background:rgba(0,212,255,0.08); border-color:var(--brand-primary); }
.btn-export:disabled { opacity:0.4; cursor:not-allowed; }
.btn-export svg { width:12px; height:12px; fill:currentColor; }

/* ── Insights ──────────────────────────────── */
.insights-nav { display:flex; gap:6px; margin-bottom:16px; align-items:center; flex-wrap:wrap; }
.insights-btn { background:var(--surface); border:1px solid var(--border); color:var(--text2); font:500 11px var(--mono); padding:6px 14px; border-radius:6px; cursor:pointer; transition:all 0.2s; letter-spacing:0.5px; }
.insights-btn:hover { color:var(--text); border-color:var(--border2); }
.insights-btn.active { background:var(--brand-primary); color:var(--bg); border-color:var(--brand-primary); }
/* hm colors defined in charts.css */
.deviation-row { display:grid; grid-template-columns:40px 2fr 80px 100px 120px; gap:8px; padding:8px 0; border-bottom:1px solid var(--border); align-items:center; position:relative; }
.deviation-row:last-child { border-bottom:none; }
.deviation-row[data-severity="critical"]::before { content:''; position:absolute; left:-16px; top:4px; bottom:4px; width:3px; border-radius:2px; background:var(--red); }
.deviation-row[data-severity="high"]::before { content:''; position:absolute; left:-16px; top:4px; bottom:4px; width:3px; border-radius:2px; background:var(--amber); }
.deviation-row[data-severity="medium"]::before { content:''; position:absolute; left:-16px; top:4px; bottom:4px; width:3px; border-radius:2px; background:var(--cyan); }
.mitre-badge { display:inline-block; padding:2px 8px; border-radius:10px; font:600 11px var(--mono); background:rgba(0,212,255,0.12); color:var(--cyan); letter-spacing:0.5px; }
.trend-up { color:var(--red); } .trend-down { color:var(--green); } .trend-flat { color:var(--text3); }
.posture-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:12px; }
.posture-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--radius); padding:14px 16px; }
.posture-card-name { font:600 11px var(--mono); color:var(--text); margin-bottom:8px; }
.risk-bar { height:8px; border-radius:4px; background:var(--surface); overflow:hidden; margin-top:4px; }
.risk-bar-fill { height:100%; border-radius:4px; transition:width 0.6s; }
.alert-indicator { position:relative; display:inline-flex; align-items:center; }
.alert-count { position:absolute; top:-6px; right:-8px; background:var(--red); color:#fff; border-radius:50%; font:600 11px var(--mono); min-width:16px; height:16px; text-align:center; line-height:16px; }
.alert-item { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--border); align-items:flex-start; }
.alert-item:last-child { border-bottom:none; }
.alert-level-critical { color:var(--red); } .alert-level-warning { color:var(--amber); }

/* ── Theme Toggle ───────────────────────────── */
.theme-toggle { position:relative; display:inline-flex; align-items:center; cursor:pointer; gap:6px; }
.theme-toggle input { display:none; }
.theme-toggle .slider { position:relative; width:38px; height:20px; background:var(--bg3); border:1px solid var(--border2); border-radius:20px; transition:all 0.3s; }
.theme-toggle .slider::before { content:''; position:absolute; top:2px; left:2px; width:14px; height:14px; background:var(--brand-primary); border-radius:50%; transition:transform 0.3s; }
.theme-toggle input:checked + .slider::before { transform:translateX(18px); }
.theme-toggle .icon { font-size:11px; line-height:1; user-select:none; }
[data-theme="light"] .theme-toggle .slider { background:var(--bg3); border-color:var(--border2); }

/* ── Skeleton Loaders (duplicate consolidated) ── */
.skeleton-line { height:10px; margin:8px 0; border-radius:4px; }
.skeleton-block { height:60px; margin:8px 0; border-radius:6px; }

/* ── Toast Notifications ───────────────────── */
.toast-container { position:fixed; bottom:20px; right:20px; z-index:3000; display:flex; flex-direction:column; gap:8px; pointer-events:none; }
.toast { pointer-events:auto; background:var(--bg2); border:1px solid var(--border); border-left:3px solid var(--brand-primary); padding:10px 16px; border-radius:var(--radius); font:400 11px var(--mono); color:var(--text); max-width:360px; box-shadow:0 4px 24px rgba(0,0,0,0.4); transform:translateX(120%); transition:transform 0.3s ease-out, opacity 0.3s; opacity:0; }
.toast.show { transform:translateX(0); opacity:1; animation:toastIn 0.3s ease-out; }
.toast.toast-success { border-left-color:var(--certified); }
.toast.toast-error { border-left-color:var(--red); }
.toast.toast-warning { border-left-color:var(--flagged); }

/* ── Command Palette ───────────────────────── */
.cmd-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:4000; display:flex; align-items:flex-start; justify-content:center; padding-top:15vh; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.cmd-box { background:var(--bg2); border:1px solid var(--border2); border-radius:12px; width:520px; max-width:90vw; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.cmd-input { width:100%; background:transparent; border:none; border-bottom:1px solid var(--border); padding:16px 20px; font:400 13px var(--mono); color:var(--text); outline:none; }
.cmd-results { max-height:300px; overflow-y:auto; }
.cmd-item { padding:10px 20px; cursor:pointer; font:400 11px var(--mono); color:var(--text2); display:flex; justify-content:space-between; align-items:center; }
.cmd-item:hover, .cmd-item.active { background:var(--bg3); color:var(--text); }
.cmd-item .cmd-type { font-size:11px; color:var(--text3); background:var(--bg); padding:2px 8px; border-radius:4px; }

/* ── Premium Tour ─────────────────────────── */
.tour-overlay { position:fixed; inset:0; z-index:9000; }
.tour-backdrop { position:fixed; inset:0; background:rgba(0,0,0,0); transition:background 0.4s ease; }
.tour-backdrop.active { background:rgba(0,0,0,0.35); }
.tour-spotlight { position:fixed; z-index:9001; border-radius:12px; box-shadow:0 0 0 9999px rgba(0,0,0,0.35), 0 0 30px 4px rgba(var(--accent-rgb),0.25); transition:all 0.45s cubic-bezier(0.4,0,0.2,1); pointer-events:none; }
.tour-modal { position:fixed; z-index:9002; background:var(--bg2); border:1px solid var(--border); border-radius:16px; padding:28px 32px 24px; width:440px; max-width:calc(100vw - 32px); box-shadow:0 20px 60px rgba(0,0,0,0.5), 0 0 1px rgba(var(--accent-rgb),0.3); opacity:0; transform:translateY(12px) scale(0.97); transition:all 0.35s cubic-bezier(0.4,0,0.2,1); pointer-events:auto; }
.tour-modal.visible { opacity:1; transform:translateY(0) scale(1); }
.tour-modal-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:16px; background:rgba(var(--accent-rgb),0.1); border:1px solid rgba(var(--accent-rgb),0.2); }
.tour-modal-step { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--muted); margin-bottom:6px; text-transform:uppercase; }
.tour-modal h3 { font:700 16px var(--mono); color:var(--cyan); margin:0 0 10px; line-height:1.3; }
.tour-modal p { font:400 12px/1.7 var(--mono); color:var(--text2); margin:0 0 20px; }
.tour-progress { display:flex; gap:3px; margin-bottom:20px; }
.tour-progress-dot { flex:1; height:3px; border-radius:2px; background:var(--bg3); transition:background 0.3s; }
.tour-progress-dot.done { background:var(--cyan); }
.tour-progress-dot.current { background:var(--cyan); box-shadow:0 0 6px rgba(var(--accent-rgb),0.5); }
.tour-actions { display:flex; align-items:center; gap:10px; }
.tour-actions .tour-skip { font:500 11px var(--mono); color:var(--text3); background:none; border:none; cursor:pointer; padding:6px 0; letter-spacing:0.5px; transition:color 0.2s; }
.tour-actions .tour-skip:hover { color:var(--text); }
.tour-dontshow { display:flex; align-items:center; gap:6px; cursor:pointer; }
.tour-dontshow input { accent-color:var(--cyan); cursor:pointer; margin:0; }
.tour-dontshow span { font:400 11px var(--mono); color:var(--text3); letter-spacing:0.3px; }
.tour-actions .tour-spacer { flex:1; }
.tour-btn { font:600 11px var(--mono); letter-spacing:1px; padding:8px 18px; border-radius:8px; cursor:pointer; transition:all 0.2s; border:1px solid var(--border); background:var(--bg3); color:var(--text2); }
.tour-btn:hover { background:var(--bg2); color:var(--text); border-color:var(--text3); }
.tour-btn.primary { background:var(--cyan); color:var(--bg); border-color:var(--cyan); }
.tour-btn.primary:hover { background:var(--cyanHover); box-shadow:0 0 16px rgba(var(--accent-rgb),0.3); }
@media(max-width:600px) { .tour-modal { width:calc(100vw - 24px); padding:20px; } .tour-modal h3 { font-size:14px; } }

/* ── Lead Notification Badge (Header) ─────── */
.lead-notif-badge{display:flex;align-items:center;gap:6px;background:#EF4444;color:#fff;font:700 11px var(--mono);padding:4px 10px;border-radius:20px;cursor:pointer;letter-spacing:0.5px;animation:vpLeadPulse 2s infinite;white-space:nowrap}
.lead-notif-badge:hover{filter:brightness(1.2)}
@keyframes vpLeadPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0.5)}50%{box-shadow:0 0 0 6px rgba(239,68,68,0)}}

/* ── Lead Alert Banner ────────────────────── */
.vp-lead-banner{display:flex;align-items:center;gap:10px;padding:10px 24px;background:#111827;border-left:3px solid #06B6D4;border-bottom:1px solid #1E293B;font:400 12px var(--mono);color:#F1F5F9;overflow:hidden;animation:vpSlideDown 300ms ease-out}
@keyframes vpSlideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}

/* ── Notification Center ───────────────────── */
.notif-bell{position:relative;cursor:pointer;font-size:14px;padding:4px 8px}
.notif-badge{position:absolute;top:0;right:2px;background:var(--red);color:#fff;border-radius:50%;font:600 11px var(--mono);min-width:14px;height:14px;text-align:center;line-height:14px}
.notif-badge.pulse{animation:ncPulse .6s ease-in-out}
@keyframes ncPulse{0%{transform:scale(1)}50%{transform:scale(1.5)}100%{transform:scale(1)}}
.nc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:2999;backdrop-filter:blur(2px);animation:fadeIn .15s}
.nc-panel{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;background:var(--bg);border-left:1px solid var(--border);z-index:3000;display:flex;flex-direction:column;animation:slideInRight .2s ease-out;box-shadow:-8px 0 30px rgba(0,0,0,.3)}
.nc-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.nc-header-title{font:700 12px var(--mono);letter-spacing:1.5px;color:var(--text)}
.nc-header-actions{display:flex;gap:6px;align-items:center}
.nc-tabs{display:flex;gap:2px;padding:8px 20px;border-bottom:1px solid var(--border);overflow-x:auto}
.nc-tab{font:600 11px var(--mono);letter-spacing:1px;color:var(--text3);background:none;border:1px solid transparent;border-radius:4px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:all .15s}
.nc-tab:hover{color:var(--text);background:var(--bg3)}
.nc-tab.active{color:var(--cyan);border-color:var(--cyan);background:rgba(var(--accent-rgb),.08)}
.nc-list{flex:1;overflow-y:auto;scrollbar-gutter:stable}
.nc-item{display:flex;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;align-items:flex-start}
.nc-item:hover{background:var(--bg3)}
.nc-item.unread{background:var(--bg2)}
.nc-item.unread .nc-item-title{font-weight:700}
.nc-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.nc-icon.failure{background:rgba(239,68,68,.12);color:var(--red)}
.nc-icon.incident{background:rgba(245,158,11,.12);color:var(--amber)}
.nc-icon.compliance{background:rgba(var(--accent-rgb),.12);color:var(--cyan)}
.nc-icon.governance{background:rgba(59,130,246,.12);color:#3B82F6}
.nc-icon.risk{background:rgba(245,158,11,.12);color:var(--amber)}
.nc-icon.partner{background:rgba(var(--accent-rgb),.12);color:var(--cyan)}
.nc-icon.system{background:var(--bg3);color:var(--text3)}
.nc-item-body{flex:1;min-width:0}
.nc-item-title{font:500 11px var(--mono);color:var(--text);margin-bottom:2px;line-height:1.3}
.nc-item-desc{font:400 11px var(--sans);color:var(--text2);margin-bottom:3px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nc-item-meta{display:flex;gap:8px;align-items:center}
.nc-item-time{font:400 11px var(--mono);color:var(--muted)}
.nc-item-tag{font:600 11px var(--mono);padding:1px 6px;border-radius:3px;letter-spacing:.5px}
.nc-item-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}
.nc-item:hover .nc-item-actions{opacity:1}
.nc-action-btn{font:400 11px var(--mono);padding:2px 6px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text3);cursor:pointer;transition:all .15s}
.nc-action-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.nc-empty{padding:40px 20px;text-align:center;color:var(--text3);font:400 11px var(--mono)}
.nc-prefs{padding:20px;overflow-y:auto;flex:1}
.nc-pref-section{margin-bottom:16px}
.nc-pref-title{font:600 11px var(--mono);letter-spacing:1px;color:var(--text3);margin-bottom:8px}
.nc-pref-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}
.nc-pref-label{font:400 11px var(--mono);color:var(--text)}
.nc-footer{padding:10px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
@media(max-width:500px){.nc-panel{width:100vw}}

/* ── Cert Detail Slide Panel ──────────────── */
.cert-detail-panel { position:fixed; top:0; right:0; bottom:0; width:900px; max-width:100vw; background:var(--bg2); border-left:1px solid var(--border); z-index:2001; overflow-y:auto; animation:slideInRight 0.25s ease-out; box-shadow:-8px 0 40px rgba(0,0,0,0.3); }
.cert-detail-panel.closing { animation:slideOutRight 0.25s ease-in forwards; }
.cert-detail-backdrop { position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:2000; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }

/* ── Two-Phase Certification UX ──────────── */
@keyframes prelimPulse { 0%,100% { opacity:0.6; } 50% { opacity:1; } }
.badge-prelim { background:rgba(168,85,247,0.15); color:var(--purple); border:1px solid rgba(168,85,247,0.3); animation:prelimPulse 2s ease-in-out infinite; }
.feed-item.preliminary { border-left:2px solid var(--purple); }
.feed-item.preliminary .bcs-fill { animation:prelimPulse 2s ease-in-out infinite; }
.score-upgrade { transition:all 0.6s cubic-bezier(0.34,1.56,0.64,1); }
.decision-changed { animation:decisionFlash 1s ease-in-out; }
@keyframes decisionFlash { 0%,100% { background:transparent; } 50% { background:rgba(168,85,247,0.15); } }

/* ── Audit Table Enhancements ────────────── */
.feed-header { position:sticky; top:0; z-index:2; background:var(--bg2); }
.feed-header div { cursor:pointer; user-select:none; }
.feed-header div:hover { color:var(--text2); }
.feed-item:nth-child(even) { background:rgba(15,22,35,0.5); }
[data-theme="light"] .feed-item:nth-child(even) { background:rgba(0,0,0,0.02); }

/* ── Insights Callout Box ─────────────────── */
.insight-callout { border-left:3px solid var(--cyan); padding:10px 14px; background:var(--cyan-dim); border-radius:0 var(--radius) var(--radius) 0; margin:8px 0; font:400 11px var(--sans); color:var(--text2); line-height:1.6; }

/* ── Matrix Drill ─────────────────────────── */
.mc-cell-active { outline:2px solid var(--cyan); outline-offset:-2px; }
.mc-drill-row { display:grid; grid-template-columns:140px 60px 60px 80px 1fr; gap:8px; align-items:center; padding:8px 12px; border-bottom:1px solid var(--border); font:400 11px var(--mono); color:var(--text2); }
.mc-drill-row:last-child { border-bottom:none; }
.mc-drill-header { font:600 11px var(--mono); color:var(--text3); letter-spacing:0.5px; }

/* ── Context bars ─────────────────────────── */
.context-bar { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); border-radius:8px; padding:12px 20px; margin-bottom:20px; font:400 13px/1.6 var(--sans); color:var(--text2); }
[data-theme="light"] .context-bar { background:rgba(0,0,0,0.02); border-color:rgba(0,0,0,0.06); }
.context-bar strong { color:var(--text); font-weight:600; }
.context-bar .ctx-action { color:var(--cyan); cursor:pointer; text-decoration:none; font-weight:500; }
.context-bar .ctx-action:hover { text-decoration:underline; }
.context-bar .ctx-warn { color:var(--amber); font-weight:600; }
.context-bar .ctx-fail { color:var(--red); font-weight:600; }

/* ── Help tooltips ────────────────────────── */
.help-tip { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; border:1px solid var(--border2); color:var(--text3); font:500 11px var(--sans); cursor:help; position:relative; vertical-align:middle; margin-left:6px; flex-shrink:0; transition:all 0.15s; }
.help-tip:hover { border-color:var(--cyan); color:var(--cyan); }
.help-tip .help-tip-text { display:none; position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); width:280px; background:var(--bg2); border:1px solid var(--cyan); border-radius:8px; padding:12px; font:400 12px/1.5 var(--sans); color:var(--text2); box-shadow:0 8px 24px rgba(0,0,0,0.5); z-index:10000; white-space:normal; text-align:left; pointer-events:none; }
.help-tip:hover .help-tip-text { display:block; }
[data-theme="light"] .help-tip .help-tip-text { background:var(--bg2); box-shadow:0 8px 24px rgba(0,0,0,0.1); }

/* ── Compliance Stress Test ───────────────── */
.st-launcher { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:20px 24px; margin-bottom:20px; }
.st-launcher-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:16px; }
.st-launcher-title { font:600 13px var(--sans); letter-spacing:2px; color:var(--cyan); text-transform:uppercase; }
.st-launcher-sub { font:400 12px var(--sans); color:var(--text3); margin-top:4px; line-height:1.5; }
.st-controls { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.st-select { background:var(--surface); border:1px solid var(--border); color:var(--text); font:400 12px var(--mono); padding:8px 12px; border-radius:6px; min-width:200px; }
.st-select optgroup { font:700 10px var(--mono); color:var(--text3); letter-spacing:1px; }
.st-run-btn { font:600 12px var(--mono); padding:8px 20px; border-radius:6px; border:none; background:var(--cyan); color:#000; cursor:pointer; letter-spacing:1px; transition:all 0.2s; }
.st-run-btn:hover { filter:brightness(1.15); }
.st-run-btn:disabled { opacity:0.4; cursor:not-allowed; }
.st-results { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); margin-bottom:20px; overflow:hidden; }
.st-results-header { padding:16px 20px; border-bottom:1px solid var(--border); }
.st-results-title { font:600 14px var(--sans); color:var(--text); letter-spacing:0.5px; }
.st-results-meta { font:400 11px var(--mono); color:var(--text3); margin-top:4px; }
.st-score-bar { display:flex; gap:16px; align-items:center; margin-top:10px; }
.st-score-val { font:700 28px var(--mono); }
.st-score-summary { display:flex; gap:12px; }
.st-score-pill { font:500 11px var(--mono); padding:3px 10px; border-radius:12px; }
.st-table-header { display:grid; grid-template-columns:70px 80px 2fr 140px 70px 1fr; gap:8px; padding:10px 20px; font:600 10px var(--mono); color:var(--muted); letter-spacing:1.5px; text-transform:uppercase; border-bottom:1px solid var(--border); }
.st-row { display:grid; grid-template-columns:70px 80px 2fr 140px 70px 1fr; gap:8px; padding:10px 20px; align-items:center; border-bottom:1px solid var(--border); font:400 12px var(--sans); color:var(--text2); transition:background 0.15s; cursor:pointer; }
.st-row:nth-child(even) { background:rgba(15,22,35,0.4); }
[data-theme="light"] .st-row:nth-child(even) { background:rgba(0,0,0,0.02); }
.st-row:hover { background:var(--bg3); }
.st-row-expanded { display:none; padding:0 20px 14px 90px; border-bottom:1px solid var(--border); background:rgba(var(--accent-rgb),0.03); }
.st-row-expanded.open { display:block; }
.st-badge-pass { background:var(--green-dim); color:var(--green); border:1px solid rgba(16,185,129,0.2); }
.st-badge-risk { background:var(--amber-dim); color:var(--amber); border:1px solid rgba(245,158,11,0.2); }
.st-badge-fail { background:var(--red-dim); color:var(--red); border:1px solid rgba(239,68,68,0.2); }
.st-gap-text { font:400 11px var(--sans); color:var(--text3); line-height:1.5; }
.st-rec-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:16px 20px; margin-bottom:20px; }
.st-rec-title { font:600 13px var(--sans); letter-spacing:2px; color:var(--amber); text-transform:uppercase; margin-bottom:4px; }
.st-rec-item { padding:14px 0; border-bottom:1px solid var(--border); }
.st-rec-item:last-child { border-bottom:none; }
.st-rec-priority { font:700 11px var(--mono); padding:2px 8px; border-radius:4px; margin-right:8px; }
.st-rec-action { font:400 12px var(--sans); color:var(--text2); line-height:1.5; margin-top:6px; }
.st-loading { padding:40px; text-align:center; }
.st-loading-bar { height:4px; background:var(--bg3); border-radius:2px; overflow:hidden; max-width:400px; margin:12px auto 0; }
.st-loading-fill { height:100%; background:var(--cyan); border-radius:2px; animation:stLoad 2s ease-in-out infinite; }
@keyframes stLoad { 0%{width:0;margin-left:0} 50%{width:60%;margin-left:20%} 100%{width:0;margin-left:100%} }
@keyframes stPulse { 0%,100%{opacity:0.9} 50%{opacity:0.4} }

/* ── Cross-tab navigation links ──────────── */
.cross-links { display:flex; gap:12px; justify-content:flex-end; margin-top:6px; }
.cross-link { font:500 12px var(--sans); color:var(--cyan); cursor:pointer; text-decoration:none; opacity:0.7; transition:opacity 0.15s, text-decoration 0.15s; }
.cross-link:hover { opacity:1; text-decoration:underline; }

/* ── Universal export dropdown ───────────── */
.export-wrap { position:relative; }
.export-btn { font:600 11px var(--mono); padding:4px 12px; border-radius:20px; border:1px solid var(--border); background:transparent; color:var(--text3); cursor:pointer; letter-spacing:1px; transition:all 0.2s; display:flex; align-items:center; gap:5px; }
.export-btn:hover { color:var(--cyan); border-color:var(--cyan); }
.export-dd { display:none; position:absolute; top:calc(100% + 6px); right:0; min-width:200px; background:var(--surface); border:1px solid var(--border2); border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,0.3); z-index:200; padding:6px 0; }
.export-dd.open { display:block; }
.export-dd-item { display:block; padding:8px 16px; font:400 12px var(--sans); color:var(--text2); cursor:pointer; transition:background 0.15s; white-space:nowrap; }
.export-dd-item:hover { background:var(--bg3); color:var(--text); }
.export-dd-item .export-dd-sub { font:400 10px var(--mono); color:var(--muted); margin-top:1px; }
.export-dd-sep { height:1px; background:var(--border); margin:4px 0; }
[data-theme="light"] .export-dd { box-shadow:0 8px 24px rgba(0,0,0,0.1); }

/* ── Share toast ─────────────────────────── */
.share-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); background:var(--bg2); border:1px solid var(--cyan); border-radius:8px; padding:10px 20px; font:500 12px var(--sans); color:var(--cyan); box-shadow:0 8px 24px rgba(0,0,0,0.3); z-index:9999; opacity:0; transition:opacity 0.3s; pointer-events:none; }
.share-toast.show { opacity:1; }

/* ── Tool Cert Grid ──────────────────────── */
.tool-cert-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:12px; }
.tool-cert-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--radius); padding:14px; transition:all 0.2s; }
.tool-cert-card:hover { border-color:var(--cyan); box-shadow:var(--glow); }
.agent-sub-nav { display:flex; gap:6px; margin-bottom:16px; flex-wrap:wrap; }

/* ── Incident Card ───────────────────────── */
.incident-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:14px 16px; margin-bottom:10px; border-left:4px solid var(--border2); }
.incident-card[data-severity="critical"] { border-left-color:var(--red); }
.incident-card[data-severity="high"] { border-left-color:var(--amber); }
.incident-card[data-severity="medium"] { border-left-color:var(--cyan); }

/* ── Countdown Card ──────────────────────── */
.countdown-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:16px; }
.countdown-card:hover { border-color:var(--cyan); box-shadow:var(--glow); }
.countdown-days { font:700 32px var(--mono); line-height:1; }
.countdown-bar { height:6px; background:var(--bg3); border-radius:3px; overflow:hidden; margin-top:8px; }
.countdown-fill { height:100%; border-radius:3px; transition:width 0.8s ease; }
.health-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:14px; cursor:pointer; transition:all 0.2s; }
.health-card:hover { border-color:var(--cyan); transform:translateY(-2px); box-shadow:0 4px 20px rgba(var(--accent-rgb),0.12); }
.mini-gauge { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }

/* ── Evidence Vault ──────────────────────── */
.evidence-row { display:flex; align-items:center; gap:10px; padding:8px 12px; border-bottom:1px solid var(--border); cursor:pointer; transition:background 0.15s; }
.evidence-row:hover { background:var(--bg3); }
.compliance-article { padding:10px 14px; border-bottom:1px solid var(--border); cursor:pointer; transition:background 0.15s; }
.compliance-article:hover { background:var(--bg3); }
.regulatory-event { padding:10px 14px; border-left:3px solid var(--cyan); margin-bottom:8px; background:var(--bg3); border-radius:0 var(--radius) var(--radius) 0; }
.retention-bar { height:8px; background:var(--bg3); border-radius:4px; overflow:hidden; }
.retention-fill { height:100%; border-radius:4px; transition:width 0.6s ease; }

/* ── Integration Hub ─────────────────────── */
.siem-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:16px; }
.siem-card:hover { border-color:var(--cyan); box-shadow:var(--glow); }
.rbac-matrix { width:100%; border-collapse:collapse; font:400 11px var(--mono); }
.rbac-matrix th, .rbac-matrix td { padding:8px 10px; border-bottom:1px solid var(--border); text-align:left; }
.rbac-matrix th { color:var(--text2); font-weight:600; }
.api-playground { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.webhook-row { display:flex; align-items:center; gap:12px; padding:10px 14px; border-bottom:1px solid var(--border); }

/* ── Mission Control ─────────────────────── */
.mc-grid { display:grid; grid-template-rows:40px 80px 1fr 1fr; gap:8px; height:calc(100vh - 120px); min-height:500px; }
.mc-grid-row3, .mc-grid-row4 { display:grid; grid-template-columns:3fr 2fr; gap:8px; min-height:0; }
.mc-panel { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; }
.mc-panel-title { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--text3); padding:8px 12px 4px; flex-shrink:0; }
.mc-panel-body { flex:1; min-height:0; overflow:hidden; position:relative; }
.mc-ticker { display:flex; align-items:center; gap:0; background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); height:100%; overflow:hidden; }
.mc-ticker-seg { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:0 12px; border-right:1px solid var(--border); height:100%; }
.mc-ticker-seg:last-child { border-right:none; }
.mc-ticker-label { font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); }
.mc-ticker-val { font:700 16px var(--mono); color:var(--cyan); }
.mc-ticker-sub { font:400 11px var(--mono); }
.mc-feed-card { display:flex; align-items:center; gap:8px; padding:5px 10px; border-bottom:1px solid var(--border); font:400 11px var(--mono); animation:mcSlideIn 0.3s ease-out; }
.mc-feed-badge { font:600 11px var(--mono); padding:2px 8px; border-radius:10px; letter-spacing:0.5px; white-space:nowrap; }
.mc-feed-badge-certified { background:var(--green-dim); color:var(--green); }
.mc-feed-badge-failed { background:var(--red-dim); color:var(--red); }
.mc-feed-badge-flagged { background:var(--amber-dim); color:var(--amber); }
.mc-feed-list { overflow-y:auto; height:100%; scrollbar-gutter:stable; }
.mc-live-status { font:400 11px var(--mono); color:var(--text3); padding:4px 10px; border-top:1px solid var(--border); flex-shrink:0; display:flex; align-items:center; gap:6px; }
.mc-live-dot { width:6px; height:6px; border-radius:50%; background:var(--text3); }
.mc-live-dot.connected { background:var(--green); }
.mc-tooltip { position:fixed; z-index:9999; pointer-events:none; background:var(--bg); border:1px solid var(--cyan); border-radius:8px; padding:10px 12px; font:400 11px var(--mono); color:var(--text); max-width:300px; box-shadow:0 4px 16px rgba(0,0,0,0.4); opacity:0; transition:opacity 0.15s ease; line-height:1.6; }
.mc-tooltip.visible { opacity:1; }
.mc-tooltip-title { font:600 11px var(--mono); color:var(--cyan); letter-spacing:0.5px; margin-bottom:4px; }
.mc-tooltip-row { display:flex; justify-content:space-between; gap:12px; }
.mc-tooltip-label { color:var(--text3); }
.mc-tooltip-val { color:var(--text); font-weight:600; }
.mc-tooltip-highlight { color:var(--amber); font-weight:600; }
@keyframes mcSlideIn { from { opacity:0; transform:translateX(20px); } to { opacity:1; transform:translateX(0); } }
@media(max-width:768px) {
  .mc-grid { grid-template-rows:auto auto 1fr 1fr; height:auto; }
  .mc-grid-row3, .mc-grid-row4 { grid-template-columns:1fr; }
  .mc-ticker { flex-wrap:wrap; height:auto; }
  .mc-ticker-seg { min-width:120px; padding:6px 12px; }
}

/* ── Executive Intelligence ───────────────── */
.ei-layout { display:grid; gap:16px; }
.ei-hero-row { display:grid; grid-template-columns:340px 1fr; gap:16px; }
.ei-mid-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ei-bottom-row { display:grid; grid-template-columns:1fr; gap:16px; }
.ei-panel { background:var(--bg2); border:1px solid var(--border); border-radius:12px; overflow:hidden; position:relative; }
.ei-panel::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb),0.3), transparent); }
.ei-panel-hdr { display:flex; justify-content:space-between; align-items:center; padding:14px 18px 8px; }
.ei-panel-title { font:600 11px var(--mono); letter-spacing:2px; color:var(--text3); text-transform:uppercase; }
.ei-panel-body { padding:0 18px 18px; position:relative; }
.ei-roi-input-group { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-bottom:16px; }
.ei-roi-input { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:10px 12px; color:var(--text); font:400 12px var(--mono); width:100%; transition:border-color 0.2s; }
.ei-roi-input:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(var(--accent-rgb),0.1); }
.ei-roi-label { font:500 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:4px; display:block; }
.ei-roi-results { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:12px; margin-top:8px; }
.ei-roi-stat { text-align:center; padding:14px 8px; background:var(--bg); border-radius:8px; border:1px solid var(--border); }
.ei-roi-stat-value { font:700 22px var(--mono); line-height:1.2; }
.ei-roi-stat-label { font:400 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-top:4px; }
.ei-health-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.ei-health-card { background:var(--bg); border-radius:10px; padding:14px; border-left:3px solid var(--border); transition:transform 0.2s, box-shadow 0.2s; cursor:pointer; }
.ei-health-card:hover { transform:translateY(-2px); box-shadow:0 4px 20px rgba(0,0,0,0.3); }
.ei-health-card.healthy { border-left-color:var(--cyan); }
.ei-health-card.degrading { border-left-color:var(--amber); }
.ei-health-card.critical { border-left-color:var(--red); }
.ei-health-card-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:8px; }
.ei-health-card-name { font:600 11px var(--mono); color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:140px; }
.ei-stage-badge { font:600 11px var(--mono); padding:2px 6px; border-radius:8px; letter-spacing:0.5px; }
.ei-stage-dev { background:var(--purple-dim); color:var(--purple); }
.ei-stage-staging { background:var(--amber-dim); color:var(--amber); }
.ei-stage-prod { background:var(--green-dim); color:var(--green); }
.ei-stage-retired { background:var(--bg3); color:var(--text3); }
.ei-health-stats { display:flex; justify-content:space-between; margin-top:8px; font:400 11px var(--mono); color:var(--text3); }
.ei-btn-report { background:linear-gradient(135deg, var(--brand-primary), var(--purple)); color:#fff; border:none; border-radius:8px; padding:8px 18px; font:600 11px var(--mono); letter-spacing:1px; cursor:pointer; transition:opacity 0.2s, transform 0.2s; display:flex; align-items:center; gap:6px; }
.ei-btn-report:hover { opacity:0.9; transform:translateY(-1px); }
.ei-btn-report:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
.ei-btn-report svg { width:14px; height:14px; fill:currentColor; }
@keyframes eiFadeUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.ei-fade-up { animation:eiFadeUp 0.5s ease-out both; }
@media(max-width:900px) {
  .ei-hero-row { grid-template-columns:1fr; }
  .ei-mid-row { grid-template-columns:1fr; }
  .ei-roi-input-group { grid-template-columns:1fr; }
  .ei-roi-results { grid-template-columns:1fr 1fr; }
  .ei-health-grid { grid-template-columns:1fr; }
}

/* ── Compliance Galaxy (Constellation) ─────── */
.cg-galaxy { display:flex; flex-direction:column; gap:16px; }
.cg-galaxy-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.cg-title { font:600 15px var(--mono); letter-spacing:3px; background:linear-gradient(135deg,var(--brand-primary),var(--purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.cg-subtitle { font:400 11px var(--mono); color:var(--muted); margin-top:2px; }
.cg-top-row { display:flex; gap:24px; height:calc(100vh - 140px); overflow:hidden; }
.cg-star-field { flex:1; min-width:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; align-content:start; overflow-y:auto; scrollbar-gutter:stable; }
.cg-constellation-card { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:16px; cursor:pointer; transition:transform 0.25s,box-shadow 0.25s,border-color 0.25s; position:relative; overflow:visible; }
.cg-constellation-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),0.25),transparent); }
.cg-constellation-card:hover { transform:translateY(-3px); box-shadow:0 8px 30px rgba(var(--accent-rgb),0.12); border-color:rgba(var(--accent-rgb),0.3); }
.cg-card-name { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--text); text-align:center; }
.cg-card-reg { font:400 11px var(--mono); color:var(--text3); text-align:center; margin-top:2px; }
.cg-card-posture { font:700 22px var(--mono); text-align:center; margin-top:8px; }
.cg-card-stats { display:flex; justify-content:space-between; margin-top:6px; font:400 11px var(--mono); color:var(--text3); }
.cg-detail-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:var(--modal-overlay); z-index:1000; display:flex; justify-content:center; align-items:flex-start; padding:30px 20px; overflow-y:auto; }
.cg-detail-modal { background:var(--bg); border:1px solid var(--border); border-radius:12px; max-width:1000px; width:100%; max-height:calc(100vh - 60px); overflow-y:auto; scrollbar-gutter:stable; }
.cg-detail-header { display:flex; justify-content:space-between; align-items:flex-start; padding:20px 24px 14px; border-bottom:1px solid var(--border); }
.cg-detail-title { font:600 14px var(--mono); color:var(--cyan); letter-spacing:2px; }
.cg-detail-reg { font:400 11px var(--mono); color:var(--text3); margin-top:3px; }
.cg-close-btn { background:none; border:1px solid var(--border); border-radius:6px; color:var(--text3); cursor:pointer; padding:4px 12px; font:500 11px var(--mono); transition:border-color 0.2s; }
.cg-close-btn:hover { border-color:var(--text3); }
.cg-detail-body { padding:16px 24px 24px; }
.cg-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; align-items:stretch; }
.cg-detail-section { margin-bottom:16px; }
.cg-detail-label { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--text3); margin-bottom:8px; text-transform:uppercase; }
.cg-req-row { display:flex; align-items:center; gap:8px; padding:5px 8px; border-bottom:1px solid var(--border); font:400 11px var(--mono); transition:background 0.2s; }
.cg-req-row:hover, .cg-req-row.cg-highlight { background:rgba(var(--accent-rgb),0.08); }
.cg-req-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.cg-req-dot.met { background:var(--cyan); box-shadow:0 0 6px rgba(var(--accent-rgb),0.5); }
.cg-req-dot.gap { background:var(--bg3); border:1px solid var(--border2); }
.cg-req-art { color:var(--text3); min-width:70px; flex-shrink:0; }
.cg-req-title { color:var(--text); flex:1; }
.cg-req-dims { display:flex; gap:3px; flex-shrink:0; }
.cg-req-dim-chip { font:600 11px var(--mono); padding:1px 5px; border-radius:6px; letter-spacing:0.5px; }
.cg-req-remediate-btn { font:600 9px var(--mono); letter-spacing:1px; padding:2px 8px; border-radius:6px; background:transparent; border:1px solid rgba(6,182,212,0.4); color:#06B6D4; cursor:pointer; flex-shrink:0; transition:all 0.15s; white-space:nowrap; }
.cg-req-remediate-btn:hover { background:rgba(6,182,212,0.12); border-color:#06B6D4; }
.cg-req-remediate-btn.remediated { background:rgba(16,185,129,0.1); border-color:rgba(16,185,129,0.3); color:#10B981; cursor:default; pointer-events:none; }
.cg-remediate-all-btn { font:600 10px var(--mono); letter-spacing:1px; padding:6px 14px; border-radius:8px; background:rgba(6,182,212,0.08); border:1px solid rgba(6,182,212,0.3); color:#06B6D4; cursor:pointer; transition:all 0.15s; white-space:nowrap; }
.cg-remediate-all-btn:hover { background:rgba(6,182,212,0.15); border-color:#06B6D4; transform:translateY(-1px); }
@keyframes cgRemFadeIn { from { opacity:0; max-height:0; } to { opacity:1; max-height:400px; } }
.cg-gap-card { padding:10px 12px; background:var(--bg2); border-radius:8px; border-left:3px solid var(--red); margin-bottom:8px; }
.cg-gap-title { font:600 11px var(--mono); color:var(--text); }
.cg-gap-desc { font:400 11px var(--sans); color:var(--text2); margin-top:4px; line-height:1.5; }
.cg-gap-dims { display:flex; gap:6px; margin-top:4px; font:400 11px var(--mono); }
.cg-horizon { position:relative; }
.cg-btn-evidence { padding:6px 14px; border-radius:6px; font:600 11px var(--mono); letter-spacing:0.5px; cursor:pointer; background:linear-gradient(135deg,var(--brand-primary),var(--purple)); color:#fff; border:none; transition:opacity 0.2s; display:flex; align-items:center; gap:6px; }
.cg-btn-evidence:hover { opacity:0.9; }
.cg-btn-evidence:disabled { opacity:0.4; cursor:not-allowed; }
@keyframes cgFadeIn { from{opacity:0;transform:scale(0.95)} to{opacity:1;transform:scale(1)} }
.cg-detail-modal { animation:cgFadeIn 0.25s ease-out; }
@media(max-width:900px) {
  .cg-top-row { flex-direction:column; height:auto; overflow:visible; }
  .cg-ring-panel { width:100% !important; min-width:0 !important; }
  .cg-star-field { overflow-y:visible; }
  .cg-star-field { grid-template-columns:1fr 1fr; }
  .cg-detail-grid { grid-template-columns:1fr; }
}
@media(max-width:500px) { .cg-star-field { grid-template-columns:1fr; } }

/* ── Incident Response ────────────────────── */
.ir-layout { display:grid; gap:12px; }
.ir-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.ir-title { font:600 15px var(--mono); color:var(--cyan); letter-spacing:3px; }
.ir-subtitle { font:400 11px var(--mono); color:var(--muted); margin-top:2px; }
.ir-panel { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.ir-panel-hdr { display:flex; justify-content:space-between; align-items:center; padding:12px 16px 8px; }
.ir-panel-title { font:600 11px var(--mono); letter-spacing:2px; color:var(--text3); text-transform:uppercase; }
.ir-panel-body { padding:0 16px 16px; }
.ir-filters { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.ir-filter-select { background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:5px 10px; color:var(--text); font:400 11px var(--mono); cursor:pointer; }
.ir-filter-select:focus { outline:none; border-color:var(--cyan); }
.ir-table { width:100%; border-collapse:collapse; font:400 11px var(--mono); }
.ir-table th { text-align:left; padding:8px 10px; border-bottom:2px solid var(--border); color:var(--text3); font-weight:600; letter-spacing:0.5px; }
.ir-table td { padding:8px 10px; border-bottom:1px solid var(--border); }
.ir-table tr { cursor:pointer; transition:background 0.15s; }
.ir-table tbody tr:hover { background:var(--bg3); }
.ir-sev-badge { font:700 11px var(--mono); padding:2px 8px; border-radius:10px; letter-spacing:0.5px; text-transform:uppercase; }
.ir-sev-critical { background:var(--red-dim); color:var(--red); }
.ir-sev-high { background:rgba(249,115,22,0.12); color:#F97316; }
.ir-sev-medium { background:var(--amber-dim); color:var(--amber); }
.ir-sev-low { background:var(--green-dim); color:var(--green); }
.ir-status-badge { font:600 11px var(--mono); padding:2px 8px; border-radius:10px; letter-spacing:0.5px; }
.ir-status-open { background:var(--red-dim); color:var(--red); }
.ir-status-investigating { background:var(--amber-dim); color:var(--amber); }
.ir-status-remediated { background:var(--cyan-dim); color:var(--cyan); }
.ir-status-verified { background:var(--green-dim); color:var(--green); }
.ir-status-closed { background:var(--bg3); color:var(--text3); }
.ir-detail-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:var(--modal-overlay); z-index:1000; display:flex; justify-content:center; align-items:flex-start; padding:40px 20px; overflow-y:auto; }
.ir-detail-modal { background:var(--bg2); border:1px solid var(--border); border-radius:12px; max-width:900px; width:100%; max-height:calc(100vh - 80px); overflow-y:auto; scrollbar-gutter:stable; }
.ir-detail-header { display:flex; justify-content:space-between; align-items:flex-start; padding:20px 24px 12px; border-bottom:1px solid var(--border); gap:16px; }
.ir-detail-title { font:600 14px var(--mono); color:var(--text); line-height:1.4; }
.ir-close-btn { background:none; border:1px solid var(--border); border-radius:6px; color:var(--text3); cursor:pointer; padding:4px 10px; font:500 11px var(--mono); transition:border-color 0.2s; }
.ir-close-btn:hover { border-color:var(--text3); }
.ir-detail-body { padding:16px 24px 24px; }
.ir-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.ir-detail-section { margin-bottom:20px; }
.ir-detail-label { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--text3); margin-bottom:8px; text-transform:uppercase; }
.ir-pipeline { display:flex; align-items:center; gap:0; margin:12px 0; }
.ir-pipeline-step { flex:1; text-align:center; padding:8px 4px; font:600 11px var(--mono); letter-spacing:0.5px; border-bottom:3px solid var(--border); color:var(--text3); transition:all 0.3s; position:relative; }
.ir-pipeline-step.active { border-bottom-color:var(--cyan); color:var(--cyan); }
.ir-pipeline-step.done { border-bottom-color:var(--green); color:var(--green); }
.ir-pipeline-step.current { border-bottom-color:var(--amber); color:var(--amber); }
.ir-pipeline-arrow { color:var(--text3); font-size:11px; margin:0 -2px; flex-shrink:0; }
.ir-sla-row { display:flex; gap:16px; margin:8px 0; }
.ir-sla-box { flex:1; padding:10px; background:var(--bg); border-radius:8px; border:1px solid var(--border); }
.ir-sla-label { font:500 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:4px; }
.ir-sla-value { font:700 14px var(--mono); }
.ir-sla-ok { color:var(--green); }
.ir-sla-warn { color:var(--amber); }
.ir-sla-exceeded { color:var(--red); }
.ir-dim-bar { display:flex; align-items:center; gap:8px; margin:4px 0; }
.ir-dim-bar-label { width:26px; font:600 11px var(--mono); color:var(--text3); text-align:right; flex-shrink:0; }
.ir-dim-bar-track { flex:1; height:8px; background:var(--bg3); border-radius:4px; overflow:hidden; }
.ir-dim-bar-fill { height:100%; border-radius:4px; transition:width 0.6s ease; }
.ir-dim-bar-val { width:32px; font:400 11px var(--mono); color:var(--text2); text-align:right; flex-shrink:0; }
.ir-root-cause { padding:12px; background:var(--bg); border-radius:8px; border-left:3px solid var(--cyan); }
.ir-root-cause-cat { font:600 11px var(--mono); color:var(--text); margin-bottom:4px; }
.ir-root-cause-desc { font:400 11px var(--sans); color:var(--text2); line-height:1.5; }
.ir-recommendations { margin-top:8px; padding:0; list-style:none; }
.ir-recommendations li { font:400 11px var(--sans); color:var(--text2); padding:3px 0 3px 14px; position:relative; }
.ir-recommendations li::before { content:''; position:absolute; left:0; top:10px; width:6px; height:6px; border-radius:50%; background:var(--cyan); }
.ir-note { padding:10px 14px; border-bottom:1px solid var(--border); }
.ir-note-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; }
.ir-note-author { font:600 11px var(--mono); color:var(--cyan); }
.ir-note-time { font:400 11px var(--mono); color:var(--text3); }
.ir-note-body { font:400 11px var(--sans); color:var(--text2); line-height:1.5; }
.ir-note-type { font:600 11px var(--mono); padding:1px 6px; border-radius:8px; background:var(--bg3); color:var(--text3); }
.ir-note-input { display:flex; gap:8px; padding:10px 14px; border-top:1px solid var(--border); }
.ir-note-input textarea { flex:1; background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:8px; color:var(--text); font:400 11px var(--sans); resize:vertical; min-height:36px; }
.ir-note-input textarea:focus { outline:none; border-color:var(--cyan); }
.ir-note-input button { align-self:flex-end; }
.ir-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.ir-action-btn { padding:6px 14px; border-radius:6px; font:600 11px var(--mono); letter-spacing:0.5px; cursor:pointer; border:1px solid var(--border); background:var(--bg); color:var(--text2); transition:all 0.2s; }
.ir-action-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.ir-action-btn.primary { background:var(--cyan); color:var(--bg); border-color:var(--cyan); }
.ir-action-btn.primary:hover { opacity:0.9; }
.ir-action-btn:disabled { opacity:0.4; cursor:not-allowed; }
.ir-analytics-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ir-analytics-card { background:var(--bg); border-radius:8px; padding:12px; border:1px solid var(--border); }
.ir-analytics-card-title { font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:8px; }
.ir-kpi-row { display:flex; gap:12px; margin-bottom:12px; }
.ir-kpi { flex:1; text-align:center; padding:10px 8px; background:var(--bg); border-radius:8px; border:1px solid var(--border); transition:border-color 0.2s, box-shadow 0.2s; }
.ir-kpi.vp-click:hover { border-color:var(--cyan); box-shadow:0 0 0 1px rgba(6,182,212,0.12); }
.ir-kpi-value { font:700 20px var(--mono); line-height:1.2; }
.ir-kpi-label { font:400 11px var(--mono); letter-spacing:0.5px; color:var(--text3); margin-top:3px; }
.ir-sub-tabs { display:flex; gap:4px; margin-bottom:12px; }
.ir-sub-tab { padding:5px 14px; border-radius:6px; font:500 11px var(--mono); letter-spacing:0.5px; cursor:pointer; background:var(--bg); color:var(--text3); border:1px solid var(--border); transition:all 0.2s; }
.ir-sub-tab.active { background:var(--cyan-dim); color:var(--cyan); border-color:var(--cyan); }
@keyframes irSlideIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:768px) {
  .ir-detail-grid { grid-template-columns:1fr; }
  .ir-analytics-grid { grid-template-columns:1fr; }
  .ir-pipeline { flex-wrap:wrap; }
  .ir-sla-row { flex-direction:column; }
  .ir-kpi-row { flex-wrap:wrap; }
}

/* ── Phase responsive additions ────────────── */
@media(max-width:768px) {
  .tool-cert-grid, .api-playground { grid-template-columns:1fr; }
  .cert-flow-container { height:80px; }
  .mini-gauge { flex-direction:column; }
  .posture-grid, .scenario-grid { grid-template-columns:1fr !important; }
}

/* ── Connected Universe (Integration Ecosystem) ── */
.cu-layout { display:grid; grid-template-columns:220px 1fr; gap:0; min-height:calc(100vh - 150px); }
.cu-sidebar { background:var(--bg); border-right:1px solid var(--border); padding:0; overflow-y:auto; }
.cu-sidebar-header { padding:16px; border-bottom:1px solid var(--border); }
.cu-sidebar-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--text); margin-bottom:4px; }
.cu-sidebar-sub { font:400 11px var(--mono); color:var(--text3); }
.cu-nav-item { display:flex; align-items:center; gap:10px; padding:10px 16px; cursor:pointer; transition:all 0.2s; border-left:3px solid transparent; }
.cu-nav-item:hover { background:var(--bg2); }
.cu-nav-item.active { background:var(--bg2); border-left-color:var(--cyan); }
.cu-nav-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font:600 12px var(--mono); flex-shrink:0; }
.cu-nav-label { font:500 11px var(--mono); color:var(--text); line-height:1.3; }
.cu-nav-status { font:400 11px var(--mono); }
.cu-nav-status.connected { color:var(--green); }
.cu-nav-status.available { color:var(--text3); }
.cu-main { padding:20px; overflow-y:auto; }
.cu-panel { display:none; }
.cu-panel.active { display:block; animation:irSlideIn 0.25s ease; }
.cu-panel-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; gap:16px; }
.cu-panel-title { font:700 14px var(--mono); letter-spacing:1px; color:var(--text); }
.cu-panel-desc { font:400 11px var(--sans); color:var(--text2); margin-top:4px; line-height:1.5; max-width:600px; }
.cu-status-dot { width:8px; height:8px; border-radius:50%; display:inline-block; flex-shrink:0; }
.cu-status-dot.green { background:var(--green); box-shadow:0 0 6px var(--green); }
.cu-status-dot.amber { background:var(--amber); box-shadow:0 0 6px var(--amber); }
.cu-status-dot.red { background:var(--red); box-shadow:0 0 6px var(--red); }
.cu-status-dot.gray { background:var(--text3); }
.cu-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; margin-bottom:20px; }
.cu-card { background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:16px; transition:border-color 0.2s; }
.cu-card:hover { border-color:var(--border2); }
.cu-card-header { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.cu-card-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; font:700 14px var(--mono); }
.cu-card-title { font:600 11px var(--mono); color:var(--text); }
.cu-card-sub { font:400 11px var(--mono); color:var(--text3); margin-top:2px; }
.cu-kpi-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.cu-kpi { text-align:center; padding:8px; background:var(--bg2); border-radius:6px; }
.cu-kpi-val { font:700 16px var(--mono); }
.cu-kpi-label { font:400 11px var(--mono); color:var(--text3); letter-spacing:0.5px; margin-top:2px; }
.cu-form-group { margin-bottom:12px; }
.cu-form-label { display:block; font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:4px; }
.cu-input { width:100%; background:var(--bg2); border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--text); font:400 11px var(--mono); }
.cu-input:focus { outline:none; border-color:var(--cyan); }
.cu-select { width:100%; background:var(--bg2); border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--text); font:400 11px var(--mono); cursor:pointer; }
.cu-select:focus { outline:none; border-color:var(--cyan); }
.cu-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cu-check-group { display:flex; gap:12px; flex-wrap:wrap; }
.cu-check-label { display:flex; align-items:center; gap:5px; font:400 11px var(--mono); color:var(--text2); cursor:pointer; }
.cu-check-label input { accent-color:var(--cyan); }
.cu-btn-row { display:flex; gap:8px; margin-top:12px; align-items:center; }
.cu-test-status { font:400 11px var(--mono); margin-left:8px; }
.cu-code-block { position:relative; background:var(--bg2); border:1px solid var(--border); border-radius:8px; margin:12px 0; overflow:hidden; }
.cu-code-header { display:flex; justify-content:space-between; align-items:center; padding:8px 12px; border-bottom:1px solid var(--border); background:var(--bg3); }
.cu-code-lang { font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); }
.cu-copy-btn { background:none; border:1px solid var(--border); border-radius:4px; padding:2px 10px; font:500 11px var(--mono); color:var(--text3); cursor:pointer; transition:all 0.2s; }
.cu-copy-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.cu-code-body { padding:12px; overflow-x:auto; }
.cu-code-body pre { font:400 11px var(--mono); color:var(--text); line-height:1.6; white-space:pre; margin:0; }
.cu-delivery-table { width:100%; border-collapse:collapse; font:400 11px var(--mono); }
.cu-delivery-table th { text-align:left; padding:6px 8px; border-bottom:2px solid var(--border); color:var(--text3); font-weight:600; font-size:11px; letter-spacing:0.5px; }
.cu-delivery-table td { padding:6px 8px; border-bottom:1px solid var(--border); }
.cu-preview-card { background:var(--bg2); border:1px solid var(--border); border-radius:8px; padding:14px; border-left:4px solid var(--red); max-width:420px; }
.cu-preview-title { font:600 12px var(--sans); color:var(--text); margin-bottom:6px; }
.cu-preview-field { font:400 11px var(--sans); color:var(--text2); margin:3px 0; }
.cu-preview-field strong { color:var(--text); }
.cu-field-map-table { width:100%; border-collapse:collapse; font:400 11px var(--mono); }
.cu-field-map-table th { text-align:left; padding:6px 8px; border-bottom:2px solid var(--border); color:var(--text3); font-weight:600; }
.cu-field-map-table td { padding:6px 8px; border-bottom:1px solid var(--border); }
.cu-section { margin-bottom:20px; }
.cu-section-title { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--text3); margin-bottom:10px; text-transform:uppercase; }
@media(max-width:768px) {
  .cu-layout { grid-template-columns:1fr; }
  .cu-sidebar { border-right:none; border-bottom:1px solid var(--border); }
  .cu-form-row { grid-template-columns:1fr; }
  .cu-cards { grid-template-columns:1fr; }
  .cu-kpi-row { grid-template-columns:1fr; }
}

/* ── Benchmarking (Percentile Universe) ────── */
.bm-layout { display:grid; grid-template-columns:260px 1fr; gap:0; min-height:calc(100vh - 150px); }
.bm-sidebar { background:var(--bg); border-right:1px solid var(--border); overflow-y:auto; }
.bm-sidebar-header { padding:16px; border-bottom:1px solid var(--border); }
.bm-sidebar-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--text); margin-bottom:4px; }
.bm-sidebar-sub { font:400 11px var(--mono); color:var(--text3); }
.bm-dep-item { display:flex; align-items:center; gap:10px; padding:10px 16px; cursor:pointer; transition:all 0.2s; border-left:3px solid transparent; }
.bm-dep-item:hover { background:var(--bg2); }
.bm-dep-item.active { background:var(--bg2); border-left-color:var(--cyan); }
.bm-dep-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font:700 11px var(--mono); flex-shrink:0; }
.bm-dep-name { font:500 11px var(--mono); color:var(--text); line-height:1.3; }
.bm-dep-meta { font:400 11px var(--mono); color:var(--text3); margin-top:1px; }
.bm-dep-pct { font:700 11px var(--mono); margin-left:auto; flex-shrink:0; }
.bm-main { padding:20px; overflow-y:auto; }
.bm-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:16px; gap:16px; }
.bm-title { font:700 14px var(--mono); letter-spacing:1px; color:var(--text); }
.bm-subtitle { font:400 11px var(--sans); color:var(--text2); margin-top:4px; }
.bm-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.bm-panel { background:var(--bg); border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.bm-panel-header { padding:12px 16px; border-bottom:1px solid var(--border); font:600 11px var(--mono); letter-spacing:1.5px; color:var(--text3); }
.bm-panel-body { padding:16px; }
.bm-insight { padding:10px 14px; border-bottom:1px solid var(--border); display:flex; gap:10px; align-items:flex-start; }
.bm-insight:last-child { border-bottom:none; }
.bm-insight-icon { width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0; margin-top:2px; }
.bm-insight-text { font:400 11px var(--sans); color:var(--text2); line-height:1.5; }
.bm-peer-table { width:100%; border-collapse:collapse; font:400 11px var(--mono); }
.bm-peer-table th { text-align:left; padding:6px 8px; border-bottom:2px solid var(--border); color:var(--text3); font-weight:600; font-size:11px; letter-spacing:0.5px; }
.bm-peer-table td { padding:6px 8px; border-bottom:1px solid var(--border); }
.bm-peer-table tr.bm-self { background:rgba(var(--accent-rgb),0.06); }
.bm-peer-table tr.bm-self td { color:var(--cyan); font-weight:600; }
.bm-period-sel { background:var(--bg2); border:1px solid var(--border); border-radius:6px; padding:4px 10px; color:var(--text); font:400 11px var(--mono); cursor:pointer; }
.bm-period-sel:focus { outline:none; border-color:var(--cyan); }
@media(max-width:768px) {
  .bm-layout { grid-template-columns:1fr; }
  .bm-sidebar { border-right:none; border-bottom:1px solid var(--border); max-height:200px; }
  .bm-grid-2 { grid-template-columns:1fr; }
}

/* ── Enterprise Fortress (Admin/RBAC) ───────── */
.ef-layout { display:grid; grid-template-columns:220px 1fr; gap:0; min-height:calc(100vh - 150px); }
.ef-sidebar { background:var(--bg); border-right:1px solid var(--border); overflow-y:auto; display:flex; flex-direction:column; }
.ef-sidebar-nav { display:flex; flex-direction:column; flex:1; min-height:0; }
.ef-sidebar-header { padding:16px; border-bottom:1px solid var(--border); }
.ef-sidebar-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--text); margin-bottom:4px; }
.ef-sidebar-sub { font:400 11px var(--mono); color:var(--text3); }
.ef-nav-item { display:flex; align-items:center; gap:10px; padding:10px 16px; cursor:pointer; transition:all 0.2s; border-left:3px solid transparent; }
.ef-nav-item:hover { background:var(--bg2); }
.ef-nav-item.active { background:var(--bg2); border-left-color:var(--cyan); }
.ef-nav-icon { width:28px; height:28px; border-radius:6px; display:flex; align-items:center; justify-content:center; font:600 11px var(--mono); flex-shrink:0; }
.ef-nav-label { font:500 11px var(--mono); color:var(--text); }
.ef-main { padding:20px; overflow-y:auto; }
.ef-panel-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.ef-panel-title { font:700 13px var(--mono); letter-spacing:1.5px; color:var(--text); }
.ef-panel-sub { font:400 11px var(--mono); color:var(--text3); }
.ef-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:16px; gap:16px; flex-wrap:wrap; }
.ef-title { font:700 14px var(--mono); letter-spacing:1px; color:var(--text); }
.ef-desc { font:400 11px var(--sans); color:var(--text2); margin-top:4px; line-height:1.5; max-width:600px; }
.ef-table { width:100%; border-collapse:collapse; font:400 11px var(--mono); }
.ef-table th { text-align:left; padding:8px 10px; border-bottom:2px solid var(--border); color:var(--text3); font-weight:600; font-size:11px; letter-spacing:0.5px; position:sticky; top:0; background:var(--bg); z-index:1; }
.ef-table td { padding:7px 10px; border-bottom:1px solid var(--border); }
.ef-table tbody tr { transition:background 0.15s; }
.ef-table tbody tr:hover { background:var(--bg3); }
.ef-filters { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.ef-filter { background:var(--bg2); border:1px solid var(--border); border-radius:6px; padding:5px 10px; color:var(--text); font:400 11px var(--mono); }
.ef-filter:focus { outline:none; border-color:var(--cyan); }
.ef-badge { font:600 11px var(--mono); padding:2px 8px; border-radius:10px; letter-spacing:0.5px; }
.ef-badge-success { background:var(--green-dim); color:var(--green); }
.ef-badge-warning { background:var(--amber-dim); color:var(--amber); }
.ef-badge-error { background:var(--red-dim); color:var(--red); }
.ef-badge-info { background:var(--cyan-dim); color:var(--cyan); }
.ef-badge-neutral { background:var(--bg3); color:var(--text3); }
.ef-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; margin-bottom:16px; }
.ef-cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; margin-bottom:16px; }
.ef-card { background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:16px; }
.ef-card-header { font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); padding-bottom:10px; border-bottom:1px solid var(--border); margin-bottom:12px; }
.ef-card-body { font:400 11px var(--mono); }
.ef-card-title { font:600 11px var(--mono); color:var(--text); margin-bottom:8px; }
.ef-card-meta { font:400 11px var(--mono); color:var(--text3); margin-top:2px; }
.ef-kpi-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(80px,1fr)); gap:8px; margin-bottom:16px; }
.ef-kpi { text-align:center; padding:10px; background:var(--bg); border:1px solid var(--border); border-radius:8px; }
.ef-kpi-val { font:700 18px var(--mono); }
.ef-kpi-label { font:400 11px var(--mono); color:var(--text3); letter-spacing:0.5px; margin-top:3px; }
.ef-form-group { margin-bottom:12px; }
.ef-form-label { display:block; font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:4px; }
.ef-input { width:100%; background:var(--bg2); border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--text); font:400 11px var(--mono); }
.ef-input:focus { outline:none; border-color:var(--cyan); }
.ef-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ef-section { margin-bottom:20px; }
.ef-section-title { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--text3); margin-bottom:10px; text-transform:uppercase; }
.ef-toggle-row { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--border); }
.ef-toggle-label { font:500 11px var(--mono); color:var(--text); }
.ef-toggle-sub { font:400 11px var(--mono); color:var(--text3); margin-top:1px; }
.ef-switch { position:relative; width:36px; height:20px; flex-shrink:0; }
.ef-switch input { opacity:0; width:0; height:0; }
.ef-switch .ef-slider { position:absolute; cursor:pointer; top:0; left:0; right:0; bottom:0; background:var(--bg3); border-radius:10px; transition:0.3s; }
.ef-switch .ef-slider::before { content:''; position:absolute; height:16px; width:16px; left:2px; bottom:2px; background:var(--text3); border-radius:50%; transition:0.3s; }
.ef-switch input:checked + .ef-slider { background:var(--cyan); }
.ef-switch input:checked + .ef-slider::before { transform:translateX(16px); background:var(--bg); }
.ef-timeline { position:relative; padding-left:24px; }
.ef-timeline::before { content:''; position:absolute; left:8px; top:0; bottom:0; width:2px; background:var(--border); }
.ef-tl-item { position:relative; padding:8px 0 8px 16px; }
.ef-tl-item::before { content:''; position:absolute; left:-20px; top:14px; width:8px; height:8px; border-radius:50%; background:var(--border); border:2px solid var(--bg); z-index:1; }
.ef-tl-item.login::before { background:var(--green); }
.ef-tl-item.action::before { background:var(--cyan); }
.ef-tl-item.warning::before { background:var(--amber); }
.ef-tl-time { font:400 11px var(--mono); color:var(--text3); }
.ef-tl-action { font:500 11px var(--mono); color:var(--text); margin-top:2px; }
.ef-tl-detail { font:400 11px var(--sans); color:var(--text2); margin-top:1px; }
.ef-status { display:flex; align-items:center; gap:6px; font:500 11px var(--mono); }
.ef-status-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ef-btn { font:600 11px var(--mono); letter-spacing:1px; padding:7px 14px; border-radius:6px; cursor:pointer; transition:all 0.2s; border:1px solid var(--border); background:var(--bg2); color:var(--text); }
.ef-btn:hover { border-color:var(--cyan); }
.ef-btn-primary { background:var(--cyan); color:var(--bg); border-color:var(--cyan); }
.ef-btn-primary:hover { opacity:0.9; }
.ef-btn-ghost { background:transparent; border-color:var(--border); color:var(--text2); }
.ef-btn-ghost:hover { border-color:var(--cyan); color:var(--cyan); }
.ef-btn-row { display:flex; gap:8px; margin-top:12px; align-items:center; }
.ef-pager { display:flex; align-items:center; gap:12px; padding:12px 0; font:400 11px var(--mono); }
.ef-leads-badge { display:inline-block; background:var(--red); color:#fff; font:700 9px var(--mono); padding:1px 5px; border-radius:8px; margin-left:6px; min-width:14px; text-align:center; }
.ef-toggle { display:flex; align-items:center; gap:8px; cursor:pointer; font:400 11px var(--mono); color:var(--text); }
.ef-toggle input[type="checkbox"] { display:none; }
.ef-toggle-slider { position:relative; display:inline-block; width:36px; height:20px; background:var(--bg3); border-radius:10px; transition:0.3s; flex-shrink:0; }
.ef-toggle-slider::before { content:''; position:absolute; height:16px; width:16px; left:2px; bottom:2px; background:var(--text3); border-radius:50%; transition:0.3s; }
.ef-toggle input:checked + .ef-toggle-slider { background:var(--cyan); }
.ef-toggle input:checked + .ef-toggle-slider::before { transform:translateX(16px); background:var(--bg); }
.ef-timeline-date { font:600 11px var(--mono); color:var(--text2); padding:12px 0 6px; letter-spacing:0.5px; }
.ef-timeline-item { display:flex; align-items:flex-start; gap:12px; padding:8px 0; position:relative; padding-left:20px; }
.ef-timeline-item::before { content:''; position:absolute; left:3px; top:0; bottom:0; width:2px; background:var(--border); }
.ef-timeline-dot { position:absolute; left:0; top:12px; width:8px; height:8px; border-radius:50%; background:var(--cyan); z-index:1; }
.ef-timeline-content { flex:1; }
.ef-form-group label { display:block; font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:4px; }
.ef-form-group input, .ef-form-group textarea, .ef-form-group select { width:100%; background:var(--bg2); border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--text); font:400 11px var(--mono); box-sizing:border-box; }
.ef-form-group input:focus, .ef-form-group textarea:focus, .ef-form-group select:focus { outline:none; border-color:var(--cyan); }
@media(max-width:768px) {
  .ef-layout { grid-template-columns:1fr; }
  .ef-sidebar { border-right:none; border-bottom:1px solid var(--border); }
  .ef-form-row { grid-template-columns:1fr; }
  .ef-cards { grid-template-columns:1fr; }
  .ef-kpi-row { grid-template-columns:repeat(2,1fr); }
}

/* ── Developer API Docs ──────────────────────── */
.dev-page { max-width:960px; margin:0 auto; padding:24px 16px 64px; }
.dev-nav { position:sticky; top:0; z-index:10; background:var(--bg); border-bottom:1px solid var(--border); padding:10px 0; margin-bottom:24px; display:flex; gap:16px; flex-wrap:wrap; }
.dev-nav a { font:500 11px var(--mono); color:var(--text3); text-decoration:none; letter-spacing:1px; cursor:pointer; transition:color .2s; }
.dev-nav a:hover { color:var(--cyan); }
.dev-hero { background:var(--bg2); border:1px solid var(--border); border-left:3px solid var(--brand-primary); border-radius:var(--radius); padding:32px; margin-bottom:32px; }
.dev-hero-title { font:700 20px var(--mono); letter-spacing:3px; background:linear-gradient(135deg,var(--brand-primary),var(--purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:8px; }
.dev-hero-sub { font:400 13px var(--sans); color:var(--text2); line-height:1.6; }
.dev-hero-badges { display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
.dev-hero-badge { font:600 11px var(--mono); padding:3px 10px; border-radius:20px; letter-spacing:1px; background:var(--cyan-dim); color:var(--cyan); border:1px solid rgba(var(--accent-rgb),0.2); }
.dev-section { margin-bottom:36px; }
.dev-section-title { font:700 13px var(--mono); color:var(--cyan); letter-spacing:2px; border-bottom:1px solid var(--border); padding-bottom:8px; margin-bottom:16px; }
.dev-section-desc { font:400 12px var(--sans); color:var(--text2); line-height:1.6; margin-bottom:16px; }
.dev-endpoint { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); margin-bottom:16px; overflow:hidden; }
.dev-endpoint-header { display:flex; align-items:center; gap:10px; padding:14px 16px; flex-wrap:wrap; }
.dev-method { font:700 11px var(--mono); padding:3px 10px; border-radius:4px; letter-spacing:1px; }
.dev-method-post { background:var(--green-dim); color:var(--green); }
.dev-method-get { background:var(--cyan-dim); color:var(--cyan); }
.dev-path { font:500 12px var(--mono); color:var(--text); }
.dev-ep-desc { font:400 11px var(--sans); color:var(--text3); margin-left:auto; }
.dev-try-btn { font:600 11px var(--mono); padding:4px 12px; border-radius:4px; background:var(--cyan-dim); color:var(--cyan); border:1px solid rgba(var(--accent-rgb),0.3); cursor:pointer; letter-spacing:1px; transition:background .2s; }
.dev-try-btn:hover { background:rgba(var(--accent-rgb),0.2); }
.dev-endpoint-body { padding:0 16px 16px; }
.dev-code-wrap { position:relative; margin-bottom:12px; }
.dev-code-tabs { display:flex; gap:0; border-bottom:1px solid var(--border); }
.dev-code-tab { font:500 11px var(--mono); padding:6px 14px; color:var(--text3); cursor:pointer; border-bottom:2px solid transparent; letter-spacing:1px; transition:color .2s; }
.dev-code-tab.active { color:var(--cyan); border-bottom-color:var(--cyan); }
.dev-code-block { display:none; background:var(--surface); border:1px solid var(--border); border-top:none; border-radius:0 0 var(--radius) var(--radius); padding:14px 16px; font:400 11px/1.7 var(--mono); color:var(--text2); overflow-x:auto; white-space:pre; }
.dev-code-block.active { display:block; }
.dev-copy-btn { position:absolute; top:34px; right:8px; font:600 11px var(--mono); padding:3px 10px; border-radius:4px; background:var(--bg3); color:var(--text3); border:1px solid var(--border); cursor:pointer; letter-spacing:1px; z-index:2; transition:color .2s,background .2s; }
.dev-copy-btn:hover { color:var(--text); background:var(--border); }
.dev-copy-btn.copied { color:var(--green); border-color:rgba(16,185,129,0.3); }
.dev-param-table { width:100%; font:400 11px var(--mono); border-collapse:collapse; margin-bottom:12px; }
.dev-param-table th { text-align:left; font-weight:600; color:var(--text3); padding:6px 10px; border-bottom:1px solid var(--border); font-size:11px; letter-spacing:1px; }
.dev-param-table td { padding:6px 10px; border-bottom:1px solid var(--border); color:var(--text2); }
.dev-param-name { color:var(--text); font-weight:500; }
.dev-param-type { color:var(--purple); }
.dev-param-req { font:600 11px var(--mono); color:var(--red); }
.dev-param-opt { font:600 11px var(--mono); color:var(--text3); }
.dev-rate-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:12px; }
.dev-rate-card { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:20px; text-align:center; }
.dev-rate-val { font:700 22px var(--mono); color:var(--cyan); }
.dev-rate-label { font:400 11px var(--mono); color:var(--text3); letter-spacing:1px; margin-top:4px; }
.dev-error-row { display:grid; grid-template-columns:80px 140px 1fr; gap:10px; padding:8px 10px; border-bottom:1px solid var(--border); font:400 11px var(--mono); color:var(--text2); align-items:center; }
.dev-error-code { font-weight:700; }
.dev-kw { color:var(--purple); } .dev-str { color:var(--green); } .dev-cmt { color:var(--muted); font-style:italic; }
.dev-fn { color:var(--cyan); } .dev-num { color:var(--amber); } .dev-key { color:var(--red); }
.dev-modal-overlay { position:fixed; inset:0; background:var(--modal-overlay); backdrop-filter:blur(4px); z-index:1000; display:flex; align-items:center; justify-content:center; }
.dev-modal { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:24px; width:520px; max-width:92vw; max-height:80vh; overflow-y:auto; }
.dev-modal h3 { font:700 13px var(--mono); color:var(--cyan); letter-spacing:2px; margin-bottom:16px; }
.dev-modal label { font:500 11px var(--mono); color:var(--text3); letter-spacing:1px; display:block; margin-bottom:4px; margin-top:12px; }
.dev-modal input,.dev-modal select,.dev-modal textarea { width:100%; font:400 12px var(--mono); padding:8px 10px; background:var(--surface); border:1px solid var(--border); border-radius:4px; color:var(--text); outline:none; }
.dev-modal textarea { min-height:80px; resize:vertical; }
.dev-modal-btns { display:flex; gap:8px; margin-top:16px; justify-content:flex-end; }
.dev-modal-btns button { font:600 11px var(--mono); padding:6px 16px; border-radius:4px; cursor:pointer; letter-spacing:1px; border:1px solid var(--border); }
.dev-result { margin-top:16px; padding:14px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); }
.dev-result-row { display:flex; justify-content:space-between; margin-bottom:6px; font:400 11px var(--mono); }
.dev-result-json { margin-top:10px; font:400 11px/1.6 var(--mono); color:var(--text3); white-space:pre-wrap; max-height:200px; overflow-y:auto; }
@media(max-width:768px){
  .dev-rate-grid { grid-template-columns:1fr; }
  .dev-error-row { grid-template-columns:60px 1fr; }
  .dev-error-row > :nth-child(3) { grid-column:1/-1; }
  .dev-endpoint-header { flex-direction:column; align-items:flex-start; }
  .dev-ep-desc { margin-left:0; }
}

/* ── Governance Policy Engine ────────────────── */
.gov-layout { display:grid; grid-template-columns:220px 1fr; gap:0; min-height:calc(100vh - 150px); }
.gov-sidebar { background:var(--bg); border-right:1px solid var(--border); padding:0; overflow-y:auto; }
.gov-sidebar-header { padding:16px; border-bottom:1px solid var(--border); }
.gov-sidebar-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--text); margin-bottom:4px; }
.gov-sidebar-sub { font:400 11px var(--mono); color:var(--text3); }
.gov-nav-item { display:flex; align-items:center; gap:10px; padding:10px 16px; cursor:pointer; transition:all 0.2s; border-left:3px solid transparent; }
.gov-nav-item:hover { background:var(--bg2); }
.gov-nav-item.active { background:var(--bg2); border-left-color:var(--cyan); }
.gov-nav-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font:600 12px var(--mono); flex-shrink:0; }
.gov-nav-label { font:500 11px var(--mono); color:var(--text); line-height:1.3; }
.gov-nav-count { font:400 11px var(--mono); color:var(--text3); }
.gov-nav-sep { height:1px; background:var(--border); margin:6px 16px; }
.gov-main { padding:20px; overflow-y:auto; }
.gov-panel { display:none; }
.gov-panel.active { display:block; animation:irSlideIn 0.25s ease; }
.gov-panel-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; gap:16px; }
.gov-panel-title { font:700 14px var(--mono); letter-spacing:1px; color:var(--text); }
.gov-panel-desc { font:400 11px var(--sans); color:var(--text2); margin-top:4px; line-height:1.5; max-width:600px; }
.gov-kpi-row { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.gov-kpi { text-align:center; padding:12px 8px; background:var(--bg2); border:1px solid var(--border); border-radius:8px; }
.gov-kpi-val { font:700 20px var(--mono); }
.gov-kpi-label { font:400 11px var(--mono); color:var(--text3); letter-spacing:0.5px; margin-top:2px; }
.gov-rule-list { display:flex; flex-direction:column; gap:8px; }
.gov-rule-card { background:var(--bg2); border:1px solid var(--border); border-radius:8px; padding:12px 14px; display:flex; align-items:center; gap:12px; cursor:grab; transition:all 0.2s; }
.gov-rule-card:hover { border-color:var(--border2); }
.gov-rule-card.dragging { opacity:0.4; border-style:dashed; }
.gov-rule-card.drag-over { border-top:2px solid var(--cyan); }
.gov-rule-drag { color:var(--text3); font-size:12px; cursor:grab; flex-shrink:0; }
.gov-rule-pri { width:24px; height:24px; border-radius:50%; background:var(--bg3); display:flex; align-items:center; justify-content:center; font:700 11px var(--mono); color:var(--cyan); flex-shrink:0; }
.gov-rule-info { flex:1; min-width:0; }
.gov-rule-name { font:600 11px var(--mono); color:var(--text); margin-bottom:2px; }
.gov-rule-cond { font:400 11px var(--mono); color:var(--text3); }
.gov-rule-badges { display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.gov-rule-disabled { opacity:0.45; }
.gov-badge { font:600 11px var(--mono); letter-spacing:0.5px; padding:2px 6px; border-radius:3px; }
.gov-badge-log { background:var(--bg3); color:var(--text3); }
.gov-badge-incident { background:rgba(255,71,87,0.15); color:var(--red); }
.gov-badge-alert { background:rgba(255,165,0,0.15); color:var(--amber); }
.gov-badge-escalate { background:rgba(138,92,246,0.15); color:var(--purple); }
.gov-badge-quarantine { background:rgba(0,245,212,0.12); color:var(--cyan); }
.gov-badge-retry { background:rgba(0,200,83,0.12); color:var(--green); }
.gov-tpl-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.gov-tpl-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; cursor:pointer; transition:all 0.25s; }
.gov-tpl-card:hover { border-color:var(--cyan); }
.gov-tpl-card.applied { border-color:var(--green); animation:govFlash 0.6s ease; }
@keyframes govFlash { 0%,100%{ box-shadow:none; } 50%{ box-shadow:0 0 16px rgba(0,200,83,0.3); } }
.gov-tpl-name { font:700 12px var(--mono); color:var(--text); margin-bottom:4px; }
.gov-tpl-desc { font:400 11px var(--mono); color:var(--text3); line-height:1.5; margin-bottom:8px; }
.gov-tpl-tags { display:flex; gap:4px; flex-wrap:wrap; }
.gov-audit-list { max-height:400px; overflow-y:auto; }
.gov-audit-item { display:grid; grid-template-columns:140px 120px 1fr; gap:8px; padding:8px 0; border-bottom:1px solid var(--border); font:400 11px var(--mono); }
.gov-audit-time { color:var(--text3); }
.gov-audit-who { color:var(--cyan); }
.gov-audit-what { color:var(--text2); }
.gov-sim-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.gov-sim-card { text-align:center; padding:14px; background:var(--bg2); border:1px solid var(--border); border-radius:8px; }
.gov-sim-val { font:700 22px var(--mono); }
.gov-sim-label { font:400 11px var(--mono); color:var(--text3); letter-spacing:0.5px; margin-top:2px; }
.gov-editor-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.6); display:flex; align-items:center; justify-content:center; z-index:1000; backdrop-filter:blur(4px); }
.gov-editor { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:24px; width:520px; max-width:95vw; max-height:90vh; overflow-y:auto; }
.gov-editor label { display:block; font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:4px; margin-top:12px; }
.gov-editor label:first-child { margin-top:0; }
.gov-editor input, .gov-editor select, .gov-editor textarea { width:100%; font:400 11px var(--mono); padding:8px 10px; background:var(--bg3); border:1px solid var(--border); border-radius:6px; color:var(--text); outline:none; box-sizing:border-box; }
.gov-editor input:focus, .gov-editor select:focus { border-color:var(--cyan); }
.gov-editor-actions { display:flex; gap:8px; margin-top:16px; justify-content:flex-end; }
@media(max-width:768px) {
  .gov-layout { grid-template-columns:1fr; }
  .gov-sidebar { border-right:none; border-bottom:1px solid var(--border); }
  .gov-kpi-row { grid-template-columns:repeat(2,1fr); }
  .gov-tpl-grid { grid-template-columns:1fr; }
  .gov-sim-grid { grid-template-columns:1fr; }
  .gov-audit-item { grid-template-columns:1fr; }
}

/* ── OVERVIEW TAB ── */
.ov-hero { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-bottom:16px; }
.ov-hero-card { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:20px; position:relative; transition:border-color 0.2s, box-shadow 0.2s, filter 0.2s; }
.ov-hero-card.vp-click { cursor:pointer; }
.ov-hero-card.vp-click:hover { border-color:var(--cyan); box-shadow:0 0 0 1px rgba(6,182,212,0.15), 0 4px 12px rgba(6,182,212,0.08); }
.ov-hero-card.vp-click:active { filter:brightness(0.95); }
.ov-hero-card::after { content:''; position:absolute; top:0; right:0; bottom:0; width:40%; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.02)); pointer-events:none; }
.ov-hero-label { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--muted); margin-bottom:8px; text-transform:uppercase; }
.ov-hero-val { font:700 28px var(--mono); line-height:1.2; }
.ov-hero-sub { font:400 11px var(--mono); color:var(--muted); margin-top:6px; }
.vp-drill { display:block; font:400 11px var(--mono); color:var(--cyan); margin-top:8px; opacity:0; transition:opacity 0.2s; }
.ov-hero-card.vp-click:hover .vp-drill { opacity:1; }
.ov-mid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.ov-dep-list { display:flex; flex-direction:column; gap:8px; max-height:340px; overflow-y:auto; scrollbar-gutter:stable; padding:12px; }
.ov-dep-card { background:var(--bg2); border-left:3px solid var(--green); display:flex; align-items:center; padding:14px; border-radius:8px; cursor:pointer; transition:all 0.2s; gap:12px; }
.ov-dep-card:hover { background:var(--bg3); border-left-color:var(--cyan) !important; }
.ov-dep-name { font:600 12px var(--mono); color:var(--text); }
.ov-dep-meta { font:400 11px var(--mono); color:var(--muted); margin-top:2px; }
.ov-dep-bcs { margin-left:auto; flex-shrink:0; }
.ov-feed { max-height:340px; overflow-y:auto; scrollbar-gutter:stable; }
.ov-bottom { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ov-bottom-panel { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:20px; }
.ov-integ-row { display:flex; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid var(--border); }
.ov-integ-row:last-child { border-bottom:none; }
.ov-integ-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ov-integ-dot.active { background:var(--green); box-shadow:0 0 6px var(--green); }
.ov-integ-dot.inactive { background:var(--text3); }
.ov-integ-label { font:400 11px var(--mono); color:var(--text); flex:1; }
.ov-integ-val { font:600 11px var(--mono); color:var(--muted); }
.ov-comp-item { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--border); }
.ov-comp-item:last-child { border-bottom:none; }
.ov-comp-name { font:500 11px var(--mono); color:var(--text); width:50px; flex-shrink:0; }
.ov-comp-bar { flex:1; height:6px; background:var(--bg3); border-radius:3px; overflow:hidden; }
.ov-comp-fill { height:100%; border-radius:3px; transition:width 0.6s; }
.ov-comp-pct { font:600 11px var(--mono); width:40px; text-align:right; }
.ov-inc-row { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.ov-inc-label { font:400 11px var(--mono); color:var(--text3); }
.ov-inc-val { font:700 14px var(--mono); }
.ov-dep-stage { font:600 11px var(--mono); letter-spacing:1px; padding:2px 6px; border-radius:8px; background:var(--bg3); color:var(--muted); }
@media(max-width:900px) {
  .ov-hero { grid-template-columns:repeat(2,1fr); }
  .ov-mid { grid-template-columns:1fr; }
  .ov-bottom { grid-template-columns:1fr; }
}

/* ── Analytics Tab ── */
.an-controls { display:flex; align-items:center; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.an-period-btn { background:var(--surface); border:1px solid var(--border); color:var(--text2); font:500 11px var(--mono); padding:6px 14px; border-radius:6px; cursor:pointer; transition:all 0.2s; letter-spacing:0.5px; }
.an-period-btn:hover { color:var(--text); border-color:var(--border2); }
.an-period-btn.active { background:var(--cyan); color:var(--bg); border-color:var(--cyan); }
.an-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.an-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-bottom:12px; }
.an-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:12px; }
.an-panel { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; overflow:hidden; }
.an-panel-title { font:700 11px var(--mono); letter-spacing:1.5px; color:var(--text3); margin-bottom:12px; text-transform:uppercase; }
.an-panel-sub { font:400 11px var(--mono); color:var(--muted); margin-top:-8px; margin-bottom:10px; }
.an-kpi { text-align:center; padding:14px 10px; background:var(--bg); border-radius:8px; border:1px solid var(--border); }
.an-kpi-val { font:700 22px var(--mono); line-height:1.2; }
.an-kpi-label { font:400 11px var(--mono); letter-spacing:0.5px; color:var(--text3); margin-top:4px; }
.an-kpi-sub { font:400 11px var(--mono); color:var(--muted); margin-top:2px; }
.an-section { margin-bottom:20px; }
.an-section-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--cyan); margin-bottom:12px; text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.an-dim-picker { display:flex; gap:4px; flex-wrap:wrap; }
.an-dim-btn { background:var(--surface); border:1px solid var(--border); color:var(--text3); font:500 11px var(--mono); padding:5px 12px; border-radius:6px; cursor:pointer; transition:all 0.2s; }
.an-dim-btn:hover { color:var(--text); border-color:var(--border2); }
.an-dim-btn.active { background:var(--cyan-dim); color:var(--cyan); border-color:var(--cyan); }
.an-dep-check { display:flex; align-items:center; gap:6px; cursor:pointer; font:400 11px var(--mono); color:var(--text2); padding:4px 0; }
.an-dep-check input { accent-color:var(--cyan); cursor:pointer; }
.an-dep-check.checked { color:var(--text); }
.an-table { width:100%; border-collapse:collapse; }
.an-table th { font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); text-align:left; padding:6px 8px; border-bottom:1px solid var(--border); text-transform:uppercase; }
.an-table td { font:400 11px var(--mono); color:var(--text2); padding:6px 8px; border-bottom:1px solid var(--border); }
.an-table tr:hover td { background:var(--bg3); }
.an-badge { display:inline-block; font:600 11px var(--mono); letter-spacing:0.5px; padding:2px 8px; border-radius:4px; }
.an-insight { background:var(--bg); border-left:3px solid var(--cyan); padding:12px 16px; border-radius:0 8px 8px 0; font:400 11px/1.7 var(--mono); color:var(--text2); margin-top:12px; }
.an-export-btn { background:var(--surface); border:1px solid var(--border); color:var(--text2); font:500 11px var(--mono); padding:6px 14px; border-radius:6px; cursor:pointer; transition:all 0.2s; letter-spacing:0.5px; margin-left:auto; }
.an-export-btn:hover { color:var(--cyan); border-color:var(--cyan); }
@media(max-width:900px) {
  .an-grid-2, .an-grid-3, .an-grid-4 { grid-template-columns:1fr; }
}

/* ── Model Fingerprints ── */
.fp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:12px; margin-bottom:16px; }
.fp-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; transition:border-color 0.2s; }
.fp-card:hover { border-color:rgba(var(--accent-rgb),0.3); }
.fp-card-header { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.fp-card-model { font:700 12px var(--mono); color:var(--text); }
.fp-card-provider { font:400 11px var(--mono); color:var(--text3); }
.fp-card-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:12px; }
.fp-stat { text-align:center; padding:6px; background:var(--bg); border-radius:6px; }
.fp-stat-val { font:700 14px var(--mono); line-height:1.3; }
.fp-stat-label { font:400 11px var(--mono); color:var(--text3); letter-spacing:0.5px; }
.fp-dim-row { display:flex; justify-content:space-between; align-items:center; padding:3px 0; border-bottom:1px solid rgba(255,255,255,0.03); }
.fp-dim-label { font:400 11px var(--mono); color:var(--text3); }
.fp-dim-val { font:600 11px var(--mono); }
.fp-consistency { display:inline-flex; align-items:center; gap:4px; font:600 11px var(--mono); letter-spacing:0.5px; padding:2px 8px; border-radius:4px; }
.fp-section { margin-bottom:20px; }
.fp-section-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--cyan); margin-bottom:12px; text-transform:uppercase; }
.fp-compare-checks { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.fp-compare-check { display:flex; align-items:center; gap:5px; font:400 11px var(--mono); color:var(--text2); cursor:pointer; padding:4px 10px; border:1px solid var(--border); border-radius:6px; transition:all 0.2s; }
.fp-compare-check.checked { border-color:var(--cyan); color:var(--text); background:var(--cyan-dim); }
.fp-compare-check input { accent-color:var(--cyan); cursor:pointer; }
.fp-insight { background:var(--bg); border-left:3px solid var(--cyan); padding:12px 16px; border-radius:0 8px 8px 0; font:400 11px/1.7 var(--mono); color:var(--text2); margin-top:12px; }
.fp-rec { background:linear-gradient(135deg,rgba(var(--accent-rgb),0.05),rgba(16,185,129,0.05)); border:1px solid rgba(var(--accent-rgb),0.15); border-radius:10px; padding:16px 20px; margin-bottom:12px; }
.fp-rec-title { font:700 11px var(--mono); color:var(--cyan); letter-spacing:1px; margin-bottom:6px; }
.fp-rec-text { font:400 11px/1.7 var(--mono); color:var(--text2); }
@media(max-width:900px) {
  .fp-grid { grid-template-columns:1fr; }
  .fp-card-stats { grid-template-columns:repeat(2,1fr); }
}

/* ── DEPLOYMENT DOSSIER ── */
.dd-overlay { position:fixed; inset:0; background:var(--modal-overlay); display:flex; align-items:stretch; justify-content:center; z-index:2000; backdrop-filter:blur(4px); }
.dd-container { background:var(--bg1); width:100%; max-width:1100px; overflow-y:auto; scrollbar-gutter:stable; padding:28px 32px 40px; }
.dd-back { display:inline-flex; align-items:center; gap:6px; font:500 11px var(--mono); color:var(--text3); cursor:pointer; padding:4px 0; margin-bottom:16px; transition:color 0.2s; letter-spacing:0.5px; }
.dd-back:hover { color:var(--cyan); }
.dd-hero { display:grid; grid-template-columns:1fr auto; gap:24px; margin-bottom:20px; align-items:start; }
.dd-hero-left { min-width:0; }
.dd-hero-name { font:700 20px var(--mono); color:var(--text); margin-bottom:4px; }
.dd-hero-meta { font:400 11px var(--mono); color:var(--text3); margin-bottom:12px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.dd-hero-meta-tag { font:600 11px var(--mono); padding:3px 10px; border-radius:10px; letter-spacing:0.5px; }
.dd-pipeline { display:flex; gap:3px; align-items:center; margin-bottom:14px; }
.dd-pipeline-stage { flex:1; text-align:center; padding:7px 4px; border-radius:6px; font:600 11px var(--mono); letter-spacing:0.5px; transition:all 0.2s; }
.dd-pipeline-arrow { color:var(--muted); font:400 11px var(--mono); }
.dd-hero-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.dd-kpi { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:14px 12px; text-align:center; }
.dd-kpi-label { font:600 11px var(--mono); letter-spacing:1.5px; color:var(--muted); margin-bottom:4px; text-transform:uppercase; }
.dd-kpi-val { font:700 22px var(--mono); line-height:1.2; }
.dd-kpi-sub { font:400 11px var(--mono); color:var(--muted); margin-top:3px; }
.dd-hero-right { text-align:center; }
.dd-section { margin-bottom:24px; }
.dd-section-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--cyan); margin-bottom:12px; text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.dd-section-title::before { content:''; width:3px; height:14px; background:var(--cyan); border-radius:2px; }
.dd-dim-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; }
.dd-dim-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; transition:border-color 0.2s; }
.dd-dim-card:hover { border-color:rgba(var(--accent-rgb),0.3); }
.dd-dim-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.dd-dim-name { font:600 11px var(--mono); letter-spacing:1px; color:var(--text); text-transform:uppercase; }
.dd-dim-score { font:700 18px var(--mono); }
.dd-dim-row { display:flex; justify-content:space-between; align-items:center; padding:4px 0; font:400 11px var(--mono); color:var(--text3); }
.dd-dim-row-val { font:600 11px var(--mono); color:var(--text2); }
.dd-pattern { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; margin-bottom:10px; display:flex; gap:14px; align-items:flex-start; }
.dd-pattern-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font:600 14px var(--mono); }
.dd-pattern-body { min-width:0; flex:1; }
.dd-pattern-title { font:600 11px var(--mono); color:var(--text); margin-bottom:4px; }
.dd-pattern-desc { font:400 11px/1.6 var(--mono); color:var(--text3); }
.dd-pattern-evidence { font:400 11px var(--mono); color:var(--muted); margin-top:6px; }
.dd-config-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dd-config-panel { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; }
.dd-config-title { font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:10px; text-transform:uppercase; }
.dd-config-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px solid var(--border); font:400 11px var(--mono); }
.dd-config-row:last-child { border-bottom:none; }
.dd-config-key { color:var(--text3); }
.dd-config-val { color:var(--text); font-weight:500; }
.dd-actions { display:flex; gap:10px; flex-wrap:wrap; }
.dd-action-btn { display:flex; align-items:center; gap:6px; padding:10px 18px; border-radius:8px; font:600 11px var(--mono); letter-spacing:0.5px; cursor:pointer; transition:all 0.2s; border:1px solid var(--border); background:var(--bg2); color:var(--text2); }
.dd-action-btn:hover { border-color:var(--cyan); color:var(--cyan); background:rgba(var(--accent-rgb),0.05); }
.dd-action-btn.primary { background:var(--cyan); color:var(--bg); border-color:var(--cyan); }
.dd-action-btn.primary:hover { background:#0891b2; }
.dd-action-btn.danger { color:var(--red); border-color:rgba(239,68,68,0.3); }
.dd-action-btn.danger:hover { border-color:var(--red); background:rgba(239,68,68,0.05); }
.dd-action-btn:disabled { opacity:0.35; cursor:not-allowed; pointer-events:none; }
.dd-confirm-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.5); display:flex; align-items:center; justify-content:center; z-index:3000; }
.dd-confirm { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:24px; width:400px; max-width:90vw; text-align:center; }
.dd-confirm-title { font:700 13px var(--mono); color:var(--text); margin-bottom:8px; }
.dd-confirm-msg { font:400 11px/1.7 var(--mono); color:var(--text3); margin-bottom:20px; }
.dd-confirm-actions { display:flex; gap:8px; justify-content:center; }
@media(max-width:900px) {
  .dd-container { padding:16px; }
  .dd-hero { grid-template-columns:1fr; }
  .dd-hero-kpis { grid-template-columns:repeat(2,1fr); }
  .dd-dim-grid { grid-template-columns:1fr; }
  .dd-config-grid { grid-template-columns:1fr; }
  .dd-pipeline { flex-wrap:wrap; }
}

/* ── ORCHESTRATION HUB ── */
.oh-banner { background:linear-gradient(135deg,rgba(var(--accent-rgb),0.06),rgba(16,185,129,0.04)); border:1px solid rgba(var(--accent-rgb),0.15); border-radius:12px; padding:20px 24px; margin-bottom:20px; }
.oh-banner-title { font:700 13px var(--mono); letter-spacing:2px; color:var(--cyan); margin-bottom:6px; }
.oh-banner-desc { font:400 11px/1.7 var(--sans); color:var(--text2); max-width:800px; }
.oh-cat-section { margin-bottom:24px; }
.oh-cat-header { display:flex; align-items:center; gap:10px; margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.oh-cat-icon { width:28px; height:28px; border-radius:6px; display:flex; align-items:center; justify-content:center; font:700 11px var(--mono); }
.oh-cat-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--text); text-transform:uppercase; }
.oh-cat-desc { font:400 11px var(--sans); color:var(--text3); margin-top:2px; }
.oh-cat-value { font:400 11px/1.6 var(--sans); color:var(--text2); background:var(--bg); border-left:3px solid var(--cyan); padding:10px 14px; border-radius:0 8px 8px 0; margin-bottom:14px; }
.oh-partner-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.oh-partner-card { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:12px; cursor:pointer; transition:all 0.2s; position:relative; }
.oh-partner-card:hover { border-color:var(--cyan); background:rgba(var(--accent-rgb),0.02); }
.oh-partner-card.connected { border-color:rgba(16,185,129,0.3); }
.oh-partner-card.connected::after { content:''; position:absolute; top:8px; right:8px; width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 6px var(--green); }
.oh-partner-card.soon { opacity:0.5; cursor:default; }
.oh-partner-card.soon:hover { border-color:var(--border); background:var(--bg); }
.oh-partner-name { font:600 11px var(--mono); color:var(--text); margin-bottom:2px; }
.oh-partner-type { font:400 11px var(--mono); color:var(--text3); }
.oh-partner-status { font:600 11px var(--mono); letter-spacing:0.5px; padding:2px 6px; border-radius:8px; display:inline-block; margin-top:6px; }
.oh-config-overlay { position:fixed; inset:0; background:var(--modal-overlay); display:flex; align-items:center; justify-content:center; z-index:2000; backdrop-filter:blur(4px); }
.oh-config-panel { background:var(--bg1); border:1px solid var(--border); border-radius:16px; width:900px; max-width:95vw; max-height:85vh; overflow-y:auto; display:grid; grid-template-columns:200px 1fr 240px; }
.oh-cfg-left { padding:20px; border-right:1px solid var(--border); background:var(--bg); border-radius:16px 0 0 16px; }
.oh-cfg-center { padding:20px; }
.oh-cfg-right { padding:20px; border-left:1px solid var(--border); background:var(--bg); border-radius:0 16px 16px 0; }
.oh-cfg-partner-icon { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; font:700 18px var(--mono); margin-bottom:12px; }
.oh-cfg-partner-name { font:700 13px var(--mono); color:var(--text); margin-bottom:4px; }
.oh-cfg-partner-cat { font:400 11px var(--mono); color:var(--text3); margin-bottom:12px; }
.oh-cfg-partner-desc { font:400 11px/1.6 var(--sans); color:var(--text2); }
.oh-cfg-section { margin-bottom:16px; }
.oh-cfg-section-title { font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); margin-bottom:8px; text-transform:uppercase; }
.oh-rule-row { display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:6px; align-items:center; padding:6px 0; font:400 11px var(--mono); }
.oh-rule-keyword { font:600 11px var(--mono); color:var(--cyan); }
.oh-log-entry { padding:6px 0; border-bottom:1px solid var(--border); font:400 11px var(--mono); }
.oh-log-entry:last-child { border-bottom:none; }
.oh-log-status { display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:6px; }
.oh-log-status.ok { background:var(--green); }
.oh-log-status.err { background:var(--red); }
.oh-log-time { color:var(--muted); margin-right:6px; }
.oh-playbook-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; margin-bottom:16px; }
.oh-playbook-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; transition:border-color 0.2s; }
.oh-playbook-card:hover { border-color:rgba(var(--accent-rgb),0.3); }
.oh-playbook-name { font:700 11px var(--mono); color:var(--text); margin-bottom:6px; }
.oh-playbook-desc { font:400 11px/1.6 var(--sans); color:var(--text3); margin-bottom:10px; }
.oh-playbook-flow { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.oh-playbook-step { font:500 11px var(--mono); padding:4px 8px; border-radius:4px; background:var(--bg3); color:var(--text2); white-space:nowrap; position:relative; }
.oh-playbook-step.trigger { background:var(--red-dim); color:var(--red); }
.oh-playbook-step.action { background:var(--cyan-dim); color:var(--cyan); }
.oh-playbook-step.notify { background:var(--green-dim); color:var(--green); }
.oh-playbook-step.grc { background:var(--amber-dim); color:var(--amber); }
.oh-playbook-arrow { color:var(--muted); font:400 11px var(--mono); }
.oh-analytics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.oh-an-kpi { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:14px; text-align:center; }
.oh-an-kpi-val { font:700 22px var(--mono); line-height:1.2; }
.oh-an-kpi-label { font:400 11px var(--mono); letter-spacing:0.5px; color:var(--text3); margin-top:4px; text-transform:uppercase; }
.oh-an-kpi-sub { font:400 11px var(--mono); color:var(--muted); margin-top:2px; }
.oh-coverage-wrap { background:linear-gradient(135deg,rgba(var(--accent-rgb),0.06),rgba(16,185,129,0.04)); border:1px solid rgba(var(--accent-rgb),0.15); border-radius:12px; padding:20px; text-align:center; margin-bottom:16px; }
.oh-coverage-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--text3); margin-bottom:10px; text-transform:uppercase; }
.oh-coverage-bar { display:flex; gap:8px; justify-content:center; margin-top:12px; flex-wrap:wrap; }
.oh-coverage-seg { padding:4px 10px; border-radius:6px; font:500 11px var(--mono); }
.oh-dir-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; }
.oh-dir-card { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:14px; }
.oh-dir-card.connected { border-color:rgba(16,185,129,0.3); }
.oh-dir-card.soon { opacity:0.55; }
.oh-dir-name { font:600 11px var(--mono); color:var(--text); margin-bottom:2px; }
.oh-dir-cat { font:400 11px var(--mono); color:var(--text3); }
.oh-dir-desc { font:400 11px/1.5 var(--sans); color:var(--text3); margin:6px 0; }
.oh-dir-footer { display:flex; justify-content:space-between; align-items:center; }
.oh-dir-complexity { font:600 11px var(--mono); padding:2px 8px; border-radius:8px; letter-spacing:0.5px; }
.oh-dir-status-badge { font:600 11px var(--mono); padding:2px 8px; border-radius:8px; letter-spacing:0.5px; }
.oh-section { margin-bottom:24px; }
.oh-section-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--cyan); margin-bottom:12px; text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.oh-section-title::before { content:''; width:3px; height:14px; background:var(--cyan); border-radius:2px; }
@media(max-width:900px) {
  .oh-analytics-grid { grid-template-columns:repeat(2,1fr); }
  .oh-partner-grid, .oh-playbook-grid, .oh-dir-grid { grid-template-columns:1fr; }
  .oh-config-panel { grid-template-columns:1fr; }
  .oh-cfg-left, .oh-cfg-right { border:none; border-bottom:1px solid var(--border); border-radius:0; }
}

/* ── EVIDENCE VAULT REDESIGN ── */
.ev-hero { display:grid; grid-template-columns:1fr auto; gap:20px; margin-bottom:20px; align-items:center; }
.ev-hero-left { display:flex; gap:16px; align-items:center; }
.ev-hero-shield { width:56px; height:56px; border-radius:14px; background:rgba(16,185,129,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ev-hero-shield svg { width:28px; height:28px; fill:var(--green); }
.ev-hero-title { font:700 16px var(--mono); color:var(--text); margin-bottom:2px; }
.ev-hero-integrity { font:400 11px var(--mono); color:var(--green); margin-bottom:4px; }
.ev-hero-hash { font:400 11px var(--mono); color:var(--muted); }
.ev-hero-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.ev-hero-kpi { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:12px; text-align:center; }
.ev-hero-kpi-val { font:700 20px var(--mono); line-height:1.2; }
.ev-hero-kpi-label { font:400 11px var(--mono); letter-spacing:1px; color:var(--muted); margin-top:3px; text-transform:uppercase; }
.ev-browser { background:var(--bg2); border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:20px; }
.ev-browser-toolbar { display:flex; gap:8px; padding:12px 16px; border-bottom:1px solid var(--border); flex-wrap:wrap; align-items:center; }
.ev-browser-search { flex:1; min-width:200px; }
.ev-browser-search input { width:100%; background:var(--bg3); border:1px solid var(--border); border-radius:6px; padding:7px 10px; color:var(--text); font:400 11px var(--mono); }
.ev-browser-search input:focus { outline:none; border-color:var(--cyan); }
.ev-browser-filter { background:var(--bg3); border:1px solid var(--border); border-radius:6px; padding:6px 10px; color:var(--text); font:400 11px var(--mono); cursor:pointer; }
.ev-browser-filter:focus { outline:none; border-color:var(--cyan); }
.ev-table { width:100%; border-collapse:collapse; }
.ev-table th { font:600 11px var(--mono); letter-spacing:1px; color:var(--text3); text-align:left; padding:8px 12px; border-bottom:1px solid var(--border); text-transform:uppercase; cursor:pointer; user-select:none; }
.ev-table th:hover { color:var(--cyan); }
.ev-table td { font:400 11px var(--mono); color:var(--text2); padding:8px 12px; border-bottom:1px solid var(--border); }
.ev-table tr:hover td { background:rgba(var(--accent-rgb),0.02); }
.ev-table tr.expanded td { background:var(--bg3); }
.ev-expand { background:var(--bg3); padding:16px; border-bottom:1px solid var(--border); }
.ev-expand-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ev-expand-dim { display:flex; align-items:center; gap:8px; padding:3px 0; }
.ev-expand-dim-label { font:400 11px var(--mono); color:var(--text3); width:120px; }
.ev-expand-dim-bar { flex:1; height:6px; background:var(--bg2); border-radius:3px; overflow:hidden; }
.ev-expand-dim-fill { height:100%; border-radius:3px; }
.ev-expand-dim-val { font:600 11px var(--mono); width:45px; text-align:right; }
.ev-pagination { display:flex; justify-content:space-between; align-items:center; padding:10px 16px; font:400 11px var(--mono); color:var(--text3); }
.ev-page-btn { background:var(--bg3); border:1px solid var(--border); border-radius:4px; padding:4px 10px; font:500 11px var(--mono); color:var(--text2); cursor:pointer; }
.ev-page-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.ev-page-btn:disabled { opacity:0.3; cursor:not-allowed; }
.ev-chain-wrap { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:16px; margin-bottom:20px; overflow:hidden; }
.ev-chain-scroll { overflow-x:auto; padding-bottom:8px; }
.ev-chain-track { display:flex; gap:0; align-items:center; min-width:max-content; }
.ev-chain-block { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:10px 12px; min-width:120px; cursor:pointer; transition:all 0.2s; text-align:center; flex-shrink:0; }
.ev-chain-block:hover { border-color:var(--cyan); background:rgba(var(--accent-rgb),0.02); }
.ev-chain-block.verified { border-color:rgba(16,185,129,0.3); }
.ev-chain-arrow { font:400 12px var(--mono); color:var(--muted); padding:0 4px; flex-shrink:0; }
.ev-chain-hash { font:400 10px var(--mono); color:var(--cyan); margin-top:4px; word-break:break-all; }
.ev-chain-decision { font:600 11px var(--mono); letter-spacing:0.5px; padding:2px 6px; border-radius:4px; display:inline-block; margin-top:4px; }
.ev-pkg-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; margin-bottom:16px; }
.ev-pkg-card { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:14px; }
.ev-pkg-name { font:600 11px var(--mono); color:var(--text); margin-bottom:4px; }
.ev-pkg-meta { font:400 11px var(--mono); color:var(--text3); }
.ev-verify-bar { height:4px; background:var(--bg3); border-radius:2px; overflow:hidden; margin-top:8px; }
.ev-verify-fill { height:100%; background:var(--green); border-radius:2px; transition:width 0.3s; }
.ev-section { margin-bottom:24px; }
.ev-section-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--cyan); margin-bottom:12px; text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.ev-section-title::before { content:''; width:3px; height:14px; background:var(--cyan); border-radius:2px; }
@media(max-width:900px) {
  .ev-hero { grid-template-columns:1fr; }
  .ev-hero-kpis { grid-template-columns:repeat(2,1fr); }
  .ev-expand-grid { grid-template-columns:1fr; }
  .ev-browser-toolbar { flex-direction:column; }
}

/* ── Command Center ── */
.cc-topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.cc-title { font:700 14px var(--mono); color:var(--cyan); display:flex; align-items:center; gap:8px; }
.cc-title-dot { width:8px; height:8px; border-radius:50%; background:var(--green); animation:ccDotPulse 2s ease-in-out infinite; }
@keyframes ccDotPulse { 0%,100% { opacity:1; box-shadow:0 0 6px var(--green); } 50% { opacity:0.5; box-shadow:0 0 2px var(--green); } }
.cc-topbar-actions { display:flex; gap:6px; }
.cc-btn { background:var(--bg2); border:1px solid var(--border); border-radius:6px; padding:5px 10px; font:600 11px var(--mono); color:var(--text2); cursor:pointer; letter-spacing:0.5px; transition:all 0.2s; display:flex; align-items:center; gap:4px; }
.cc-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.cc-btn svg { width:12px; height:12px; fill:currentColor; }
.cc-grid { display:grid; grid-template-columns:1fr 1fr 1fr; grid-template-rows:auto 1fr auto auto; gap:10px; }
.cc-metrics { grid-column:1/-1; display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.cc-metric { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:12px; text-align:center; position:relative; overflow:hidden; animation:ccBreathe 4s ease-in-out infinite; cursor:pointer; transition:border-color 0.2s, box-shadow 0.2s; }
.cc-metric:hover { border-color:var(--cyan); box-shadow:0 0 0 1px rgba(6,182,212,0.15), 0 4px 12px rgba(6,182,212,0.08); animation:none; }
.cc-metric:nth-child(2) { animation-delay:0.5s; }
.cc-metric:nth-child(3) { animation-delay:1s; }
.cc-metric:nth-child(4) { animation-delay:1.5s; }
.cc-metric:nth-child(5) { animation-delay:2s; }
.cc-metric:nth-child(6) { animation-delay:2.5s; }
@keyframes ccBreathe { 0%,100% { border-color:var(--border); } 50% { border-color:rgba(var(--accent-rgb),0.15); } }
.cc-metric-val { font:700 24px var(--mono); line-height:1.2; }
.cc-metric-label { font:400 11px var(--mono); letter-spacing:1.5px; color:var(--muted); margin-top:3px; text-transform:uppercase; }
.cc-metric-trend { font:600 11px var(--mono); margin-top:2px; }
.cc-panel { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:12px; overflow:hidden; animation:ccBreathe 4s ease-in-out infinite; }
.cc-panel-title { font:700 11px var(--mono); letter-spacing:2px; color:var(--muted); text-transform:uppercase; margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.cc-panel-title::before { content:''; width:3px; height:10px; background:var(--cyan); border-radius:2px; }
.cc-health-row { display:flex; justify-content:space-between; align-items:center; padding:4px 0; border-bottom:1px solid rgba(255,255,255,0.03); transition:background 0.15s; border-radius:4px; padding:4px 4px; margin:0 -4px; }
.cc-health-row[onclick]:hover, .cc-health-row[style*="cursor:pointer"]:hover { background:rgba(6,182,212,0.06); }
.cc-health-label { font:400 11px var(--mono); color:var(--text3); }
.cc-health-val { font:600 11px var(--mono); }
.cc-health-dot { width:6px; height:6px; border-radius:50%; display:inline-block; margin-right:4px; }
.cc-ticker { grid-column:1/-1; background:var(--bg2); border:1px solid var(--border); border-radius:8px; overflow:hidden; height:32px; position:relative; }
.cc-ticker-track { display:flex; gap:40px; position:absolute; top:0; left:0; height:100%; align-items:center; white-space:nowrap; animation:ccTickerScroll 60s linear infinite; }
@keyframes ccTickerScroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
.cc-ticker-item { font:400 11px var(--mono); display:flex; align-items:center; gap:6px; flex-shrink:0; }
.cc-ticker-dot { width:5px; height:5px; border-radius:50%; flex-shrink:0; }
.cc-actions { grid-column:1/-1; display:flex; gap:6px; flex-wrap:wrap; }
@media(max-width:1100px) {
  .cc-metrics { grid-template-columns:repeat(3,1fr); }
  .cc-grid { grid-template-columns:1fr 1fr; }
  .cc-map { grid-column:1/-1; }
}
@media(max-width:700px) {
  .cc-metrics { grid-template-columns:repeat(2,1fr); }
  .cc-grid { grid-template-columns:1fr; }
}

/* ── Risk Intelligence ── */
.ri-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ri-factor-row { display:flex; align-items:center; gap:8px; margin-top:6px; }
.ri-factor-row .ri-f-label { font:400 11px var(--mono); color:var(--text3); width:100px; flex-shrink:0; letter-spacing:0.5px; }
.ri-factor-row .ri-f-val { font:600 11px var(--mono); width:32px; text-align:right; flex-shrink:0; }
.ri-alerts { display:flex; flex-direction:column; gap:12px; padding:12px 16px; }
.ri-alert-card { background:var(--bg2); border:1px solid var(--border); border-left:3px solid var(--text3); border-radius:8px; padding:16px; }
.ri-alert-card[data-sev="critical"] { border-left-color:var(--red); }
.ri-alert-card[data-sev="high"] { border-left-color:var(--amber); }
.ri-alert-card[data-sev="medium"] { border-left-color:var(--cyan); }
.ri-alert-card[data-sev="low"] { border-left-color:var(--green); }
.ri-alert-severity { display:inline-block; font:600 11px var(--mono); padding:2px 8px; border-radius:4px; letter-spacing:0.5px; text-transform:uppercase; }
.ri-alert-severity.sev-critical { background:var(--red-dim); color:var(--red); }
.ri-alert-severity.sev-high { background:var(--amber-dim); color:var(--amber); }
.ri-alert-severity.sev-medium { background:var(--cyan-dim); color:var(--cyan); }
.ri-alert-severity.sev-low { background:var(--green-dim); color:var(--green); }
.ri-alert-actions { display:flex; gap:8px; margin-top:10px; }
.ri-alert-btn { font:500 11px var(--mono); padding:4px 10px; border-radius:4px; border:1px solid var(--border); background:transparent; color:var(--text2); cursor:pointer; transition:all 0.2s; letter-spacing:0.5px; }
.ri-alert-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.ri-sim { display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.ri-sim-row { display:flex; align-items:center; gap:10px; }
.ri-sim-row label { font:400 11px var(--mono); color:var(--text3); width:120px; flex-shrink:0; letter-spacing:0.5px; }
.ri-sim-row input[type="range"] { flex:1; accent-color:var(--cyan); height:4px; }
.ri-sim-row .ri-sim-val { font:600 11px var(--mono); width:40px; text-align:right; }
.ri-sim-delta { font:600 12px var(--mono); margin-top:8px; }
.ri-sim-delta.improved { color:var(--green); }
.ri-sim-delta.worsened { color:var(--red); }
@media(max-width:900px) {
  .ri-grid { grid-template-columns:1fr; }
}

/* ── CERTIFICATION FORENSICS ── */
.cf-overlay{position:fixed;inset:0;z-index:2500;background:var(--modal-overlay);overflow-y:auto;backdrop-filter:blur(4px);animation:fadeIn .2s}
.cf-modal{max-width:1400px;margin:20px auto;background:var(--bg);border:1px solid var(--border);border-radius:12px;min-height:calc(100vh - 40px);box-shadow:0 25px 50px rgba(0,0,0,.5)}
.cf-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}
.cf-header-left{display:flex;align-items:center;gap:14px}
.cf-tabs{display:flex;gap:4px;padding:12px 24px;border-bottom:1px solid var(--border);overflow-x:auto}
.cf-tab{font:600 11px var(--mono);letter-spacing:1.5px;color:var(--text3);background:none;border:1px solid transparent;border-radius:6px;padding:6px 14px;cursor:pointer;white-space:nowrap;transition:all .15s}
.cf-tab:hover{color:var(--text);background:var(--bg3)}
.cf-tab.active{color:var(--cyan);border-color:var(--cyan);background:rgba(var(--accent-rgb),.08)}
.cf-section{padding:20px 24px}
.cf-replay-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf-replay-pane{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:16px;overflow-y:auto;max-height:400px;line-height:1.8;font:400 11px var(--sans);color:var(--text2);white-space:pre-wrap}
.cf-replay-pane.prompt{border-left:3px solid var(--cyan)}
.cf-replay-pane.response{border-left:3px solid var(--text3)}
.cf-hl-fail{background:rgba(239,68,68,.15);border-bottom:2px solid var(--red);border-radius:2px;cursor:help;padding:0 1px}
.cf-hl-warn{background:rgba(245,158,11,.12);border-bottom:2px solid var(--amber);border-radius:2px;cursor:help;padding:0 1px}
.cf-hl-clean{background:rgba(var(--accent-rgb),.08);border-radius:2px;padding:0 1px}
.cf-dim-card{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:10px}
.cf-criteria-row{display:flex;align-items:center;gap:6px;padding:3px 0;font:400 11px var(--mono);color:var(--text2)}
.cf-chain-timeline{display:flex;align-items:center;overflow-x:auto;gap:4px;padding:12px 0}
.cf-chain-node{min-width:56px;border:1px solid var(--border);border-radius:6px;padding:6px 4px;text-align:center;cursor:pointer;transition:all .15s;flex-shrink:0}
.cf-chain-node:hover{border-color:var(--text3);background:var(--bg3)}
.cf-chain-node.current{border-color:var(--cyan);background:rgba(var(--accent-rgb),.08)}
.cf-chain-node.cluster-fail{border-color:var(--red);background:rgba(239,68,68,.06)}
.cf-chain-arrow{flex-shrink:0;color:var(--text3);font-size:11px}
.cf-similar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cf-similar-card{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer;transition:all .15s}
.cf-similar-card:hover{border-color:var(--cyan);background:var(--surface)}
.cf-rca-section{background:var(--bg3);border-radius:8px;padding:16px;margin-bottom:12px;border:1px solid var(--border)}
@media(max-width:1000px){.cf-replay-grid{grid-template-columns:1fr}.cf-similar-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.cf-similar-grid{grid-template-columns:1fr}}

/* ── SLA & PERFORMANCE DASHBOARD ── */
.sla-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.sla-metric-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:18px;text-align:center;position:relative}
.sla-metric-card.meeting{border-color:rgba(34,197,94,.3)}
.sla-metric-card.at-risk{border-color:rgba(245,158,11,.3)}
.sla-metric-card.breached{border-color:rgba(239,68,68,.3)}
.sla-metric-title{font:600 11px var(--mono);letter-spacing:1.5px;color:var(--text3);margin-bottom:10px}
.sla-metric-value{font:700 22px var(--mono);margin:4px 0}
.sla-metric-target{font:400 11px var(--mono);color:var(--muted);margin-top:4px}
.sla-status{display:inline-block;font:700 11px var(--mono);letter-spacing:1px;padding:3px 10px;border-radius:10px;margin-top:8px}
.sla-status.meeting{background:rgba(34,197,94,.12);color:var(--green)}
.sla-status.at-risk{background:rgba(245,158,11,.12);color:var(--amber)}
.sla-status.breached{background:rgba(239,68,68,.12);color:var(--red)}
.sla-section{margin-bottom:28px}
.sla-section-title{font:700 11px var(--mono);letter-spacing:1.5px;color:var(--text);margin-bottom:4px}
.sla-section-sub{font:400 11px var(--mono);color:var(--text3);margin-bottom:14px}
.sla-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sla-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.sla-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px}
.sla-card-title{font:600 11px var(--mono);letter-spacing:1px;color:var(--text3);margin-bottom:10px}
.sla-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px}
.sla-kpi{text-align:center;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.sla-kpi-val{font:700 20px var(--mono)}
.sla-kpi-label{font:400 11px var(--mono);color:var(--text3);letter-spacing:.5px;margin-top:3px}
.sla-kpi-sub{font:400 11px var(--mono);color:var(--muted);margin-top:2px}
.sla-incident-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.sla-incident-row:last-child{border-bottom:none}
.sla-report-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:24px;text-align:center}
.sla-period-select{background:var(--bg2);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;font:400 11px var(--mono)}
@media(max-width:1100px){.sla-metrics-grid{grid-template-columns:1fr 1fr}.sla-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sla-metrics-grid{grid-template-columns:1fr}.sla-grid-2{grid-template-columns:1fr}.sla-grid-3{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════════════ */
/* POLICY WIZARD                                             */
/* ══════════════════════════════════════════════════════════ */
.pwiz-screen { animation: pwizFadeIn 0.3s ease; }
@keyframes pwizFadeIn { from { opacity:0; transform:translateY(8px) } to { opacity:1; transform:translateY(0) } }

.pwiz-header { margin-bottom:24px }
.pwiz-title { font:700 16px var(--mono); letter-spacing:3px; color:var(--cyan); margin-bottom:4px }
.pwiz-sub { font:400 13px/1.6 var(--sans); color:var(--text2) }

/* Tabs */
.pwiz-tabs { display:flex; gap:4px; margin-bottom:20px }
.pwiz-tab { font:600 11px var(--mono); letter-spacing:1px; padding:8px 16px; background:var(--bg); border:1px solid var(--border); border-radius:6px; color:var(--text3); cursor:pointer; transition:all 0.2s }
.pwiz-tab:hover { border-color:var(--cyan); color:var(--text2) }
.pwiz-tab.active { background:rgba(6,182,212,0.08); border-color:var(--cyan); color:var(--cyan) }

/* Dropzone */
.pwiz-dropzone { border:2px dashed var(--border); border-radius:12px; background:var(--bg); padding:48px 24px; text-align:center; transition:border-color 0.2s, background 0.2s; cursor:pointer }
.pwiz-dropzone:hover, .pwiz-dropzone.pwiz-drag-active { border-color:var(--cyan); background:rgba(6,182,212,0.03) }
.pwiz-drop-icon { font-size:36px; margin-bottom:12px }
.pwiz-drop-text { font:600 14px var(--sans); color:var(--text); margin-bottom:4px }
.pwiz-drop-sub { font:400 12px var(--sans); color:var(--muted); margin-bottom:16px }
.pwiz-drop-btn { font:600 11px var(--mono); letter-spacing:1px; padding:8px 20px; background:var(--card); border:1px solid var(--border); border-radius:6px; color:var(--cyan); cursor:pointer; transition:all 0.2s }
.pwiz-drop-btn:hover { border-color:var(--cyan); background:rgba(6,182,212,0.06) }
.pwiz-file-info { font:400 12px var(--sans); color:var(--text); padding:10px 0; margin-top:8px }

/* Textarea */
.pwiz-textarea { width:100%; min-height:200px; background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:14px; color:var(--text); font:400 12px/1.6 var(--mono); resize:vertical; box-sizing:border-box }
.pwiz-textarea:focus { outline:none; border-color:var(--cyan) }
.pwiz-char-count { font:400 10px var(--mono); color:var(--muted); text-align:right; margin-top:4px }

/* Framework grid */
.pwiz-fw-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:10px }
.pwiz-fw-card { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:14px; cursor:pointer; transition:all 0.2s }
.pwiz-fw-card:hover { border-color:var(--cyan); background:rgba(6,182,212,0.03) }
.pwiz-fw-card.selected { border-color:var(--cyan); background:rgba(6,182,212,0.08); box-shadow:0 0 12px rgba(6,182,212,0.15) }
.pwiz-fw-name { font:600 12px var(--sans); color:var(--text); margin-bottom:4px }
.pwiz-fw-jurisdiction { font:600 10px var(--mono); letter-spacing:1px }
.pwiz-fw-section-header { grid-column:1/-1; font:700 10px var(--mono); color:var(--text3); letter-spacing:2px; padding:12px 0 4px; border-bottom:1px solid var(--border); margin-bottom:2px }
.pwiz-template-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px }
.pwiz-ind-card { background:var(--card); border:1px solid var(--border); border-radius:8px; padding:16px; cursor:pointer; transition:all 0.2s }
.pwiz-ind-card:hover { border-color:var(--cyan); background:rgba(6,182,212,0.04); transform:translateY(-1px) }
.pwiz-template-preview { animation:fadeIn 0.2s ease }
@keyframes fadeIn { from { opacity:0 } to { opacity:1 } }

/* Action bar */
.pwiz-action-bar { margin-top:20px; text-align:center }
.pwiz-analyze-btn { font:700 12px var(--mono); letter-spacing:2px; padding:14px 36px; background:var(--cyan); color:var(--bg); border:none; border-radius:6px; cursor:pointer; transition:all 0.2s }
.pwiz-analyze-btn:hover { background:#22D3EE; box-shadow:0 0 20px rgba(6,182,212,0.3) }
.pwiz-analyze-btn:disabled { opacity:0.4; cursor:not-allowed; box-shadow:none }
.pwiz-privacy { font:400 11px var(--sans); color:var(--muted); margin-top:12px }

/* Loading state */
.pwiz-loading { text-align:center; padding:60px 20px }
.pwiz-shield-pulse { font-size:48px; color:var(--cyan); animation:pwizPulse 1.5s ease-in-out infinite; margin-bottom:20px }
@keyframes pwizPulse { 0%,100% { opacity:0.6; transform:scale(1) } 50% { opacity:1; transform:scale(1.08) } }
.pwiz-loading-title { font:700 14px var(--mono); letter-spacing:3px; color:var(--text); margin-bottom:24px }
.pwiz-steps { max-width:340px; margin:0 auto; text-align:left }
.pwiz-step { font:400 13px var(--sans); color:var(--text3); padding:8px 0; display:flex; align-items:center; gap:10px; transition:color 0.3s }
.pwiz-step-done { color:var(--green) }
.pwiz-step-icon { width:20px; text-align:center; font-size:14px; color:var(--cyan) }
.pwiz-spinner { animation:pwizSpin 1s linear infinite; display:inline-block }
@keyframes pwizSpin { from { transform:rotate(0deg) } to { transform:rotate(360deg) } }
.pwiz-est { font:400 11px var(--mono); color:var(--muted); margin-top:20px }

/* Results layout */
.pwiz-results-layout { display:grid; grid-template-columns:260px 1fr 240px; gap:20px; margin-bottom:20px }
@media(max-width:1100px) { .pwiz-results-layout { grid-template-columns:1fr; } }
.pwiz-results-left, .pwiz-results-right { background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:16px; overflow-y:auto; max-height:600px; scrollbar-gutter:stable }
.pwiz-results-center { background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:16px; overflow-y:auto; max-height:600px; scrollbar-gutter:stable }
.pwiz-section-title { font:700 10px var(--mono); letter-spacing:2px; color:var(--text3); margin-bottom:10px }

/* Analysis badges */
.pwiz-badge { display:inline-block; font:700 11px var(--mono); letter-spacing:1px; background:rgba(6,182,212,0.1); color:var(--cyan); border:1px solid rgba(6,182,212,0.2); border-radius:4px; padding:4px 10px; margin-bottom:8px }
.pwiz-risk-badge { display:inline-block; font:700 10px var(--mono); letter-spacing:1px; border:1px solid var(--border); border-radius:4px; padding:3px 8px; margin-bottom:12px; margin-left:6px }

/* Confidence */
.pwiz-confidence-wrap { margin-bottom:12px }
.pwiz-confidence-label { font:600 9px var(--mono); letter-spacing:2px; color:var(--text3); margin-bottom:2px }
.pwiz-confidence-val { font:700 28px var(--mono) }

/* Requirements */
.pwiz-req-count { font:400 12px var(--sans); color:var(--text2); margin-bottom:8px }
.pwiz-req-list { max-height:300px; overflow-y:auto }
.pwiz-req-item { padding:8px 0; border-bottom:1px solid var(--border) }
.pwiz-req-text { font:400 12px/1.5 var(--sans); color:var(--text2); margin-bottom:4px }
.pwiz-dim-badge { font:700 9px var(--mono); letter-spacing:1px; background:rgba(6,182,212,0.1); color:var(--cyan); border-radius:3px; padding:2px 6px }
.pwiz-req-rationale { font:400 11px var(--sans); color:var(--muted); font-style:italic; margin-top:4px }

/* Contract name */
.pwiz-contract-name { width:100%; background:var(--card); border:1px solid var(--border); border-radius:6px; padding:10px 12px; color:var(--text); font:600 14px var(--sans); margin-bottom:16px; box-sizing:border-box }
.pwiz-contract-name:focus { outline:none; border-color:var(--cyan) }

/* Dimension cards */
.pwiz-dim-cards { display:flex; flex-direction:column; gap:12px }
.pwiz-dim-card { background:var(--card); border:1px solid var(--border); border-radius:8px; padding:12px }
.pwiz-dim-header { display:flex; align-items:center; gap:8px; margin-bottom:8px }
.pwiz-dim-abbr { font:700 10px var(--mono); letter-spacing:1px; background:rgba(6,182,212,0.1); color:var(--cyan); border-radius:3px; padding:2px 6px }
.pwiz-dim-name { font:500 12px var(--sans); color:var(--text) }
.pwiz-dim-slider-row { display:flex; align-items:center; gap:8px; margin-bottom:4px }
.pwiz-dim-slider-row label { font:400 10px var(--mono); color:var(--text3); width:80px; flex-shrink:0 }
.pwiz-slider { flex:1; -webkit-appearance:none; height:4px; background:var(--border); border-radius:2px; outline:none; cursor:pointer }
.pwiz-slider::-webkit-slider-thumb { -webkit-appearance:none; width:14px; height:14px; border-radius:50%; background:var(--cyan); cursor:pointer; border:2px solid var(--card) }
.pwiz-slider-green::-webkit-slider-thumb { background:var(--green) }
.pwiz-slider-amber::-webkit-slider-thumb { background:var(--amber) }
.pwiz-slider-val { font:600 11px var(--mono); color:var(--text2); width:36px; text-align:right; flex-shrink:0 }
.pwiz-dim-rationale { font:400 11px var(--sans); color:var(--muted); font-style:italic; margin-top:6px; line-height:1.4 }

/* Response policies */
.pwiz-policy-row { display:flex; align-items:center; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--border) }
.pwiz-verdict-badge { font:700 10px var(--mono); letter-spacing:1px; padding:3px 8px; border-radius:4px }
.pwiz-verdict-certified { background:rgba(16,185,129,0.1); color:var(--green) }
.pwiz-verdict-flagged { background:rgba(245,158,11,0.1); color:var(--amber) }
.pwiz-verdict-failed { background:rgba(239,68,68,0.1); color:var(--red) }
.pwiz-policy-val { font:400 12px var(--sans); color:var(--green) }
.pwiz-policy-select { background:var(--bg); border:1px solid var(--border); border-radius:4px; padding:4px 8px; color:var(--text); font:400 11px var(--mono); cursor:pointer }
.pwiz-policy-select:focus { outline:none; border-color:var(--cyan) }
.pwiz-deploy-select { width:100%; background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--text); font:400 12px var(--sans); cursor:pointer }
.pwiz-deploy-select:focus { outline:none; border-color:var(--cyan) }
.pwiz-rec-frameworks { display:flex; flex-direction:column; gap:4px }
.pwiz-fw-check { font:400 12px var(--sans); color:var(--text2); cursor:pointer; display:flex; align-items:center; gap:6px }
.pwiz-fw-check input { accent-color:var(--cyan) }

/* Results actions */
.pwiz-results-actions { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-top:1px solid var(--border) }
.pwiz-back-btn { font:500 11px var(--mono); color:var(--text3); background:none; border:none; cursor:pointer; padding:8px 12px; transition:color 0.2s }
.pwiz-back-btn:hover { color:var(--text) }
.pwiz-save-btn { font:600 11px var(--mono); letter-spacing:1px; padding:10px 20px; background:transparent; border:1px solid var(--border); border-radius:6px; color:var(--text2); cursor:pointer; transition:all 0.2s }
.pwiz-save-btn:hover { border-color:var(--cyan); color:var(--cyan) }
.pwiz-apply-btn { font:700 12px var(--mono); letter-spacing:2px; padding:10px 24px; background:var(--cyan); color:var(--bg); border:none; border-radius:6px; cursor:pointer; transition:all 0.2s }
.pwiz-apply-btn:hover { background:#22D3EE; box-shadow:0 0 16px rgba(6,182,212,0.3) }
.pwiz-apply-btn:disabled { opacity:0.5; cursor:not-allowed }

/* Success */
.pwiz-success-content { text-align:center; padding:60px 20px }
.pwiz-success-check { width:72px; height:72px; border-radius:50%; background:var(--green); color:var(--bg); font-size:32px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:20px; animation:pwizPopIn 0.5s cubic-bezier(0.34,1.56,0.64,1) }
@keyframes pwizPopIn { from { transform:scale(0.5); opacity:0 } to { transform:scale(1); opacity:1 } }
.pwiz-success-title { font:700 18px var(--mono); letter-spacing:3px; color:var(--text); margin-bottom:8px }
.pwiz-success-detail { font:400 14px var(--sans); color:var(--cyan); margin-bottom:8px }
.pwiz-success-sub { font:400 13px var(--sans); color:var(--text3); margin-bottom:24px }
.pwiz-success-actions { display:flex; gap:12px; justify-content:center }

/* Session history */
.pwiz-session-list { max-height:200px; overflow-y:auto }
.pwiz-session-row { display:grid; grid-template-columns:90px 1fr 120px 80px; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid var(--border); font:400 11px var(--mono); cursor:pointer; transition:background 0.15s }
.pwiz-session-row:hover { background:rgba(6,182,212,0.03) }
