/* ============================================================
   PULSAR · Design System v3 — SÓBRIO
   Camada de override corporativa: tokens AG sóbrios + Inter única
   + neutralizador de efeitos "gamer". Carregar SEMPRE por último.
   Temporário: será cristalizado na origem após validação do equilíbrio.
   Base: Design System "Pulsar Finance" (roxo #401c7f só em acento).
   ============================================================ */

/* 1 ── TOKENS · tema escuro (padrão) ───────────────────────── */
:root,
:root[data-theme="dark"] {
  --bg: #0E0E16 !important;
  --noite: #141428 !important;
  --surface: #141428 !important;
  --surface-2: #1D1B2E !important;
  --surface-3: #2D2A42 !important;
  --border: rgba(255, 255, 255, .08) !important;
  --border-strong: rgba(255, 255, 255, .14) !important;
  --fg: #FFFFFF !important;
  --fg-muted: #9187B6 !important;
  --fg-soft: rgba(255, 255, 255, .70) !important;

  --pulsar-primary: #401C7F !important;
  --pulsar-primary-2: #5A3A9E !important;
  --pulsar-secondary: #9187B6 !important;
  --pulsar-accent: #7FB89C !important;
  --state-good: #7FB89C !important;
  --state-info: #9187B6 !important;
  --state-danger: #E1746B !important;
  --state-warn: #C9A227 !important;   /* dourado AG sóbrio */

  /* tints recalculados para o roxo sóbrio */
  --tint-primary-08: rgba(64, 28, 127, .10) !important;
  --tint-primary-15: rgba(64, 28, 127, .18) !important;
  --tint-secondary-15: rgba(145, 135, 182, .16) !important;
  --tint-accent-15: rgba(127, 184, 156, .16) !important;
  --tint-warn-15: rgba(201, 162, 39, .16) !important;
  --tint-danger-15: rgba(225, 116, 107, .16) !important;

  /* canais RGB (pulsar-padrao usa rgb(var(--c-x) / op)) */
  --c-primary: 64 28 127 !important;
  --c-secondary: 145 135 182 !important;
  --c-accent: 127 184 156 !important;
  --c-danger: 225 116 107 !important;
  --c-warn: 201 162 39 !important;
  --c-info: 145 135 182 !important;

  /* gradientes de marca → chapado (sem degradê de "fintech") */
  --grad-pulse: #401C7F !important;
  --grad-pulse-h: #401C7F !important;
  --grad-ai-card: var(--surface-2) !important;

  /* fonte única Inter */
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif !important;
  --font-titulo: 'Inter', system-ui, -apple-system, sans-serif !important;
  --font-apoio: 'Inter', system-ui, -apple-system, sans-serif !important;

  /* sombras de marca → neutras */
  --shadow-brand-glow: none !important;
  --shadow-icon: none !important;
}

/* 1b ── TOKENS · tema claro (alternativa sóbria) ───────────── */
:root[data-theme="light"] {
  --bg: #FFFFFF !important;
  --noite: #EFEAF7 !important;
  --surface: #FFFFFF !important;
  --surface-2: #F5F2FB !important;
  --surface-3: #EFEAF7 !important;
  --border: #E7E8EC !important;
  --border-strong: #D7DAE2 !important;
  --fg: #141428 !important;
  --fg-muted: #6B6B80 !important;
  --pulsar-primary: #401C7F !important;
  --pulsar-secondary: #6F5AA6 !important;
  --pulsar-accent: #2E7D5B !important;
  --state-good: #2E7D5B !important;
  --state-danger: #C0564E !important;
  --c-primary: 64 28 127 !important;
  --c-secondary: 111 90 166 !important;
  --c-accent: 46 125 91 !important;
  --c-danger: 192 86 78 !important;
}

/* 2 ── TIPOGRAFIA · Inter única + escala executiva ──────────── */
html, body, button, input, select, textarea, optgroup,
h1, h2, h3, h4, h5, h6,
.font-apoio, .wordmark, .mini-title, .side-title,
[class*="title"], [class*="titulo"] {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}
h1 { font-weight: 800 !important; letter-spacing: -.02em !important; }
h2 { font-weight: 800 !important; letter-spacing: -.015em !important; }
h3 { font-weight: 700 !important; letter-spacing: -.01em !important; }
.eyebrow, .side-eyebrow, .mini-eyebrow, [class*="eyebrow"] {
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
/* números sempre tabulares */
.num, td, th, .kpi-v2 .v, .kpi-card .v, [class*="kpi"] [class*="value"] {
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: "tnum" 1 !important;
}

/* 3 ── NEUTRALIZADOR DE EFEITOS ────────────────────────────── */
/* 3a · glow + animação infinita decorativa */
.kpi-v2, .glow-card, .rich-insight, .motion-hover-glow,
[class*="glow"] {
  animation: none !important;
  box-shadow: none !important;
}
/* zera sombra colorida nos componentes-base */
.card, .kpi-card, .kpi-v2, .insight-card, .table-wrap,
button, .btn, .btn-login, .cta-primary, .nav-item, .tab-btn,
.access-toggle button.active {
  box-shadow: none !important;
}
/* profundidade funcional só em camadas flutuantes (sombra neutra, sem cor) */
.modal, .modal-card, [class*="flyout"], .intro-mini, .intro-modal, .confirm {
  box-shadow: 0 10px 30px rgba(0, 0, 0, .35) !important;
}

/* 3b · texto em gradiente → sólido */
.wordmark, .made-tag, .mini-eyebrow, .intro-mark-name, .boot-wordmark,
[class*="wordmark"] {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--fg) !important;
  text-shadow: none !important;
}
.fx-neon-primary, .fx-neon-secondary, .fx-neon-accent, .fx-neon-danger {
  text-shadow: none !important;
}

/* 3c · fundos decorativos / orbs / radar 3D / boot splash → fora */
.orb, .orb-1, .orb-2, .center-rings, .ambient-line,
.console-ondas, .glow-orb, .surf-mesh, .surf-glow-tr, .surf-dots,
.pulso-piso, .boot-splash, .preview-loop, .pl-orb, .pl-ring,
.login-success::after {
  display: none !important;
}
.stage::before { display: none !important; }

/* 3d · glass / blur → superfície sólida */
* { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.card, .status, .intro-mini, .intro-modal, .intro-sidebar {
  background: var(--surface) !important;
}
.intro-backdrop { background: rgba(6, 8, 22, .85) !important; }

/* 3e · bordas em gradiente / sweeps / shine → fora */
.card::before, .btn-login::after,
.panel-pulse-top::before, .panel-pulse-side::before,
[class*="panel-pulse"]::before {
  display: none !important;
  animation: none !important;
}

/* 3f · filtros drop-shadow (EKG estático, sem brilho) */
[class*="ekg"], .ambient-line polyline, .pl-ekg polyline, .brand-icon {
  filter: none !important;
  animation: none !important;
}

/* 3g · pulse-dots / status sem glow nem pulsação */
.live-dot, .pulse-dot, .pulse-dot.live {
  box-shadow: none !important;
  animation: none !important;
}

/* 3h · tilt 3D do card de login (transform inline injetado por JS) */
.card { transform: none !important; }

/* 4 ── COMPONENTES SÓBRIOS (re-skin chapado) ───────────────── */
.card, .kpi-card, .kpi-v2, .insight-card, .rich-insight {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
}
.btn-login, .cta-primary, .btn-primary, [class*="btn-primary"] {
  background: var(--pulsar-primary) !important;
  color: #fff !important;
  border-radius: 8px !important;
}
.btn-login:hover, .cta-primary:hover {
  transform: none !important;
  filter: brightness(1.10) !important;
}
.access-toggle button.active, .side-dot.active {
  background: var(--pulsar-primary) !important;
}
/* KPI hover: só hairline de acento, sem lift nem glow */
.kpi-card:hover, .motion-hover-glow:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: var(--pulsar-primary) !important;
}
/* navegação ativa: acento fino, sem fundo gritante */
.nav-item.active, .nav-item.on, .tab-btn.active, .sbitem.on {
  border-left: 2px solid var(--pulsar-primary) !important;
  background: var(--tint-primary-08) !important;
}

/* 5 ── BACKDROPS sólidos ───────────────────────────────────── */
html, body { background: var(--bg) !important; }
.stage, .intro-stage { background: var(--bg) !important; }

/* 6 ── REDE DE SEGURANÇA · mata TODA animação em loop ──────────
   Pega pulsos/flutuações/varreduras que os seletores nomeados não
   cobriram. Entradas (play 1x) seguem; spinners de loading restaurados. */
*, *::before, *::after { animation-iteration-count: 1 !important; }
.anim-spin, [class*="spin"], [class*="spinner"], [class*="loading"], [class*="loader"] {
  animation-iteration-count: infinite !important;
}
/* transições residuais de movimento → só cor (sem lift/scale) */
.fx-tile, .card-hover, .kpi-card, .kpi-v2, .card {
  transition: border-color .15s ease, background-color .15s ease !important;
}

/* 7 ── MENU corporativo (Amazon-like): hover rápido e sutil, ativo claro ── */
.nav-item, .tab-btn, .sbitem, .flyout-item {
  transition: background-color .12s ease, color .12s ease !important;
}
.nav-item:hover, .tab-btn:hover, .sbitem:hover, .flyout-item:hover {
  background: var(--tint-primary-08) !important;
  color: var(--fg) !important;
  transform: none !important;
}

/* 8 ── DENSIDADE corporativa: cantos menores e consistentes ── */
.card, .kpi-card, .kpi-v2, .insight-card, .table-wrap, .modal, .modal-card { border-radius: 8px !important; }
.chip, .access-toggle { border-radius: 6px !important; }
