*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:       #080808;
  --surface:  #111111;
  --border:   #1e1e1e;
  --gold:     #c9a84c;
  --gold-dim: #9a7a30;
  --text:     #f0f0f0;
  --muted:    #666;
  --danger:   #c8102e;
  --success:  #2ecc71;
  --radius:   6px;
}

body { background: var(--bg); color: var(--text); font-family: 'Inter', sans-serif; font-size: 14px; min-height: 100vh; }

/* LOGIN */
#loginScreen { display:flex; align-items:center; justify-content:center; min-height:100vh; }
.login-box { background: var(--surface); border: 1px solid var(--border); padding: 48px 40px; width: 340px; text-align:center; }
.login-mark { font-size: 2em; font-weight: 800; letter-spacing: 6px; margin-bottom: 6px; }
.login-mark span:nth-child(odd)  { color: var(--gold); }
.login-mark span:nth-child(even) { color: var(--text); }
.login-sub { color: var(--muted); font-style: italic; margin-bottom: 32px; font-size: 13px; }
.login-input { width:100%; background:#0d0d0d; border:1px solid var(--border); color:var(--text); padding:12px 14px; font-size:14px; border-radius:var(--radius); margin-bottom:12px; font-family:inherit; }
.login-input:focus { outline:none; border-color:var(--gold); }
.login-btn { width:100%; background:var(--gold); color:#000; border:none; padding:13px; font-weight:700; font-size:14px; letter-spacing:2px; cursor:pointer; border-radius:var(--radius); font-family:inherit; }
.login-btn:hover { background:var(--gold-dim); }
.login-error { color:var(--danger); font-size:12px; margin-top:10px; min-height:16px; }

/* TOPBAR */
.topbar { display:flex; align-items:center; justify-content:space-between; padding:0 24px; height:56px; background:var(--surface); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:100; }
.topbar-brand { display:flex; align-items:center; gap:14px; }
.topbar-logo-link { text-decoration:none; }
.topbar-logo-link:hover .topbar-logo span { opacity:0.8; }
.topbar-logo { font-size:1.1em; font-weight:800; letter-spacing:4px; }
.topbar-logo span:nth-child(odd)  { color: var(--gold); }
.topbar-logo span:nth-child(even) { color: var(--text); }
.topbar-tag { color:var(--muted); font-size:12px; letter-spacing:1px; }
.topbar-right { display:flex; align-items:center; gap:20px; }
.status-pill { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--success); }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--success); animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.topbar-time { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.logout-btn { background:transparent; border:1px solid var(--border); color:var(--muted); padding:6px 14px; cursor:pointer; font-family:inherit; font-size:12px; border-radius:var(--radius); }
.logout-btn:hover { border-color:var(--gold); color:var(--gold); }

/* NAV */
.nav-wrap { position:relative; border-bottom:1px solid var(--border); background:var(--surface); }
.nav-tabs { display:flex; justify-content:center; gap:0; padding: 0 60px; }
.nav-s-logo { width:34px; height:34px; object-fit:contain; opacity:0.9; filter:drop-shadow(0 0 8px rgba(201,168,76,0.72)) drop-shadow(0 0 20px rgba(201,168,76,0.38)); position:absolute; top:50%; transform:translateY(-50%); pointer-events:none; }
.nav-s-logo-left  { left:16px; }
.nav-s-logo-right { right:16px; }
.nav-tab { padding:14px 18px; cursor:pointer; font-size:13px; border-bottom:2px solid transparent; white-space:nowrap; transition:color .15s; }
.nav-tab:nth-child(odd)  { color:var(--gold); }
.nav-tab:nth-child(even) { color:var(--text); }
.nav-tab:hover { color:var(--text); }
.nav-tab.active { color:var(--gold); border-bottom-color:var(--gold); font-weight:600; }

/* MAIN */
.main { padding: 28px 24px; max-width: 1400px; }
.view { display:none; }
.view.active { display:block; }
.view-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.section-title { font-size:16px; font-weight:700; letter-spacing:1px; color:var(--text); margin-bottom:16px; }

/* STATS */
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; margin-bottom:24px; }
.stat-card { background:var(--surface); border:1px solid var(--border); padding:20px 22px 14px; border-radius:var(--radius); display:flex; flex-direction:column; }
.stat-card-clickable { cursor:pointer; transition:border-color .15s, box-shadow .15s; }
.stat-card-clickable:hover { border-color:var(--gold); box-shadow:0 0 0 1px rgba(201,168,76,0.15); }
.stat-label { font-size:11px; color:var(--muted); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px; }
.stat-value { font-size:2em; font-weight:800; color:var(--gold); }
.stat-sub { font-size:11px; color:var(--muted); margin-top:4px; }
.stat-sparkline { margin-top:12px; height:32px; display:block; width:100%; }

/* STAT DETAIL MODAL */
.stat-detail-modal { width:560px; max-width:95vw; max-height:80vh; display:flex; flex-direction:column; padding:0; }
.stat-modal-head { display:flex; align-items:center; justify-content:space-between; padding:20px 24px 16px; border-bottom:1px solid var(--border); }
.stat-modal-head .modal-title { margin:0; }
.stat-modal-close { background:transparent; border:none; color:var(--muted); font-size:16px; cursor:pointer; padding:4px 8px; line-height:1; }
.stat-modal-close:hover { color:var(--text); }
.stat-modal-body { overflow-y:auto; padding:16px 24px 24px; flex:1; }
.stat-modal-loading { color:var(--muted); font-size:13px; padding:24px 0; text-align:center; }
.smd-header { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:8px 0; border-bottom:1px solid var(--border); margin-bottom:4px; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
.smd-row { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.04); font-size:13px; align-items:center; }
.smd-row:last-child { border-bottom:none; }
.smd-name { font-weight:600; color:var(--text); }
.smd-title { color:var(--muted); font-size:12px; }
.smd-company { color:var(--muted); font-size:12px; }
.smd-serial { font-weight:700; letter-spacing:1px; color:var(--gold); font-size:12px; }
.smd-num { font-weight:700; color:var(--gold); }
.smd-id { color:var(--muted); font-size:11px; font-family:monospace; }
.smd-meta { color:var(--muted); font-size:12px; }
.smd-msg { color:var(--text); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.smd-pipeline { display:flex; flex-direction:column; gap:10px; padding:8px 0; }
.smd-pipeline-row { display:grid; grid-template-columns:90px 1fr 40px; gap:10px; align-items:center; }
.smd-pipe-label { font-size:12px; color:var(--muted); }
.smd-pipe-track { height:6px; background:rgba(255,255,255,0.06); border-radius:3px; overflow:hidden; }
.smd-pipe-fill { height:100%; border-radius:3px; transition:width .4s ease; }
.smd-pipe-num { font-size:13px; font-weight:700; text-align:right; }
.smd-total { margin-top:12px; font-size:12px; color:var(--muted); border-top:1px solid var(--border); padding-top:10px; }

/* PIPELINE FUNNEL */
.pipeline-funnel { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px 28px; margin-bottom:28px; }
.pipeline-funnel-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.pipeline-funnel-title { font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); }
.pipeline-funnel-total { font-size:11px; color:var(--muted); }
.funnel-stages { display:flex; flex-direction:column; gap:8px; }
.funnel-stage { display:grid; grid-template-columns:90px 1fr 48px 60px; align-items:center; gap:12px; }
.funnel-stage-label { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--muted); text-align:right; }
.funnel-bar-track { background:rgba(255,255,255,0.04); border-radius:2px; height:20px; position:relative; overflow:hidden; }
.funnel-bar-fill { height:100%; border-radius:2px; transition:width .8s cubic-bezier(.22,1,.36,1); background:linear-gradient(90deg,rgba(201,168,76,0.4),rgba(201,168,76,0.7)); position:relative; }
.funnel-bar-fill.stage-searched  { background:linear-gradient(90deg,rgba(201,168,76,0.25),rgba(201,168,76,0.45)); }
.funnel-bar-fill.stage-connected { background:linear-gradient(90deg,rgba(46,204,113,0.25),rgba(46,204,113,0.5)); }
.funnel-bar-fill.stage-touched   { background:linear-gradient(90deg,rgba(160,112,255,0.25),rgba(160,112,255,0.5)); }
.funnel-bar-fill.stage-engaged   { background:linear-gradient(90deg,rgba(255,149,0,0.25),rgba(255,149,0,0.5)); }
.funnel-bar-fill.stage-replied   { background:linear-gradient(90deg,rgba(46,204,113,0.4),rgba(46,204,113,0.75)); }
.funnel-count { font-size:13px; font-weight:700; color:var(--text); text-align:right; }
.funnel-conv { font-size:11px; color:var(--muted); text-align:right; }
.funnel-conv.good { color:#2ecc71; }
.funnel-conv.ok   { color:#ff9500; }
.funnel-conv.low  { color:var(--muted); }

/* TABLES */
.data-table { width:100%; border-collapse:collapse; }
.data-table th { text-align:left; padding:10px 14px; font-size:11px; color:var(--muted); letter-spacing:1px; text-transform:uppercase; border-bottom:1px solid var(--border); }
.data-table td { padding:12px 14px; border-bottom:1px solid var(--border); font-size:13px; vertical-align:middle; }
.data-table tr:hover td { background:rgba(255,255,255,.02); }
.data-table tbody tr:last-child td { border-bottom:none; }
.table-wrap { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }

/* BADGES / STATES */
.state-badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:600; letter-spacing:.5px; }
.state-new       { background:#1a1a2e; color:#7070ff; }
.state-searched  { background:#1a1810; color:#c9a84c; }
.state-connected { background:#0d2010; color:#2ecc71; }
.state-touched   { background:#1a1020; color:#a070ff; }
.state-engaged   { background:#201000; color:#ff9500; }
.state-replied   { background:#102010; color:#2ecc71; font-weight:700; }
.state-running   { background:#0d2010; color:#2ecc71; }
.state-paused    { background:#201500; color:#c9a84c; }
.state-complete  { background:#111; color:#555; }
.state-stopped   { background:#200d0d; color:#c8102e; }
.state-active    { background:#0d2010; color:#2ecc71; }
.state-trainee   { background:#1a1810; color:#c9a84c; }
.state-suspended { background:#200d0d; color:#c8102e; }
.outcome-success { color: var(--success); }
.outcome-failed  { color: var(--danger); }
.outcome-pending { color: var(--muted); }

/* BUTTONS */
.btn-primary { background:var(--gold); color:#000; border:none; padding:9px 18px; font-weight:700; font-size:13px; cursor:pointer; border-radius:var(--radius); font-family:inherit; }
.btn-primary:hover { background:var(--gold-dim); }
.btn-ghost { background:transparent; border:1px solid var(--border); color:var(--muted); padding:7px 14px; cursor:pointer; border-radius:var(--radius); font-family:inherit; font-size:13px; }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
.btn-sm { padding:5px 12px; font-size:12px; }
.btn-danger { background:transparent; border:1px solid var(--danger); color:var(--danger); padding:5px 12px; cursor:pointer; border-radius:var(--radius); font-family:inherit; font-size:12px; }
.btn-danger:hover { background:var(--danger); color:#fff; }

/* FILTERS */
.filter-row { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.filter-btn { background:transparent; border:1px solid var(--border); color:var(--muted); padding:6px 14px; cursor:pointer; border-radius:20px; font-family:inherit; font-size:12px; }
.filter-btn:hover { border-color:var(--gold); color:var(--gold); }
.filter-btn.active { background:var(--gold); border-color:var(--gold); color:#000; font-weight:600; }

/* BADGE */
.badge { background:var(--danger); color:#fff; font-size:11px; padding:2px 8px; border-radius:20px; font-weight:700; margin-left:8px; }

/* MODAL */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.8); display:flex; align-items:center; justify-content:center; z-index:1000; }
.modal { background:var(--surface); border:1px solid var(--border); padding:32px; width:440px; border-radius:var(--radius); }
.modal-title { font-size:18px; font-weight:700; margin-bottom:24px; color:var(--gold); }
.modal label { display:block; font-size:11px; color:var(--muted); letter-spacing:1px; text-transform:uppercase; margin-bottom:6px; margin-top:16px; }
.modal-input { width:100%; background:#0d0d0d; border:1px solid var(--border); color:var(--text); padding:10px 12px; font-size:13px; border-radius:var(--radius); font-family:inherit; }
.modal-input:focus { outline:none; border-color:var(--gold); }
.modal-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:24px; }
.modal-error { color:var(--danger); font-size:12px; margin-top:10px; min-height:16px; }

/* KILL SWITCH */
.kill-switch { display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.kill-switch input { width:36px; height:20px; cursor:pointer; accent-color:var(--danger); }

/* EMPTY */
.empty { padding:40px; text-align:center; color:var(--muted); font-style:italic; }

/* CARD LIST (legacy) */
.card-list { display:flex; flex-direction:column; gap:8px; }
.action-item { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:12px 16px; display:flex; align-items:center; gap:16px; font-size:13px; }
.action-type { font-weight:600; color:var(--gold); width:140px; flex-shrink:0; text-transform:uppercase; font-size:11px; letter-spacing:1px; }
.action-meta { color:var(--muted); font-size:12px; margin-left:auto; white-space:nowrap; }

/* LIVE ACTIVITY FEED */
@keyframes lafIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.laf-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.laf-title { font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); font-weight:600; }
.laf-live { display:flex; align-items:center; gap:6px; font-size:10px; letter-spacing:2px; color:var(--success); font-weight:700; }
.laf-dot { width:6px; height:6px; border-radius:50%; background:var(--success); animation:pulse 1.8s infinite; }
.laf-feed { display:flex; flex-direction:column; gap:2px; }
.laf-item { display:grid; grid-template-columns:72px 1fr 90px 64px; align-items:center; gap:12px; padding:9px 14px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); font-size:12px; animation:lafIn .3s ease both; transition:border-color .15s; }
.laf-item:hover { border-color:rgba(201,168,76,0.25); }
.laf-type { font-size:10px; font-weight:700; letter-spacing:1.5px; color:var(--gold); text-transform:uppercase; white-space:nowrap; }
.laf-identity { display:flex; align-items:center; gap:6px; overflow:hidden; }
.laf-name { font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.laf-sep { color:var(--muted); }
.laf-company { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.laf-outcome { font-size:11px; font-weight:600; text-align:right; letter-spacing:.5px; white-space:nowrap; }
.laf-time { color:var(--muted); font-size:11px; text-align:right; white-space:nowrap; }

/* ICA COMPLIANCE TICKER */
@keyframes tickerScroll { from { transform:translateX(0); } to { transform:translateX(calc(-1 * var(--ticker-w, 50%))); } }
.ica-ticker-wrap { display:flex; align-items:center; gap:0; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); height:38px; overflow:hidden; }
.ica-ticker-label { flex-shrink:0; padding:0 14px; font-size:10px; font-weight:800; letter-spacing:3px; color:var(--gold); border-right:1px solid var(--border); height:100%; display:flex; align-items:center; white-space:nowrap; background:rgba(201,168,76,0.05); }
.ica-ticker-track { flex:1; overflow:hidden; height:100%; display:flex; align-items:center; }
.ica-ticker-inner { display:flex; align-items:center; white-space:nowrap; gap:0; }
.ica-ticker-inner.running { animation:tickerScroll 30s linear infinite; }
.ica-tick-item { display:inline-flex; align-items:center; gap:8px; padding:0 18px; }
.ica-tick-label { font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
.ica-tick-val { font-size:11px; font-weight:700; letter-spacing:1px; }
.ica-tick-sep { color:rgba(255,255,255,0.08); padding:0 2px; font-size:16px; }

/* ============================================================
   ICA™ — INSTITUTIONAL CONTROL ARCHITECTURE
   Luxury command-center styling
   ============================================================ */

.nav-tab-ica { color: var(--gold) !important; letter-spacing: 2px; font-weight: 700; }
.nav-tab-ica.active { border-bottom-color: var(--gold); }

/* ── ICA HEADER ── */
.ica-header {
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(135deg, #0a0800 0%, #0e0c04 50%, #080600 100%);
  border: 1px solid rgba(201,168,76,0.2);
  padding: 28px 36px; margin-bottom: 28px;
  position: relative; overflow: hidden;
}
.ica-header::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--gold) 30%, #f0d080 50%, var(--gold) 70%, transparent 100%);
}
.ica-header::after {
  content: 'INSTITUTIONAL CONTROL ARCHITECTURE';
  position: absolute; right: 200px; top: 50%; transform: translateY(-50%);
  font-size: 10px; letter-spacing: 6px; color: rgba(201,168,76,0.08);
  font-weight: 900; white-space: nowrap; pointer-events: none;
}
.ica-wordmark {
  font-size: 3rem; font-weight: 900; letter-spacing: 8px;
  background: linear-gradient(135deg, #c9a84c 0%, #f0d080 40%, #c9a84c 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  line-height: 1;
}
.ica-subtitle { font-size: 11px; letter-spacing: 3px; color: rgba(201,168,76,0.5); margin-top: 8px; text-transform: uppercase; }
.ica-header-right { display: flex; align-items: center; gap: 32px; }

/* ── SCORE RING ── */
.ica-overall-score-wrap { position: relative; width: 100px; height: 100px; flex-shrink: 0; }
#icaScoreRing { position: absolute; top: 0; left: 0; transform: rotate(-90deg); }
.ica-overall-score-inner {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.ica-overall-num { font-size: 1.6rem; font-weight: 900; color: var(--gold); line-height: 1; }
.ica-overall-label { font-size: 8px; letter-spacing: 2px; color: rgba(201,168,76,0.5); margin-top: 2px; }

/* ── CERT STATUS ── */
.ica-cert-status { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ica-cert-icon { font-size: 2rem; line-height: 1; }
.ica-cert-icon.certified { color: var(--gold); filter: drop-shadow(0 0 8px rgba(201,168,76,0.5)); animation: certPulse 3s ease-in-out infinite; }
.ica-cert-icon.not-certified { color: var(--muted); }
@keyframes certPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.7;transform:scale(.95)} }
.ica-cert-text { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; text-align: center; }
.ica-cert-text.certified { color: var(--gold); }
.ica-cert-text.not-certified { color: var(--muted); }

/* ── SECTION LABEL ── */
.ica-section-label {
  font-size: 10px; letter-spacing: 4px; color: rgba(201,168,76,0.4);
  text-transform: uppercase; margin-bottom: 14px; padding-left: 2px;
}

/* ── LAYER GRID ── */
.ica-layer-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 10px;
  margin-bottom: 24px;
}
.ica-layer-card {
  background: #0a0900;
  border: 1px solid rgba(201,168,76,0.12);
  padding: 20px 14px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: border-color .2s;
  cursor: default;
}
.ica-layer-card:hover { border-color: rgba(201,168,76,0.3); }
.ica-layer-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--layer-color, var(--gold));
  opacity: 0.6;
}
.ica-layer-num {
  font-size: 9px; letter-spacing: 3px; color: var(--muted);
  text-transform: uppercase; margin-bottom: 12px;
}
.ica-layer-score-ring { position: relative; width: 64px; height: 64px; margin: 0 auto 12px; }
.ica-layer-score-ring canvas { position: absolute; top: 0; left: 0; transform: rotate(-90deg); }
.ica-layer-score-num {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 900; color: var(--gold);
}
.ica-layer-name {
  font-size: 10px; letter-spacing: 1.5px; color: rgba(240,240,240,0.7);
  text-transform: uppercase; line-height: 1.4;
}
.ica-layer-status {
  font-size: 9px; letter-spacing: 1px; margin-top: 6px;
  text-transform: uppercase; font-weight: 700;
}
.ica-layer-status.pass { color: var(--success); }
.ica-layer-status.warn { color: #ff9500; }
.ica-layer-status.fail { color: var(--danger); }

/* ── PANELS ── */
.ica-row-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.ica-panel {
  background: #09080a;
  border: 1px solid rgba(201,168,76,0.1);
  margin-bottom: 16px;
}
.ica-panel-full { margin-bottom: 16px; }
.ica-panel-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(201,168,76,0.08);
  background: rgba(201,168,76,0.03);
}
.ica-panel-title {
  font-size: 12px; letter-spacing: 2px; color: rgba(201,168,76,0.7);
  text-transform: uppercase; font-weight: 700;
}

/* ── ACTION LOCKS ── */
.ica-lock-actions { display: flex; gap: 8px; }
.ica-lock-btn {
  border: 1px solid; padding: 5px 14px; font-size: 11px; letter-spacing: 1.5px;
  text-transform: uppercase; font-weight: 700; cursor: pointer;
  font-family: inherit; transition: all .15s;
  background: transparent;
}
.ica-lock-selective { border-color: rgba(201,168,76,0.4); color: var(--gold); }
.ica-lock-selective:hover { background: rgba(201,168,76,0.1); }
.ica-lock-system    { border-color: rgba(255,149,0,0.4); color: #ff9500; }
.ica-lock-system:hover { background: rgba(255,149,0,0.1); }
.ica-lock-global    { border-color: rgba(200,16,46,0.6); color: var(--danger); }
.ica-lock-global:hover { background: rgba(200,16,46,0.15); }
.ica-confirm-lock-btn { background: var(--danger); color: #fff; border: none; padding: 10px 20px; font-weight: 700; cursor: pointer; font-family: inherit; font-size: 13px; }

.ica-active-lock {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 20px; border-bottom: 1px solid rgba(201,168,76,0.06);
}
.ica-lock-badge {
  display: inline-block; padding: 2px 10px; font-size: 10px;
  font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
}
.ica-lock-badge.global   { background: rgba(200,16,46,0.2);  color: var(--danger); border: 1px solid rgba(200,16,46,0.4); }
.ica-lock-badge.system   { background: rgba(255,149,0,0.15); color: #ff9500;       border: 1px solid rgba(255,149,0,0.3); }
.ica-lock-badge.selective{ background: rgba(201,168,76,0.1); color: var(--gold);   border: 1px solid rgba(201,168,76,0.3); }
.ica-lock-release { background: transparent; border: 1px solid rgba(200,16,46,0.4); color: var(--danger); padding: 4px 12px; font-size: 11px; cursor: pointer; font-family: inherit; }
.ica-lock-release:hover { background: rgba(200,16,46,0.15); }

.ica-lock-warning {
  background: rgba(200,16,46,0.1); border: 1px solid rgba(200,16,46,0.3);
  color: var(--danger); padding: 12px 16px; margin-bottom: 16px; font-size: 13px; line-height: 1.6;
}

/* ── ANOMALIES ── */
.ica-anomaly-count { background: var(--danger); color: #fff; font-size: 11px; font-weight: 800; padding: 2px 10px; }
.ica-anomaly-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 20px; border-bottom: 1px solid rgba(201,168,76,0.06);
}
.ica-anomaly-sev { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.ica-anomaly-sev.critical { background: var(--danger); box-shadow: 0 0 6px var(--danger); }
.ica-anomaly-sev.high     { background: #ff9500; }
.ica-anomaly-sev.medium   { background: var(--gold); }
.ica-anomaly-sev.low      { background: var(--muted); }
.ica-anomaly-body { flex: 1; }
.ica-anomaly-desc { font-size: 12px; color: var(--text); line-height: 1.5; }
.ica-anomaly-meta { font-size: 10px; color: var(--muted); margin-top: 3px; letter-spacing: 1px; }
.ica-resolve-btn { background: transparent; border: 1px solid var(--border); color: var(--muted); padding: 3px 10px; font-size: 10px; cursor: pointer; font-family: inherit; flex-shrink: 0; }
.ica-resolve-btn:hover { border-color: var(--gold); color: var(--gold); }

/* ── INCIDENTS ── */
.ica-incident-item {
  padding: 12px 20px; border-bottom: 1px solid rgba(201,168,76,0.06);
  display: flex; align-items: center; gap: 12px;
}
.ica-sev-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.ica-sev-dot.critical { background: var(--danger); box-shadow: 0 0 6px var(--danger); }
.ica-sev-dot.high     { background: #ff9500; }
.ica-sev-dot.medium   { background: var(--gold); }
.ica-sev-dot.low      { background: var(--muted); }
.ica-incident-body { flex: 1; }
.ica-incident-title { font-size: 13px; font-weight: 600; color: var(--text); }
.ica-incident-meta  { font-size: 10px; color: var(--muted); margin-top: 3px; letter-spacing: .5px; }
.ica-status-badge { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 2px 10px; border: 1px solid; }
.ica-status-open        { color: var(--danger); border-color: rgba(200,16,46,0.4); }
.ica-status-investigating{ color: #ff9500; border-color: rgba(255,149,0,0.4); }
.ica-status-contained   { color: var(--gold); border-color: rgba(201,168,76,0.4); }
.ica-status-resolved    { color: var(--success); border-color: rgba(46,204,113,0.4); }
.ica-status-closed      { color: var(--muted); border-color: var(--border); }

/* ── CIRCUIT BREAKERS ── */
.ica-breaker-item {
  padding: 12px 20px; border-bottom: 1px solid rgba(201,168,76,0.06);
  display: flex; align-items: center; gap: 14px;
  cursor: pointer; transition: background .15s;
}
.ica-breaker-item:hover { background: rgba(201,168,76,0.04); }
.ica-breaker-state { font-size: 9px; font-weight: 800; letter-spacing: 2px; padding: 3px 10px; text-transform: uppercase; }
.ica-breaker-state.closed    { background: rgba(46,204,113,0.1); color: var(--success); border: 1px solid rgba(46,204,113,0.3); }
.ica-breaker-state.open      { background: rgba(200,16,46,0.15); color: var(--danger); border: 1px solid rgba(200,16,46,0.4); animation: tripPulse 1.5s infinite; }
.ica-breaker-state.half-open { background: rgba(255,149,0,0.1); color: #ff9500; border: 1px solid rgba(255,149,0,0.4); }
@keyframes tripPulse { 0%,100%{opacity:1} 50%{opacity:.6} }
.ica-breaker-name { font-size: 12px; font-weight: 600; color: var(--text); flex: 1; }
.ica-breaker-desc { font-size: 11px; color: var(--muted); }
.ica-reset-btn { background: transparent; border: 1px solid rgba(201,168,76,0.3); color: var(--gold); padding: 3px 10px; font-size: 10px; cursor: pointer; font-family: inherit; }
.ica-reset-btn:hover { background: rgba(201,168,76,0.1); }

/* ── THREAT TABLE ── */
.ica-domain-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.ica-filter { background: transparent; border: 1px solid var(--border); color: var(--muted); padding: 4px 12px; cursor: pointer; border-radius: 20px; font-family: inherit; font-size: 11px; }
.ica-filter:hover { border-color: var(--gold); color: var(--gold); }
.ica-filter.active { background: rgba(201,168,76,0.15); border-color: var(--gold); color: var(--gold); font-weight: 600; }

.ica-threat-row { border-bottom: 1px solid rgba(201,168,76,0.06); }
.ica-threat-main { display: flex; align-items: center; gap: 14px; padding: 13px 20px; cursor: pointer; }
.ica-threat-main:hover { background: rgba(201,168,76,0.03); }
.ica-sev-pill { font-size: 9px; font-weight: 800; letter-spacing: 2px; padding: 3px 10px; text-transform: uppercase; flex-shrink: 0; }
.ica-sev-pill.critical { background: rgba(200,16,46,0.2);  color: var(--danger); }
.ica-sev-pill.high     { background: rgba(255,149,0,0.15); color: #ff9500; }
.ica-sev-pill.medium   { background: rgba(201,168,76,0.12);color: var(--gold); }
.ica-sev-pill.low      { background: rgba(100,100,100,0.1);color: var(--muted); }
.ica-domain-tag { font-size: 9px; letter-spacing: 2px; color: var(--muted); text-transform: uppercase; border: 1px solid var(--border); padding: 2px 8px; flex-shrink: 0; }
.ica-threat-title { font-size: 13px; font-weight: 600; color: var(--text); flex: 1; }
.ica-threat-detail {
  padding: 0 20px 14px 20px;
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  background: rgba(0,0,0,0.3);
}
.ica-threat-detail.open { display: grid; }
.ica-detail-block { padding: 10px 14px; border: 1px solid rgba(201,168,76,0.08); }
.ica-detail-label { font-size: 9px; letter-spacing: 2px; color: rgba(201,168,76,0.4); text-transform: uppercase; margin-bottom: 4px; }
.ica-detail-value { font-size: 12px; color: var(--muted2, #888); line-height: 1.5; }

.ica-row-arrow { font-size: 18px; color: var(--gold-dim); margin-left: auto; flex-shrink: 0; transition: transform .15s; }
.ica-threat-chevron { font-size: 18px; color: var(--gold-dim); margin-left: 4px; flex-shrink: 0; transition: transform .2s; display: inline-block; }
.ica-threat-chevron.rotated { transform: rotate(90deg); color: var(--gold); }
.ica-threat-main:hover .ica-threat-chevron { color: var(--gold); }

/* ── TOOL REGISTRY ── */
.ica-tool-row {
  display: flex; align-items: center; gap: 14px; padding: 12px 20px;
  border-bottom: 1px solid rgba(201,168,76,0.06);
}
.ica-tool-row-clickable { cursor: pointer; transition: background .15s; }
.ica-tool-row-clickable:hover { background: rgba(201,168,76,0.04); }
.ica-auth-badge { font-size: 9px; font-weight: 800; letter-spacing: 2px; padding: 3px 10px; text-transform: uppercase; flex-shrink: 0; }
.ica-auth-badge.restricted { background: rgba(200,16,46,0.2);  color: var(--danger); }
.ica-auth-badge.elevated   { background: rgba(255,149,0,0.15); color: #ff9500; }
.ica-auth-badge.standard   { background: rgba(201,168,76,0.1); color: var(--gold); }
.ica-auth-badge.critical   { background: rgba(200,16,46,0.3);  color: var(--danger); border: 1px solid rgba(200,16,46,0.5); }
.ica-tool-name  { font-size: 13px; font-weight: 700; color: var(--text); width: 160px; flex-shrink: 0; }
.ica-tool-blast { font-size: 11px; color: var(--muted); flex: 1; }
.ica-tool-limits{ font-size: 11px; color: var(--muted); text-align: right; white-space: nowrap; }
.ica-tool-active{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.ica-tool-active.on  { background: var(--success); }
.ica-tool-active.off { background: var(--danger); }

/* ── DATA SOURCES ── */
.ica-source-row {
  display: flex; align-items: center; gap: 14px; padding: 13px 20px;
  border-bottom: 1px solid rgba(201,168,76,0.06);
}
.ica-source-name { font-size: 13px; font-weight: 600; color: var(--text); width: 200px; flex-shrink: 0; }
.ica-source-type { font-size: 9px; letter-spacing: 2px; color: var(--muted); text-transform: uppercase; border: 1px solid var(--border); padding: 2px 8px; flex-shrink: 0; }
.ica-quality-bar { flex: 1; height: 4px; background: rgba(255,255,255,0.06); position: relative; }
.ica-quality-fill { height: 100%; background: linear-gradient(90deg, var(--gold-dim), var(--gold)); transition: width .5s; }
.ica-quality-num { font-size: 12px; font-weight: 700; color: var(--gold); width: 40px; text-align: right; flex-shrink: 0; }
.ica-verified-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.ica-verified-dot.yes { background: var(--success); }
.ica-verified-dot.no  { background: var(--danger); }

/* ── ICA MODAL ── */
.ica-modal { border: 1px solid rgba(201,168,76,0.2); background: #070600; }
.ica-modal-title { color: var(--gold); letter-spacing: 2px; }
.ica-modal select.modal-input { background: #0d0c00; color: var(--text); }

/* ── SMALL BUTTON ── */
.ica-btn-sm { background: transparent; border: 1px solid rgba(201,168,76,0.3); color: var(--gold); padding: 4px 12px; font-size: 11px; cursor: pointer; font-family: inherit; }
.ica-btn-sm:hover { background: rgba(201,168,76,0.1); }

/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
  .ica-layer-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 768px) {
  /* TOPBAR */
  .topbar { padding: 0 16px; height: 52px; }
  .topbar-tag { display: none; }
  .topbar-time { display: none; }
  .topbar-right { gap: 12px; }

  /* NAV TABS — horizontal scroll */
  .nav-tabs {
    justify-content: flex-start;
    padding: 0 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .nav-tabs::-webkit-scrollbar { display: none; }
  .nav-tab { padding: 12px 14px; font-size: 12px; }

  /* MAIN */
  .main { padding: 18px 14px; }

  /* STATS */
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; }
  .stat-value { font-size: 1.6em; }

  /* VIEW HEADER */
  .view-header { flex-direction: column; align-items: flex-start; gap: 12px; }

  /* TABLES — horizontal scroll */
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .data-table { min-width: 600px; }

  /* CARD / ACTION ITEMS */
  .action-item { flex-wrap: wrap; gap: 8px; }
  .action-type { width: auto; }
  .action-meta { margin-left: 0; }

  /* MODALS */
  .modal { width: calc(100vw - 32px); padding: 24px 20px; max-height: 90vh; overflow-y: auto; }

  /* ICA */
  .ica-layer-grid { grid-template-columns: repeat(2, 1fr); }
  .ica-row-two { grid-template-columns: 1fr; }
  .ica-header { flex-direction: column; gap: 20px; padding: 20px; }
  .ica-header::after { display: none; }
  .ica-wordmark { font-size: 2rem; }
  .ica-threat-detail { grid-template-columns: 1fr; }
  .ica-lock-actions { flex-wrap: wrap; }
  .ica-panel-header { flex-wrap: wrap; gap: 10px; }
  .ica-tool-row { flex-wrap: wrap; }
  .ica-tool-limits { text-align: left; }
  .ica-domain-filters { gap: 4px; }
}

@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .filter-row { gap: 6px; }
  .filter-btn { padding: 5px 10px; font-size: 11px; }
  .ica-layer-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .ica-lock-btn { padding: 4px 10px; font-size: 10px; }
  .topbar-logo { font-size: 0.95em; letter-spacing: 3px; }
  .logout-btn { padding: 5px 10px; font-size: 11px; }
}

/* ============================================================
   DEMO MODE
   ============================================================ */

.btn-demo {
  background: transparent;
  border: 1px solid var(--gold);
  color: var(--gold);
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  cursor: pointer;
  font-family: inherit;
  border-radius: var(--radius);
  transition: background .15s, color .15s;
}
.btn-demo:hover { background: var(--gold); color: #000; }
.btn-demo.running {
  background: rgba(201,168,76,.15);
  animation: demoPulse 1.8s ease-in-out infinite;
}
.btn-demo-reset { border-color: var(--border); color: var(--muted); }
.btn-demo-reset:hover { border-color: var(--danger); color: var(--danger); background: transparent; }
@keyframes demoPulse { 0%,100%{border-color:var(--gold)} 50%{border-color:rgba(201,168,76,.4)} }

.demo-bar {
  background: linear-gradient(90deg, rgba(201,168,76,0.06) 0%, rgba(201,168,76,0.03) 100%);
  border-bottom: 1px solid rgba(201,168,76,0.2);
  padding: 9px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
  flex-wrap: wrap;
}
.demo-bar-inner { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.demo-bar-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); animation: pulse 1.4s ease-in-out infinite; }
.demo-bar-label { font-size: 10px; font-weight: 700; letter-spacing: 3px; color: var(--gold); text-transform: uppercase; }
.demo-bar-divider { color: var(--muted); }
.demo-bar-counts { color: var(--muted2); }
.demo-bar-event { color: var(--text); font-size: 12px; flex: 1; text-align: right; font-style: italic; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.demo-toasts {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column-reverse;
  gap: 8px;
  pointer-events: none;
  max-width: 380px;
}
.demo-toast {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 3px solid var(--gold);
  padding: 12px 16px;
  border-radius: var(--radius);
  font-size: 12px;
  line-height: 1.5;
  color: var(--text);
  animation: toastIn .3s cubic-bezier(.22,1,.36,1);
  box-shadow: 0 4px 24px rgba(0,0,0,.6);
}
.demo-toast.urgent {
  border-left-color: var(--danger);
  background: rgba(200,16,46,0.06);
}
.demo-toast.fade-out { animation: toastOut .4s ease forwards; }
.demo-toast-type { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 3px; }
.demo-toast.urgent .demo-toast-type { color: var(--danger); }
@keyframes toastIn  { from { opacity:0; transform:translateX(20px); } to { opacity:1; transform:none; } }
@keyframes toastOut { to   { opacity:0; transform:translateX(20px); } }

/* BRAND HERO */
.brand-hero { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 24px 80px; gap:28px; }
.brand-hero-logo { width:220px; height:220px; object-fit:contain; filter:drop-shadow(0 0 40px rgba(201,168,76,0.25)); }
.brand-hero-name { color:#ffffff; font-size:2.2em; font-weight:800; letter-spacing:0.35em; text-align:center; font-family:'Inter', sans-serif; }
.brand-hero-tm { font-size:0.5em; vertical-align:super; letter-spacing:0; font-weight:400; }

/* AGENT CONTROL PANEL */
.agent-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px; margin-bottom:20px; }
.agent-card-killed { border-color:var(--danger); background:rgba(200,16,46,0.05); }
.agent-card-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; }
.agent-serial { font-size:11px; letter-spacing:3px; color:var(--gold); font-weight:700; margin-bottom:4px; }
.agent-name { font-size:18px; font-weight:700; color:var(--text); margin-bottom:4px; }
.agent-li-id { font-size:12px; color:var(--muted); }
.agent-li-id code { color:var(--gold-dim); background:rgba(201,168,76,0.08); padding:2px 6px; border-radius:4px; font-size:11px; }
.agent-status-col { text-align:right; }
.agent-status-badge { font-size:12px; font-weight:700; letter-spacing:1px; padding:5px 12px; border-radius:20px; margin-bottom:6px; display:inline-block; }
.badge-active { background:rgba(46,204,113,0.12); color:var(--success); border:1px solid rgba(46,204,113,0.25); }
.badge-killed { background:rgba(200,16,46,0.12); color:var(--danger); border:1px solid rgba(200,16,46,0.3); }
.badge-suspended { background:rgba(255,255,255,0.05); color:var(--muted); border:1px solid var(--border); }
.agent-actions-today { font-size:12px; color:var(--muted); }
.agent-controls { display:flex; flex-direction:column; gap:16px; margin-bottom:20px; padding:20px; background:rgba(255,255,255,0.02); border-radius:8px; border:1px solid var(--border); }
.agent-ctrl-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.agent-control-group { display:flex; flex-direction:column; gap:8px; }
.agent-ctrl-label { font-size:11px; letter-spacing:1px; color:var(--muted); font-weight:600; text-transform:uppercase; }
.agent-card-actions { display:flex; gap:10px; flex-wrap:wrap; }
.btn-danger-outline { background:transparent; border:1px solid var(--danger); color:var(--danger); padding:8px 16px; border-radius:var(--radius); font-size:13px; font-weight:600; cursor:pointer; transition:0.2s; }
.btn-danger-outline:hover { background:rgba(200,16,46,0.1); }
.btn-active-danger { background:rgba(200,16,46,0.15); }

/* TEMPLATES */
.tmpl-hint { font-size:12px; color:var(--muted); padding:10px 14px; background:rgba(201,168,76,0.06); border:1px solid rgba(201,168,76,0.15); border-radius:var(--radius); margin-bottom:20px; letter-spacing:0.3px; }
.tmpl-hint code { color:var(--gold); background:rgba(201,168,76,0.1); padding:1px 5px; border-radius:3px; font-size:11px; }
.tmpl-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px; margin-bottom:16px; transition:border-color 0.2s; }
.tmpl-card-active { border-color:var(--gold); box-shadow:0 0 0 1px rgba(201,168,76,0.15); }
.tmpl-card-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:16px; }
.tmpl-card-name { font-size:16px; font-weight:700; color:var(--text); }
.tmpl-card-desc { font-size:12px; color:var(--muted); margin-top:4px; }
.tmpl-card-btns { display:flex; gap:8px; align-items:center; }
.tmpl-active-badge { background:var(--gold); color:#000; font-size:10px; font-weight:800; letter-spacing:1px; padding:2px 7px; border-radius:3px; vertical-align:middle; }
.tmpl-preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.tmpl-preview-step { background:rgba(255,255,255,0.02); border:1px solid var(--border); border-radius:6px; padding:10px; }
.tmpl-preview-label { font-size:10px; letter-spacing:1px; color:var(--gold); font-weight:700; text-transform:uppercase; margin-bottom:6px; }
.tmpl-preview-text { font-size:12px; color:var(--text); line-height:1.5; max-height:60px; overflow:hidden; text-overflow:ellipsis; }

/* TEMPLATE MODAL */
.tmpl-modal-box { width:100%; max-width:720px; max-height:90vh; overflow-y:auto; }
.tmpl-steps { display:flex; flex-direction:column; gap:16px; margin:16px 0; }
.tmpl-step { display:flex; flex-direction:column; gap:6px; }
.tmpl-step-label { font-size:12px; font-weight:600; color:var(--text); display:flex; align-items:center; gap:8px; }
.tmpl-step-num { background:var(--gold); color:#000; width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; flex-shrink:0; }
.tmpl-char-count { margin-left:auto; font-size:11px; color:var(--muted); font-weight:400; }
.tmpl-input { width:100%; background:var(--bg); border:1px solid var(--border); color:var(--text); padding:10px 12px; border-radius:var(--radius); font-size:13px; font-family:inherit; box-sizing:border-box; }
.tmpl-input:focus { outline:none; border-color:var(--gold); }
.tmpl-textarea { width:100%; background:var(--bg); border:1px solid var(--border); color:var(--text); padding:10px 12px; border-radius:var(--radius); font-size:13px; font-family:inherit; resize:vertical; min-height:90px; box-sizing:border-box; line-height:1.5; }
.tmpl-textarea.tmpl-short { min-height:60px; }
.tmpl-textarea:focus { outline:none; border-color:var(--gold); }

/* TOAST */
.legatus-toast { position:fixed; bottom:24px; right:24px; background:var(--surface); border:1px solid var(--gold); color:var(--text); padding:12px 20px; border-radius:var(--radius); font-size:13px; font-weight:500; z-index:9999; opacity:0; transform:translateY(8px); transition:0.25s ease; pointer-events:none; }
.legatus-toast.toast-show { opacity:1; transform:translateY(0); }

/* SEARCH PROFILE TAGS */
.sp-tag { background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.2); color:var(--gold-dim); font-size:11px; padding:3px 9px; border-radius:20px; letter-spacing:0.3px; }

/* SYNAPSE SUGGEST */
.synapse-suggest-box { margin-top:12px; padding:14px; background:rgba(201,168,76,0.05); border:1px solid rgba(201,168,76,0.2); border-radius:var(--radius); }
.synapse-suggest-label { font-size:10px; letter-spacing:2px; color:var(--gold); font-weight:700; margin-bottom:8px; }
.synapse-suggest-text { font-size:13px; color:var(--text); line-height:1.6; white-space:pre-wrap; }
.synapse-confidence { font-size:11px; color:var(--muted); margin-top:8px; }

/* ICA DETAIL MODAL */
.ica-detail-modal { background:var(--surface); border:1px solid rgba(201,168,76,0.25); width:520px; max-width:calc(100vw - 40px); max-height:85vh; overflow-y:auto; padding:28px 28px 24px; position:relative; }
.ica-dm-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:16px; }
.ica-dm-badges { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ica-dm-title { font-size:18px; font-weight:800; letter-spacing:1px; color:var(--text); margin-bottom:4px; }
.ica-dm-subtitle { font-size:10px; letter-spacing:3px; color:var(--gold-dim); text-transform:uppercase; margin-bottom:20px; }
.ica-dm-body { display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.ica-dm-row { padding:10px 14px; background:rgba(255,255,255,0.02); border:1px solid var(--border); }
.ica-dm-alert { border-color:rgba(200,16,46,0.3); background:rgba(200,16,46,0.06); }
.ica-dm-label { font-size:9px; letter-spacing:2px; color:rgba(201,168,76,0.45); text-transform:uppercase; margin-bottom:4px; }
.ica-dm-val { font-size:13px; color:var(--text); line-height:1.5; }
.ica-dm-remediation { padding:14px 16px; background:rgba(201,168,76,0.05); border:1px solid rgba(201,168,76,0.18); margin-bottom:20px; }
.ica-dm-rem-label { font-size:9px; letter-spacing:2px; color:var(--gold); text-transform:uppercase; font-weight:700; margin-bottom:6px; }
.ica-dm-rem-text { font-size:13px; color:var(--muted); line-height:1.6; }
.ica-dm-footer { display:flex; justify-content:flex-end; gap:10px; }
