/* ═══════════════════════════════════════════════════════════════════════════
   CNTCT v31-fixes.css — INTELLIGENCE TERMINAL DESIGN SYSTEM
   ═══════════════════════════════════════════════════════════════════════════
   Loaded AFTER inline <style>. This file is the FINAL visual authority.
   Design DNA: Military intelligence / Bloomberg Terminal / Palantir Foundry
   Every rule uses !important to guarantee override of inline styles.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════════════
   §0. DESIGN TOKENS
   ══════════════════════════════════════════════════════════════════════════ */
:root {
  /* Surface system — pure dark, no warmth */
  --bg: #0A0A0F !important;
  --bg2: #0e0e13 !important;
  --bg3: #111116 !important;
  --bg4: #16161c !important;
  --card: #0e0e13 !important;
  --card-hover: #111116 !important;
  --card-raised: #14141a !important;

  /* Text — cold white hierarchy */
  --text: #d4d4d8 !important;
  --text2: #8b8b94 !important;
  --muted: #5a5a64 !important;
  --dim: #3a3a44 !important;

  /* Accent — operational gold, used sparingly */
  --accent: #c9a96e !important;
  --accent-bright: #c9a96e !important;
  --accent-soft: rgba(201,169,110,0.08) !important;
  --accent-glow: 0 0 12px rgba(201,169,110,0.12) !important;
  --aman-gold: #c9a96e !important;
  --aman-gold-soft: rgba(201,169,110,0.06) !important;
  --aman-gold-glow: 0 0 12px rgba(201,169,110,0.1) !important;
  --aman-cream: #0A0A0F !important;
  --aman-cream-soft: rgba(255,255,255,0.02) !important;

  /* Borders — structural, barely visible */
  --border: #1a1a22 !important;
  --border2: #222230 !important;
  --border-glow: rgba(201,169,110,0.15) !important;

  /* Semantic — muted for dark bg */
  --green: #22c55e !important;
  --green-soft: rgba(34,197,94,0.08) !important;
  --red: #ef4444 !important;
  --red-soft: rgba(239,68,68,0.08) !important;
  --cyan: #38bdf8 !important;
  --cyan-soft: rgba(56,189,248,0.06) !important;
  --orange: #f59e0b !important;
  --orange-soft: rgba(245,158,11,0.06) !important;
  --purple: #8b5cf6 !important;
  --purple-soft: rgba(139,92,246,0.06) !important;
  --pink: #ec4899 !important;
  --rose: #f43f5e !important;
  --sage: #22c55e !important;
  --gold: #c9a96e !important;
  --gold-bright: #c9a96e !important;
  --gold-deep: #9a7b4a !important;
  --gold-light: #c9a96e !important;
  --champagne: rgba(255,255,255,0.08) !important;

  /* Shadows — eliminated except functional */
  --shadow-sm: none !important;
  --shadow-md: none !important;
  --shadow-lg: none !important;
  --shadow-xl: none !important;

  /* Radii — angular, technical */
  --radius: 2px !important;
  --radius-sm: 1px !important;
  --radius-lg: 2px !important;

  /* Glass — killed. Solid surfaces only */
  --glass-1: rgba(255,255,255,0.02) !important;
  --glass-2: #0e0e13 !important;
  --glass-3: #111116 !important;
  --glass-4: #14141a !important;
  --glass-5: #16161c !important;
  --glass-border: #1a1a22 !important;
  --glass-blur: none !important;

  /* Gold hierarchy — flattened */
  --gold-dim: #7a6a3e !important;
  --gold-base: #a8924e !important;
  --gold-primary: #c9a96e !important;
  --gold-white: #c9a96e !important;

  /* Brain */
  --brain-dark: #08080d !important;
  --brain-darker: #050509 !important;
  --brain-grid: rgba(201,169,110,0.04) !important;
  --brain-glow: rgba(201,169,110,0.06) !important;

  /* Spacing — tighter */
  --space-xs: 2px !important;
  --space-sm: 4px !important;
  --space-md: 8px !important;
  --space-lg: 16px !important;
  --space-xl: 24px !important;
  --space-2xl: 40px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §1. BASE — Kill all ambient effects, enforce terminal feel
   ══════════════════════════════════════════════════════════════════════════ */
html, body {
  background: #0A0A0F !important;
  color: #d4d4d8 !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Kill ALL ambient background effects */
body::before,
body::after {
  display: none !important;
}

/* Kill all backdrop-filter everywhere */
.glass-card, .dash-hero, .nav-bar, .settings-section, .sa-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Scrollbar — thin, dark */
::-webkit-scrollbar { width: 4px !important; height: 4px !important; }
::-webkit-scrollbar-track { background: transparent !important; }
::-webkit-scrollbar-thumb { background: #1a1a22 !important; border-radius: 0 !important; }
::-webkit-scrollbar-thumb:hover { background: #2a2a34 !important; }

/* All border-radius capped at 2px */
.glass-card,
.glass-card-glow,
.sa-card,
.sa-stat,
.sa-table-wrap,
.settings-section,
.settings-input,
.config-box,
.login-card,
.login-logo,
.login-social-btn,
.login-input,
.login-connect-btn,
.btn-primary,
.btn-investigate,
.dash-vault-counter,
.dash-run-card,
.dash-signal-inner,
.dash-vault-bar,
.dash-learning-inner,
.dash-empty-weapon,
.dash-action-btn,
.brand-input-row,
.filter-pill,
.il-table-wrap,
.il-search,
.il-view-group,
.il-act-btn,
.brain-tooltip,
.brain-legend,
.brain-legend-toggle,
.spider-stats,
.brain-hud-readout,
.thread-card,
.lateral-panel,
.cp-region-tag,
.cp-contact-card,
.cp-contact-method,
.thinking-stream,
.settings-stat,
.settings-btn-small,
.settings-btn-primary,
.settings-btn-secondary,
.settings-error-log,
.correction-modal,
.config-box input,
.config-box select,
.cntct-toast,
.dash-chain-tag {
  border-radius: 2px !important;
}

/* Kill ALL box shadows */
.glass-card,
.glass-card-glow,
.sa-card,
.sa-card:hover,
.sa-stat,
.sa-stat:hover,
.sa-table-wrap,
.settings-section,
.settings-section:hover,
.settings-stat,
.dash-vault-counter,
.dash-vault-counter:hover,
.dash-run-card,
.dash-run-card:hover,
.dash-signal-inner,
.dash-vault-bar,
.dash-learning-inner,
.il-table-wrap,
.il-top,
.lateral-panel,
.brain-tooltip,
.thread-card {
  box-shadow: none !important;
}

/* Kill ALL transforms on hover */
.sa-stat:hover,
.sa-card:hover,
.dash-vault-counter:hover,
.dash-run-card:hover,
.login-social-btn:hover,
.login-connect-btn:hover,
.btn-primary:hover,
.btn-investigate:hover,
.settings-btn-primary:hover,
.settings-btn-secondary:hover,
.settings-btn-small:hover,
.il-act-btn:hover {
  transform: none !important;
}

/* Kill ALL animations except opacity */
@keyframes ambientDrift { 0%, 100% { transform: none; } }
@keyframes floatParticle { 0%, 100% { transform: none; } }
@keyframes dashOrbFloat { 0%, 100% { transform: none; } }
@keyframes weaponPulse { 0%, 100% { box-shadow: none; } }
@keyframes fadeInUp { from { opacity: 0; } to { opacity: 1; } }
@keyframes shimmer { 0%, 100% { opacity: 1; } }

/* Glass card — solid surface */
.glass-card {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  box-shadow: none !important;
}
.glass-card::after {
  display: none !important;
}
.glass-card-glow {
  box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §2. TYPOGRAPHY — JetBrains Mono for data, Cormorant for brand, Inter for UI
   ══════════════════════════════════════════════════════════════════════════ */

/* JetBrains Mono on ALL data values */
.sa-stat-num,
.dash-vault-num,
.dash-vault-stat .vault-num,
.dash-run-stat .val,
.dash-learning-stat .learn-num,
.stat-box .value,
.settings-stat .stat-value,
.il-count,
.brain-legend-stats .bls-num,
.brain-hud-readout .hud-val,
.dash-hero-ticker .ticker-stat,
.contacts-count,
.sa-sort-arrow,
.cost-badge,
.filter-pill,
td,
.il-table tbody td,
.sa-table tbody td {
  font-family: 'JetBrains Mono', monospace !important;
}

/* Cormorant ONLY for CNTCT brand mark and page titles */
.nav-brand-mark,
.login-title,
.dash-hero h2,
.sa-hero-title,
.settings-hero-title,
.rv-title,
.il-title,
.dash-section-header h4 {
  font-family: 'Cormorant Garamond', serif !important;
}

/* Override stat numbers to JetBrains — NOT Cormorant */
.sa-stat-num,
.dash-vault-num,
.dash-vault-stat .vault-num,
.dash-run-stat .val,
.dash-learning-stat .learn-num,
.settings-stat .stat-value,
.brain-legend-stats .bls-num,
.brain-hud-readout .hud-val {
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
  letter-spacing: -0.5px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §3. NAVIGATION — 36px thin command bar
   ══════════════════════════════════════════════════════════════════════════ */
.top-nav {
  background: #0A0A0F !important;
  border-bottom: 1px solid #1a1a22 !important;
  padding: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 1000 !important;
}

.nav-container {
  height: 36px !important;
  padding: 0 16px !important;
  max-width: 100% !important;
  gap: 0 !important;
}

.nav-brand {
  margin-right: 24px !important;
}

.nav-brand-mark {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 6px !important;
  color: #c9a96e !important;
}

.nav-items {
  height: 36px !important;
  gap: 0 !important;
}

.nav-item {
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 1.5px !important;
  padding: 0 12px !important;
  color: #5a5a64 !important;
  border-bottom: 1px solid transparent !important;
  transition: color 0.15s ease !important;
}

.nav-item:hover {
  color: #8b8b94 !important;
}

.nav-item.active {
  color: #c9a96e !important;
  border-bottom-color: #c9a96e !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §4. APP LAYOUT — tighter, no wasted space
   ══════════════════════════════════════════════════════════════════════════ */
.app {
  max-width: 100% !important;
  padding: 36px 16px 0 !important;
  margin: 0 !important;
}

.header {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §5. DASHBOARD — Dense command center
   ══════════════════════════════════════════════════════════════════════════ */

/* Kill dashboard ambient effects */
.dash-bg,
.dash-glow-orb,
.dash-particle-canvas {
  display: none !important;
}

.dashboard {
  background: #0A0A0F !important;
  min-height: auto !important;
  padding: 0 !important;
}

.dash-noir {
  background: #0A0A0F !important;
  padding-bottom: 16px !important;
  width: 100% !important;
  margin-left: 0 !important;
}

/* Hero — drastically reduced */
.dash-hero {
  padding: 20px 16px 12px !important;
  text-align: left !important;
  max-width: 100% !important;
}

.dash-hero-label {
  font-size: 9px !important;
  letter-spacing: 3px !important;
  opacity: 0.5 !important;
  margin-bottom: 6px !important;
}

.dash-hero h2 {
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #d4d4d8 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 4px !important;
  line-height: 1.1 !important;
}

.dash-hero h2 .gold {
  color: #c9a96e !important;
}

.dash-hero p {
  font-size: 12px !important;
  color: #5a5a64 !important;
  max-width: 480px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Hero ticker */
.dash-hero-ticker {
  justify-content: flex-start !important;
  margin-top: 8px !important;
}

.dash-hero-ticker .ticker-stat {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  color: #c9a96e !important;
}

.dash-hero-ticker .ticker-label {
  font-size: 9px !important;
  color: #5a5a64 !important;
}

.dash-hero-ticker .ticker-dot {
  color: #3a3a44 !important;
  font-size: 6px !important;
}

/* Search bar — flat, angular */
.dash-search-wrap {
  max-width: 600px !important;
  padding: 0 16px !important;
  margin-bottom: 4px !important;
}

.brand-input-row {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  backdrop-filter: none !important;
}

.brand-input-row:focus-within {
  border-color: rgba(201,169,110,0.3) !important;
  box-shadow: none !important;
}

.dash-input-icon {
  color: #3a3a44 !important;
}

.dash-input-divider {
  background: #1a1a22 !important;
}

.brand-input {
  font-size: 13px !important;
  font-family: 'Inter', sans-serif !important;
  color: #d4d4d8 !important;
  padding: 10px 12px !important;
}

.brand-input::placeholder {
  color: #3a3a44 !important;
  font-size: 12px !important;
}

.btn-investigate {
  padding: 10px 18px !important;
  font-size: 9px !important;
  letter-spacing: 2px !important;
  background: #c9a96e !important;
  color: #0A0A0F !important;
  border-radius: 0 2px 2px 0 !important;
}

.btn-investigate::after {
  display: none !important;
}

.btn-investigate:hover {
  box-shadow: none !important;
  letter-spacing: 2px !important;
  opacity: 0.9 !important;
}

/* Input hint */
.input-hint {
  font-size: 9px !important;
  color: #3a3a44 !important;
  margin-top: 4px !important;
}

/* Action buttons row */
.dash-actions-row {
  max-width: 600px !important;
  padding: 0 16px !important;
  margin-top: 8px !important;
  gap: 4px !important;
}

.dash-action-btn {
  padding: 4px 10px !important;
  font-size: 9px !important;
  letter-spacing: 1px !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  color: #5a5a64 !important;
  background: transparent !important;
  transition: all 0.15s ease !important;
}

.dash-action-btn:hover {
  border-color: rgba(201,169,110,0.25) !important;
  color: #c9a96e !important;
  background: rgba(201,169,110,0.04) !important;
}

.dash-action-icon {
  color: #3a3a44 !important;
  font-size: 9px !important;
}

/* Gold bridge — thinner */
.dash-gold-bridge {
  height: 1px !important;
  width: 40px !important;
  opacity: 0.2 !important;
  margin: 8px auto !important;
}

/* ── Vault — flat stat bar ── */
.dash-vault-section {
  max-width: 100% !important;
  padding: 0 16px !important;
  margin-top: 12px !important;
}

.dash-vault-label {
  font-size: 9px !important;
  letter-spacing: 2px !important;
}

.dash-vault-counters {
  gap: 1px !important;
}

.dash-vault-counter {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 10px 6px 8px !important;
  backdrop-filter: none !important;
  transition: border-color 0.15s ease !important;
}

.dash-vault-counter::after {
  display: none !important;
}

.dash-vault-counter:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(201,169,110,0.2) !important;
}

.dash-vault-num {
  font-size: 18px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
  color: #c9a96e !important;
  margin-bottom: 2px !important;
}

.dash-vault-lbl {
  font-size: 8px !important;
  letter-spacing: 1.5px !important;
  color: #5a5a64 !important;
}

/* Vault bar (horizontal) */
.dash-vault-bar {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
  backdrop-filter: none !important;
}

.dash-vault-bar::before {
  display: none !important;
}

.dash-vault-stat {
  padding: 0 16px !important;
}

.dash-vault-stat:not(:last-child)::after {
  background: #1a1a22 !important;
  height: 20px !important;
}

.dash-vault-stat .vault-num {
  font-size: 18px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
  color: #c9a96e !important;
}

.dash-vault-stat .vault-lbl {
  font-size: 8px !important;
  color: #5a5a64 !important;
  margin-top: 2px !important;
}

/* ── Signal card ── */
.dash-signal-card {
  max-width: 100% !important;
  padding: 0 16px !important;
  margin-top: 12px !important;
}

.dash-signal-inner {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
  backdrop-filter: none !important;
}

.dash-signal-inner::before {
  width: 2px !important;
  background: #c9a96e !important;
}

.dash-signal-label {
  font-size: 9px !important;
  letter-spacing: 2px !important;
  margin-bottom: 8px !important;
}

.dash-signal-item {
  padding: 4px 0 !important;
  border-bottom: 1px solid #1a1a22 !important;
}

.dash-signal-pill {
  font-size: 8px !important;
  padding: 1px 6px !important;
  border-radius: 1px !important;
}

.dash-signal-text {
  font-size: 12px !important;
  color: #8b8b94 !important;
  line-height: 1.4 !important;
}

/* ── Learning card ── */
.dash-learning-card {
  max-width: 100% !important;
  padding: 0 16px !important;
  margin-top: 8px !important;
}

.dash-learning-inner {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
  backdrop-filter: none !important;
}

.dash-learning-label {
  font-size: 9px !important;
  letter-spacing: 2px !important;
  margin-bottom: 6px !important;
}

.dash-learning-stats {
  gap: 20px !important;
}

.dash-learning-stat .learn-num {
  font-size: 16px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #c9a96e !important;
}

.dash-learning-stat .learn-lbl {
  font-size: 8px !important;
  margin-top: 1px !important;
  color: #5a5a64 !important;
}

/* ── Previous runs ── */
.dash-prev-runs {
  max-width: 100% !important;
  padding: 0 16px !important;
  margin-top: 12px !important;
}

.dash-run-grid {
  gap: 1px !important;
}

.dash-run-card {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 10px 14px !important;
  gap: 12px !important;
  backdrop-filter: none !important;
  transition: border-color 0.15s ease !important;
}

.dash-run-card::before {
  display: none !important;
}

.dash-run-card:hover {
  border-color: rgba(201,169,110,0.2) !important;
  transform: none !important;
  box-shadow: none !important;
  background: #111116 !important;
  border-left: 2px solid #c9a96e !important;
}

.dash-run-brand {
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  color: #d4d4d8 !important;
}

.dash-run-meta {
  font-size: 10px !important;
  color: #5a5a64 !important;
  font-family: 'JetBrains Mono', monospace !important;
}

.dash-run-breakdown {
  height: 2px !important;
  margin-top: 4px !important;
  border-radius: 0 !important;
  background: #1a1a22 !important;
}

.dash-run-stat .val {
  font-size: 14px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
}

.dash-run-stat .lbl {
  font-size: 8px !important;
  letter-spacing: 1px !important;
}

/* Chain tags */
.dash-chain-tag {
  font-size: 8px !important;
  padding: 1px 5px !important;
  border-radius: 1px !important;
}

/* Empty state */
.dash-empty-weapon {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 32px 24px !important;
  animation: none !important;
  backdrop-filter: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §6. RUN VIEW — Intelligence operation in progress
   ══════════════════════════════════════════════════════════════════════════ */

/* Noir header — flat dark */
.rv-noir {
  background: #0A0A0F !important;
  width: 100% !important;
  margin-left: 0 !important;
}

.rv-noir-inner {
  padding: 12px 16px !important;
  max-width: 100% !important;
}

.rv-title {
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #d4d4d8 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 2px !important;
}

.rv-subtitle {
  font-size: 11px !important;
  color: #5a5a64 !important;
}

/* Phase pills — terminal status indicators */
.phase-bar {
  gap: 2px !important;
}

.phase-pill {
  font-size: 9px !important;
  padding: 3px 8px !important;
  border-radius: 1px !important;
  letter-spacing: 1px !important;
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  color: #5a5a64 !important;
}

.phase-pill.active {
  border-color: #c9a96e !important;
  color: #c9a96e !important;
  background: rgba(201,169,110,0.06) !important;
}

.phase-pill.complete {
  border-color: #22c55e !important;
  color: #22c55e !important;
  background: rgba(34,197,94,0.06) !important;
}

/* Stats bar — dense grid */
.stats-bar, .stats-bar-secondary {
  gap: 1px !important;
}

.stat-box {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 6px 8px !important;
}

.stat-box .value {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.stat-box .label {
  font-size: 8px !important;
  letter-spacing: 1px !important;
  color: #5a5a64 !important;
}

/* Progress bar */
.search-progress-track {
  background: #1a1a22 !important;
  border-radius: 0 !important;
  height: 2px !important;
}

.search-progress-fill {
  border-radius: 0 !important;
  background: #c9a96e !important;
}

.search-progress-label {
  font-size: 9px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #5a5a64 !important;
}

/* Command center */
.command-center {
  padding: 8px 0 !important;
}

/* Back button */
.btn-back {
  padding: 4px 10px !important;
  border-radius: 2px !important;
  font-size: 11px !important;
  background: transparent !important;
  border: 1px solid #1a1a22 !important;
  color: #5a5a64 !important;
  backdrop-filter: none !important;
}

.btn-back:hover {
  border-color: rgba(201,169,110,0.2) !important;
  color: #c9a96e !important;
  background: rgba(201,169,110,0.04) !important;
  box-shadow: none !important;
}

/* ── RV content area ── */
.rv-content {
  background: #0A0A0F !important;
  padding: 0 16px !important;
}

/* Thread grid */
.thread-grid {
  gap: 2px !important;
  margin-top: 4px !important;
  max-height: 60px !important;
}

.thread-card {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 1px !important;
  padding: 3px 8px !important;
  font-size: 10px !important;
}

.thread-card.active {
  border-color: rgba(201,169,110,0.3) !important;
  background: rgba(201,169,110,0.04) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §7. BRAIN MAP / INTELLIGENCE GRAPH — Military targeting system
   ══════════════════════════════════════════════════════════════════════════ */

.spider-canvas-wrap,
#brainWrap {
  background: radial-gradient(ellipse at 30% 40%, #0d0e14 0%, #08080d 50%, #060609 100%) !important;
  border: 1px solid rgba(201,169,110,0.12) !important;
  border-radius: 2px !important;
  position: relative !important;
}

/* Grid overlay — coordinate system feel */
.brain-grid {
  opacity: 1 !important;
}

.brain-grid::before {
  background: none !important;
}

.brain-grid::after {
  display: block !important;
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(201,169,110,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,169,110,0.06) 1px, transparent 1px) !important;
  background-size: 40px 40px !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* Brain node connections — STRAIGHT LINES */
.brain-link {
  stroke-dasharray: none !important;
  opacity: 1 !important;
}

.brain-link-flow {
  stroke-dasharray: 4 2 !important;
}

/* Node labels — terminal style */
.spider-label {
  font-size: 9px !important;
  color: rgba(201,169,110,0.4) !important;
  letter-spacing: 2px !important;
  font-weight: 500 !important;
}

.spider-label::before {
  width: 4px !important;
  height: 4px !important;
  background: #c9a96e !important;
  border-radius: 50% !important;
}

/* Tier labels */
.brain-tier-label {
  font-size: 7px !important;
  color: rgba(201,169,110,0.35) !important;
  letter-spacing: 2px !important;
  border-left: 1px solid rgba(201,169,110,0.06) !important;
}

/* HUD readout */
.brain-hud-readout {
  font-size: 9px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: rgba(201,169,110,0.4) !important;
  background: rgba(8,8,13,0.9) !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 4px 8px !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.brain-hud-readout .hud-val {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: #c9a96e !important;
}

/* Spider stats */
.spider-stats {
  font-size: 9px !important;
  font-family: 'JetBrains Mono', monospace !important;
  background: rgba(8,8,13,0.9) !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 4px 8px !important;
  backdrop-filter: none !important;
}

/* Tooltip */
.brain-tooltip {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 10px 14px !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.6), 0 0 1px rgba(201,169,110,0.2) !important;
}

.brain-tooltip::before {
  height: 1px !important;
  background: #c9a96e !important;
  border-radius: 0 !important;
}

.brain-tooltip .tt-type {
  font-size: 8px !important;
  color: #c9a96e !important;
  letter-spacing: 2px !important;
  margin-bottom: 4px !important;
}

.brain-tooltip .tt-label {
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
}

.brain-tooltip .tt-detail {
  font-size: 11px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #8b8b94 !important;
}

.brain-tooltip .tt-meta {
  font-size: 9px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #5a5a64 !important;
  border-top: 1px solid #1a1a22 !important;
  margin-top: 6px !important;
  padding-top: 6px !important;
}

/* Legend */
.brain-legend-wrap {
  width: 180px !important;
}

.brain-legend-toggle {
  font-size: 9px !important;
  background: rgba(8,8,13,0.95) !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 4px 10px !important;
  backdrop-filter: none !important;
}

.brain-legend {
  background: rgba(8,8,13,0.95) !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  backdrop-filter: none !important;
}

.brain-legend-stats {
  font-size: 8px !important;
  padding: 4px 0 6px !important;
  border-bottom: 1px solid #1a1a22 !important;
}

.brain-legend-item {
  font-size: 9px !important;
  padding: 2px 0 !important;
}

.brain-legend-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  box-shadow: 0 0 3px currentColor !important;
}

/* Brain expand, log, channels buttons */
.brain-expand-btn,
.brain-logfeed-toggle,
.brain-channels-btn {
  font-size: 8px !important;
  letter-spacing: 1.5px !important;
  padding: 3px 8px !important;
  background: rgba(8,8,13,0.9) !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  color: #5a5a64 !important;
  backdrop-filter: none !important;
}

.brain-parent-badge {
  font-size: 10px !important;
  border-radius: 2px !important;
}

/* Log feed inside brain */
.brain-logfeed {
  background: rgba(8,8,13,0.97) !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  backdrop-filter: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §8. THINKING STREAM — Terminal log
   ══════════════════════════════════════════════════════════════════════════ */
.thinking-stream {
  background: #08080d !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  max-height: 240px !important;
  box-shadow: none !important;
}

.thinking-stream-header {
  font-size: 9px !important;
  letter-spacing: 2px !important;
  color: rgba(201,169,110,0.5) !important;
  border-bottom: 1px solid #1a1a22 !important;
  padding-bottom: 4px !important;
  margin-bottom: 4px !important;
}

.ts-line {
  font-size: 11px !important;
  line-height: 1.5 !important;
  padding: 1px 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §9. FORENSIC LEDGER / TABLES — The MAIN UI pattern
   ══════════════════════════════════════════════════════════════════════════ */

.forensic-ledger {
  margin-top: 12px !important;
}

/* Intelligence ledger top bar */
.il-top {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 12px 16px 10px !important;
  margin-bottom: 1px !important;
}

.il-title {
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.il-count {
  font-size: 12px !important;
  font-family: 'JetBrains Mono', monospace !important;
  background: rgba(201,169,110,0.06) !important;
  border-radius: 2px !important;
  padding: 2px 6px !important;
}

/* Actions */
.il-act-btn {
  padding: 4px 10px !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  letter-spacing: 0.5px !important;
  border-width: 1px !important;
}

/* Search */
.il-search-wrap {
  min-width: 200px !important;
}

.il-search {
  padding: 6px 12px 6px 34px !important;
  font-size: 12px !important;
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
}

.il-search:focus {
  border-color: rgba(201,169,110,0.3) !important;
  box-shadow: none !important;
  background: #0e0e13 !important;
}

.il-search-icon {
  font-size: 14px !important;
  left: 10px !important;
  color: #3a3a44 !important;
}

/* View tabs */
.il-view-group {
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  background: #0A0A0F !important;
}

.il-view {
  padding: 6px 14px !important;
  font-size: 10px !important;
  color: #5a5a64 !important;
}

.il-view:hover {
  color: #8b8b94 !important;
  background: rgba(255,255,255,0.02) !important;
}

.il-view.active {
  background: rgba(201,169,110,0.06) !important;
  color: #c9a96e !important;
  box-shadow: inset 0 -1px 0 #c9a96e !important;
}

/* Filter pills */
.filter-pill {
  padding: 3px 10px !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  border: 1px solid #1a1a22 !important;
  color: #5a5a64 !important;
}

.filter-pill:hover {
  border-color: rgba(201,169,110,0.2) !important;
  color: #8b8b94 !important;
  background: rgba(201,169,110,0.03) !important;
}

.filter-pill.active {
  border-color: rgba(201,169,110,0.4) !important;
  color: #c9a96e !important;
  background: rgba(201,169,110,0.06) !important;
  box-shadow: none !important;
}

/* Bulk actions */
.il-bulk-btn {
  padding: 3px 8px !important;
  border-radius: 2px !important;
  font-size: 9px !important;
  border: 1px solid #1a1a22 !important;
  color: #5a5a64 !important;
}

/* ── THE TABLE — Bloomberg-style data grid ── */
.il-table-wrap {
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  background: #0A0A0F !important;
  max-height: 80vh !important;
}

.il-table {
  font-size: 12px !important;
  border-spacing: 0 !important;
}

.il-table thead th {
  background: #0e0e13 !important;
  color: #c9a96e !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid #1a1a22 !important;
  font-family: 'Inter', sans-serif !important;
  backdrop-filter: none !important;
}

.il-table thead th:hover {
  background: #111116 !important;
}

.il-table tbody tr {
  border-bottom: 1px solid rgba(26,26,34,0.5) !important;
  transition: background 0.1s ease !important;
}

/* Alternating row shading */
.il-table tbody tr:nth-child(odd) {
  background: #0A0A0F !important;
}

.il-table tbody tr:nth-child(even) {
  background: #0e0e13 !important;
}

.il-table tbody tr:hover {
  background: #111116 !important;
}

.il-table tbody td {
  padding: 6px 12px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: #8b8b94 !important;
  vertical-align: middle !important;
  border-bottom: 1px solid rgba(26,26,34,0.3) !important;
}

/* Name column — slightly brighter */
.il-table tbody td:first-child {
  color: #d4d4d8 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
}

/* Contacts count */
.contacts-count {
  font-size: 11px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #5a5a64 !important;
  padding: 4px 0 !important;
}

/* ── Standalone tables (contacts, companies, etc) ── */
.sa-table-wrap {
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  background: #0A0A0F !important;
}

.sa-table {
  font-size: 12px !important;
}

.sa-table thead th {
  background: #0e0e13 !important;
  color: #c9a96e !important;
  font-size: 9px !important;
  letter-spacing: 1.5px !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid #1a1a22 !important;
}

.sa-table tbody tr:nth-child(odd) {
  background: #0A0A0F !important;
}

.sa-table tbody tr:nth-child(even) {
  background: #0e0e13 !important;
}

.sa-table tbody tr:hover {
  background: #111116 !important;
}

.sa-table tbody td {
  padding: 6px 12px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: #8b8b94 !important;
}

.sa-sort-arrow {
  font-size: 8px !important;
  color: #3a3a44 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §10. STANDALONE VIEW — Hero pages (Dossier, Network, Companies, etc)
   ══════════════════════════════════════════════════════════════════════════ */

.sa-hero {
  background: #0A0A0F !important;
  padding: 20px 0 12px !important;
  margin-left: 0 !important;
  width: 100% !important;
}

.sa-hero::before {
  display: none !important;
}

.sa-hero-inner {
  padding: 0 16px !important;
  max-width: 100% !important;
}

.sa-hero-label {
  font-size: 9px !important;
  letter-spacing: 3px !important;
  opacity: 0.5 !important;
  margin-bottom: 4px !important;
}

.sa-hero-title {
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #d4d4d8 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 4px !important;
}

.sa-hero-subtitle {
  font-size: 12px !important;
  color: #5a5a64 !important;
  letter-spacing: 0 !important;
}

.sa-content {
  max-width: 100% !important;
  padding: 0 16px 24px !important;
}

/* Stat grid — dense */
.sa-stat-grid {
  gap: 1px !important;
  margin-bottom: 16px !important;
}

.sa-stat {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 10px 8px 8px !important;
  transition: border-color 0.15s ease !important;
}

.sa-stat::after {
  display: none !important;
}

.sa-stat:hover {
  border-color: rgba(201,169,110,0.2) !important;
  background: #111116 !important;
}

.sa-stat-num {
  font-size: 18px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
  color: #d4d4d8 !important;
  margin-bottom: 2px !important;
}

.sa-stat-lbl {
  font-size: 8px !important;
  letter-spacing: 1.5px !important;
  color: #5a5a64 !important;
}

/* Section label */
.sa-section-label {
  font-size: 9px !important;
  letter-spacing: 2px !important;
  margin: 0 0 8px !important;
}

.sa-section-label::after {
  background: linear-gradient(90deg, #1a1a22, transparent) !important;
}

/* Cards */
.sa-card {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 12px 14px !important;
  margin-bottom: 1px !important;
  transition: border-color 0.15s ease !important;
}

.sa-card:hover {
  border-color: rgba(201,169,110,0.15) !important;
  background: #111116 !important;
  border-left: 2px solid #c9a96e !important;
}

.sa-card.sa-expanded {
  border-color: rgba(201,169,110,0.2) !important;
  background: #111116 !important;
}

.sa-card-grid {
  gap: 1px !important;
  margin-bottom: 12px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §11. CHANNEL PROFILES — Dense data cards
   ══════════════════════════════════════════════════════════════════════════ */

.cp-region-tag {
  font-size: 9px !important;
  padding: 2px 6px !important;
  background: rgba(201,169,110,0.03) !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
}

.cp-spec {
  font-size: 11px !important;
  padding: 6px 10px !important;
  border-radius: 2px !important;
  border-left: 2px solid rgba(201,169,110,0.15) !important;
  background: rgba(201,169,110,0.02) !important;
}

.cp-contacts-heading {
  font-size: 9px !important;
  letter-spacing: 2px !important;
}

.cp-contact-card {
  padding: 8px 12px !important;
  border-radius: 2px !important;
  background: rgba(201,169,110,0.02) !important;
  border: 1px solid #1a1a22 !important;
}

.cp-contact-card:hover {
  background: rgba(201,169,110,0.04) !important;
  border-color: rgba(201,169,110,0.12) !important;
}

.cp-contact-name-link {
  font-size: 12px !important;
  font-weight: 500 !important;
}

.cp-contact-title-link {
  font-size: 11px !important;
}

.cp-diamond-badge {
  font-size: 9px !important;
  padding: 1px 5px !important;
  border-radius: 2px !important;
}

.cp-source-tag {
  font-size: 8px !important;
  padding: 1px 4px !important;
  border-radius: 1px !important;
}

.cp-contact-method {
  font-size: 10px !important;
  padding: 2px 6px !important;
  border-radius: 2px !important;
  font-family: 'JetBrains Mono', monospace !important;
  background: rgba(201,169,110,0.02) !important;
  border: 1px solid #1a1a22 !important;
}

.cp-contact-method:hover {
  background: rgba(201,169,110,0.05) !important;
  border-color: rgba(201,169,110,0.15) !important;
}

.channel-empty {
  padding: 24px !important;
  font-size: 12px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §12. SETTINGS VIEW
   ══════════════════════════════════════════════════════════════════════════ */

.settings-hero {
  background: #0A0A0F !important;
  padding: 20px 0 12px !important;
  margin-left: 0 !important;
  width: 100% !important;
}

.settings-hero::before {
  display: none !important;
}

.settings-hero-inner {
  padding: 0 16px !important;
  max-width: 100% !important;
}

.settings-hero-label {
  font-size: 9px !important;
  letter-spacing: 3px !important;
  opacity: 0.5 !important;
}

.settings-hero-title {
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #d4d4d8 !important;
  margin-bottom: 4px !important;
}

.settings-hero-subtitle {
  font-size: 12px !important;
  color: #5a5a64 !important;
}

.settings-container {
  max-width: 600px !important;
  padding: 0 16px 24px !important;
}

.settings-section {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 14px 16px !important;
  margin-bottom: 1px !important;
}

.settings-section:hover {
  box-shadow: none !important;
}

.settings-section h3 {
  font-size: 9px !important;
  letter-spacing: 2px !important;
  margin-bottom: 12px !important;
}

.settings-field label {
  font-size: 9px !important;
  letter-spacing: 1px !important;
  margin-bottom: 4px !important;
  color: #5a5a64 !important;
}

.settings-input {
  padding: 8px 12px !important;
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  font-size: 12px !important;
}

input.settings-input[type="password"],
input.settings-input[type="text"] {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
}

.settings-input:focus {
  border-color: rgba(201,169,110,0.3) !important;
  box-shadow: none !important;
  background: #0e0e13 !important;
}

.settings-btn-small {
  padding: 6px 10px !important;
  background: transparent !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  font-size: 10px !important;
}

.settings-btn-small:hover {
  border-color: rgba(201,169,110,0.2) !important;
  color: #c9a96e !important;
  box-shadow: none !important;
}

.settings-stats {
  gap: 1px !important;
}

.settings-stat {
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 10px 12px !important;
}

.settings-stat::after {
  display: none !important;
}

.settings-stat .stat-value {
  font-size: 18px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
}

.settings-btn-primary {
  padding: 8px !important;
  background: #c9a96e !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  letter-spacing: 1.5px !important;
}

.settings-btn-primary:hover {
  opacity: 0.9 !important;
  box-shadow: none !important;
}

.settings-btn-secondary {
  padding: 8px !important;
  background: transparent !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  font-size: 10px !important;
}

.settings-btn-secondary:hover {
  border-color: rgba(201,169,110,0.2) !important;
  color: #c9a96e !important;
  box-shadow: none !important;
}

.settings-error-log {
  background: #08080d !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  font-size: 10px !important;
  color: #5a5a64 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §13. CONFIG OVERLAY / EXISTING LOGIN
   ══════════════════════════════════════════════════════════════════════════ */

.config-overlay {
  background: rgba(0,0,0,0.95) !important;
  backdrop-filter: none !important;
}

.config-box {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 24px 20px !important;
}

.config-box h2 {
  font-size: 16px !important;
  letter-spacing: 2px !important;
}

.config-box input,
.config-box select {
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
}

.config-box input:focus,
.config-box select:focus {
  border-color: rgba(201,169,110,0.3) !important;
  box-shadow: none !important;
}

.btn-primary {
  border-radius: 2px !important;
  font-size: 11px !important;
  padding: 10px !important;
}

/* Login page overrides */
.login-bg {
  background: #0A0A0F !important;
}

.login-grid {
  background-image:
    linear-gradient(rgba(201,169,110,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,169,110,0.03) 1px, transparent 1px) !important;
  background-size: 40px 40px !important;
  opacity: 1 !important;
}

.login-particles::before,
.login-particles::after {
  display: none !important;
}

.login-card {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 24px 20px !important;
  width: 400px !important;
}

.login-logo {
  width: 40px !important;
  height: 40px !important;
  border-radius: 2px !important;
  background: #c9a96e !important;
  font-size: 16px !important;
  box-shadow: none !important;
  animation: none !important;
}

.login-title {
  font-size: 22px !important;
  letter-spacing: 8px !important;
  color: #c9a96e !important;
  margin-bottom: 2px !important;
}

.login-subtitle {
  font-size: 10px !important;
  letter-spacing: 2px !important;
  color: #5a5a64 !important;
}

.login-social-btn {
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 8px 14px !important;
  font-size: 11px !important;
}

.login-social-btn:hover {
  border-color: #2a2a34 !important;
  background: #111116 !important;
  box-shadow: none !important;
}

.login-social-grid {
  gap: 1px !important;
}

.login-social-grid .login-social-btn {
  padding: 6px 10px !important;
  font-size: 10px !important;
}

.login-divider {
  color: #3a3a44 !important;
  font-size: 9px !important;
  margin: 12px 0 !important;
  letter-spacing: 1.5px !important;
}

.login-divider::before,
.login-divider::after {
  background: #1a1a22 !important;
}

.login-label {
  font-size: 9px !important;
  letter-spacing: 1.5px !important;
  color: #5a5a64 !important;
  margin-bottom: 4px !important;
}

.login-input {
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  margin-bottom: 8px !important;
}

.login-input:focus {
  border-color: rgba(201,169,110,0.3) !important;
  box-shadow: none !important;
}

.login-remember {
  font-size: 10px !important;
  margin: -4px 0 8px !important;
}

.login-models-row {
  gap: 8px !important;
  margin-bottom: 4px !important;
}

.login-connect-btn {
  padding: 10px !important;
  background: #c9a96e !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
}

.login-connect-btn:hover {
  opacity: 0.9 !important;
  box-shadow: none !important;
}

.login-footer {
  font-size: 9px !important;
  color: #3a3a44 !important;
  margin-top: 12px !important;
}

/* Toast */
.cntct-toast {
  background: #0e0e13 !important;
  border: 1px solid #c9a96e !important;
  border-radius: 2px !important;
  font-size: 11px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
}

/* Config error */
.config-error {
  border-radius: 2px !important;
  font-size: 11px !important;
  padding: 6px 10px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §14. GEO MAP
   ══════════════════════════════════════════════════════════════════════════ */

.geo-section {
  border-radius: 2px !important;
}

.geo-header {
  padding: 12px 16px !important;
}

.geo-header-title {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.geo-header-sub {
  font-size: 11px !important;
  color: #5a5a64 !important;
}

.geo-map-wrap {
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  background: #08080d !important;
}

.geo-zoom-btn {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  color: #5a5a64 !important;
}

.geo-tooltip {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §15. DISTRIBUTION ARCHITECTURE (Pathway)
   ══════════════════════════════════════════════════════════════════════════ */

.dist-arch-wrap {
  background: #08080d !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
}

.dist-arch-title {
  font-size: 9px !important;
  letter-spacing: 2px !important;
}

.da-search-input {
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  font-size: 12px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §16. CONTEXT MENU
   ══════════════════════════════════════════════════════════════════════════ */

.spider-ctx {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
}

.sctx-header {
  border-bottom: 1px solid #1a1a22 !important;
}

.sctx-company-name {
  font-size: 13px !important;
  font-weight: 500 !important;
}

.sctx-search {
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  font-size: 11px !important;
}

.sctx-item {
  font-size: 11px !important;
  border-radius: 2px !important;
}

.sctx-sep {
  background: #1a1a22 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §17. LATERAL & DOCS PANELS
   ══════════════════════════════════════════════════════════════════════════ */

.lateral-panel {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  padding: 10px 14px !important;
  margin-bottom: 8px !important;
}

.lateral-panel h4 {
  font-size: 9px !important;
  letter-spacing: 2px !important;
  margin-bottom: 8px !important;
}

.lateral-brand {
  padding: 3px 8px !important;
  border-radius: 2px !important;
  font-size: 11px !important;
  margin: 2px !important;
}

.docs-panel {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §18. LUXURY DIVIDER — minimal
   ══════════════════════════════════════════════════════════════════════════ */

.luxury-divider {
  height: 1px !important;
  background: #1a1a22 !important;
  margin: 12px 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §19. STATUS INDICATORS — 4px dots only
   ══════════════════════════════════════════════════════════════════════════ */

/* Override any badge-style status indicators to dots */
.dash-signal-pill.personnel,
.dash-signal-pill.cross-brand,
.dash-signal-pill.channels,
.dash-signal-pill.confidence {
  border-radius: 1px !important;
  font-size: 7px !important;
  padding: 1px 5px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   §20. LOGIN GATE — New authentication overlay
   ══════════════════════════════════════════════════════════════════════════ */

#cntctLoginGate {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: #0A0A0F;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

#cntctLoginGate .login-gate-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(201,169,110,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,169,110,0.025) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}

#cntctLoginGate .login-gate-content {
  position: relative;
  z-index: 1;
  text-align: center;
  width: 360px;
  max-width: 90vw;
}

#cntctLoginGate .login-gate-brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 36px;
  font-weight: 300;
  letter-spacing: 12px;
  color: #c9a96e;
  margin-bottom: 4px;
}

#cntctLoginGate .login-gate-sub {
  font-family: 'Inter', sans-serif;
  font-size: 9px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #3a3a44;
  margin-bottom: 40px;
}

#cntctLoginGate .login-gate-divider {
  width: 40px;
  height: 1px;
  background: rgba(201,169,110,0.2);
  margin: 0 auto 32px;
}

/* Email waitlist form */
#cntctLoginGate .login-gate-email-form {
  margin-bottom: 24px;
}

#cntctLoginGate .login-gate-input {
  width: 100%;
  padding: 10px 14px;
  background: #0e0e13;
  border: 1px solid #1a1a22;
  border-radius: 2px;
  color: #d4d4d8;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  outline: none;
  margin-bottom: 8px;
  transition: border-color 0.15s ease;
  box-sizing: border-box;
}

#cntctLoginGate .login-gate-input:focus {
  border-color: rgba(201,169,110,0.3);
}

#cntctLoginGate .login-gate-input::placeholder {
  color: #3a3a44;
}

#cntctLoginGate .login-gate-btn {
  width: 100%;
  padding: 10px;
  background: #c9a96e;
  border: none;
  border-radius: 2px;
  color: #0A0A0F;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

#cntctLoginGate .login-gate-btn:hover {
  opacity: 0.9;
}

#cntctLoginGate .login-gate-success {
  display: none;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #22c55e;
  margin-top: 8px;
}

/* API key bypass */
#cntctLoginGate .login-gate-or {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
  color: #3a3a44;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-family: 'Inter', sans-serif;
}

#cntctLoginGate .login-gate-or::before,
#cntctLoginGate .login-gate-or::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #1a1a22;
}

#cntctLoginGate .login-gate-bypass-toggle {
  background: none;
  border: 1px solid #1a1a22;
  border-radius: 2px;
  padding: 6px 14px;
  color: #5a5a64;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  cursor: pointer;
  transition: all 0.15s ease;
  width: 100%;
}

#cntctLoginGate .login-gate-bypass-toggle:hover {
  border-color: rgba(201,169,110,0.2);
  color: #c9a96e;
}

#cntctLoginGate .login-gate-key-form {
  display: none;
  margin-top: 12px;
}

#cntctLoginGate .login-gate-key-form.visible {
  display: block;
}

#cntctLoginGate .login-gate-key-label {
  font-family: 'Inter', sans-serif;
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #5a5a64;
  display: block;
  text-align: left;
  margin-bottom: 4px;
}

#cntctLoginGate .login-gate-enter-btn {
  width: 100%;
  padding: 10px;
  background: transparent;
  border: 1px solid rgba(201,169,110,0.3);
  border-radius: 2px;
  color: #c9a96e;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.15s ease;
}

#cntctLoginGate .login-gate-enter-btn:hover {
  background: rgba(201,169,110,0.06);
}

#cntctLoginGate .login-gate-footer {
  margin-top: 32px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  color: #2a2a34;
  letter-spacing: 0.5px;
}

/* ══════════════════════════════════════════════════════════════════════════
   §21. RESPONSIVE — Mobile-first adjustments
   ══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .app {
    padding: 36px 8px 0 !important;
  }

  .nav-container {
    padding: 0 8px !important;
    height: 36px !important;
  }

  .nav-brand {
    margin-right: 8px !important;
  }

  .nav-brand-mark {
    font-size: 11px !important;
    letter-spacing: 4px !important;
  }

  .nav-items {
    position: absolute !important;
    top: 36px !important;
    left: 0 !important;
    right: 0 !important;
    height: auto !important;
    background: #0A0A0F !important;
    border-bottom: 1px solid #1a1a22 !important;
    padding: 8px !important;
    flex-direction: column !important;
    display: none !important;
    z-index: 100 !important;
  }

  .nav-items.open {
    display: flex !important;
  }

  .nav-item {
    height: auto !important;
    padding: 6px 8px !important;
    font-size: 10px !important;
    border-bottom: none !important;
  }

  .nav-item.active {
    border-bottom: none !important;
    color: #c9a96e !important;
  }

  .nav-hamburger {
    display: flex !important;
  }

  .nav-hamburger span {
    background: #5a5a64 !important;
  }

  /* Dashboard mobile */
  .dash-hero {
    padding: 12px 8px 8px !important;
  }

  .dash-hero h2 {
    font-size: 20px !important;
  }

  .dash-search-wrap,
  .dash-vault-section,
  .dash-actions-row,
  .dash-prev-runs,
  .dash-signal-card,
  .dash-learning-card {
    padding: 0 8px !important;
  }

  .dash-vault-counters {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .dash-run-card {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding: 8px 10px !important;
  }

  .dash-run-brand {
    font-size: 13px !important;
  }

  /* SA pages mobile */
  .sa-hero {
    padding: 12px 0 8px !important;
  }

  .sa-hero-inner {
    padding: 0 8px !important;
  }

  .sa-hero-title {
    font-size: 20px !important;
  }

  .sa-content {
    padding: 0 8px 16px !important;
  }

  .sa-stat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .sa-stat-num {
    font-size: 14px !important;
  }

  .sa-card-grid {
    grid-template-columns: 1fr !important;
  }

  /* Settings mobile */
  .settings-hero {
    padding: 12px 0 8px !important;
  }

  .settings-hero-inner {
    padding: 0 8px !important;
  }

  .settings-hero-title {
    font-size: 20px !important;
  }

  .settings-container {
    padding: 0 8px 16px !important;
  }

  /* Table mobile */
  .il-table {
    font-size: 10px !important;
  }

  .il-table thead th {
    padding: 6px 8px !important;
    font-size: 8px !important;
  }

  .il-table tbody td {
    padding: 4px 8px !important;
    font-size: 10px !important;
  }

  /* Run view mobile */
  .rv-noir-inner {
    padding: 8px !important;
  }

  .rv-title {
    font-size: 18px !important;
  }

  .rv-content {
    padding: 0 8px !important;
  }

  /* Login gate mobile */
  #cntctLoginGate .login-gate-brand {
    font-size: 28px;
    letter-spacing: 8px;
  }

  #cntctLoginGate .login-gate-content {
    width: 300px;
  }
}

@media (max-width: 480px) {
  .dash-hero h2 {
    font-size: 18px !important;
  }

  .dash-vault-counters {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .dash-vault-num {
    font-size: 14px !important;
  }

  .sa-hero-title {
    font-size: 18px !important;
  }

  .dash-actions-row {
    flex-wrap: wrap !important;
  }

  .dash-action-btn {
    flex: 0 0 calc(50% - 2px) !important;
    font-size: 8px !important;
  }

  #cntctLoginGate .login-gate-brand {
    font-size: 24px;
    letter-spacing: 6px;
  }

  #cntctLoginGate .login-gate-content {
    width: 280px;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   §22. WIDE SCREENS — maximize data density
   ══════════════════════════════════════════════════════════════════════════ */

@media (min-width: 1440px) {
  .app {
    padding: 36px 24px 0 !important;
  }

  .sa-stat-grid {
    grid-template-columns: repeat(6, 1fr) !important;
  }

  .dash-vault-counters {
    grid-template-columns: repeat(6, 1fr) !important;
  }

  .il-table tbody td {
    padding: 5px 14px !important;
  }
}

@media (min-width: 1920px) {
  .app {
    padding: 36px 32px 0 !important;
  }

  .sa-stat-grid {
    grid-template-columns: repeat(8, 1fr) !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   §23. PRINT — clean data export
   ══════════════════════════════════════════════════════════════════════════ */

@media print {
  .top-nav,
  .dash-bg,
  .btn-back,
  .brain-expand-btn,
  .brain-logfeed-toggle,
  .brain-channels-btn,
  .il-act-btn,
  .dash-actions-row,
  #cntctLoginGate {
    display: none !important;
  }

  body {
    background: white !important;
    color: #111 !important;
  }

  .il-table thead th {
    background: #f0f0f0 !important;
    color: #333 !important;
    border-bottom: 2px solid #333 !important;
  }

  .il-table tbody td {
    color: #111 !important;
    border-bottom: 1px solid #ddd !important;
  }
}

/* ══ Run Log Viewer — Terminal Styling ══ */
#runLogOverlay {
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}
#runLogOverlay > div {
  background: #0A0A0F !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  box-shadow: 0 16px 64px rgba(0,0,0,0.8) !important;
}
.run-log-tab, [style*="border-radius:6px"][style*="cursor:pointer"] {
  border-radius: 2px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}
#runLogContent {
  background: #08080d !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
}
#runLogSelect {
  background: #0e0e13 !important;
  border: 1px solid #1a1a22 !important;
  border-radius: 2px !important;
  color: #d4d4d8 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
}
