/* ============================================================
   Design System Analisa — tokens (fonte da verdade)
   Base visual: portal analisa.ia.br · spec 2026-07-10
   Camadas: primitivos → semânticos por tema → componente.
   Regra: componentes usam SEMÂNTICOS; primitivos só aqui dentro.
   ============================================================ */

:root {
  /* ---- primitivos: laranja (marca) ---- */
  --an-orange-400: #ff9b3d;
  --an-orange-500: #ff8a1f;
  --an-orange-600: #ea5b0c;
  --an-orange-700: #b45309;
  --an-orange-soft: rgba(255, 138, 31, 0.12);
  --an-orange-glow: rgba(255, 138, 31, 0.35);

  /* ---- primitivos: neutros dark (portal) ---- */
  --an-black-0: #000000;
  --an-black-1: #0a0a0a;
  --an-black-2: #111111;
  --an-white-a03: rgba(255, 255, 255, 0.03);
  --an-white-a06: rgba(255, 255, 255, 0.06);
  --an-white-a08: rgba(255, 255, 255, 0.08);
  --an-white-a14: rgba(255, 255, 255, 0.14);
  --an-grey-100: #f5f5f5;
  --an-grey-300: #c9c9c9;
  --an-grey-500: #9a9a9a;

  /* ---- primitivos: neutros light ---- */
  --an-paper-0: #fafafa;
  --an-paper-1: #ffffff;
  --an-paper-2: #f1f1f3;
  --an-ink-0: #16161a;
  --an-ink-1: #4b4b52;
  --an-ink-2: #6e6e76;
  --an-ink-a08: rgba(22, 22, 26, 0.08);
  --an-ink-a14: rgba(22, 22, 26, 0.14);

  /* ---- primitivos: estados ---- */
  --an-green-400: #4ade80;  --an-green-600: #15803d;
  --an-red-400: #ff6b6b;    --an-red-600: #dc2626;
  --an-amber-400: #ffd23f;  --an-amber-600: #a16207;
  --an-blue-400: #60a5fa;   --an-blue-600: #2563eb;

  /* ---- semânticos (DARK = padrão, fiel ao portal) ---- */
  --an-bg: var(--an-black-0);
  --an-bg-raised: var(--an-black-1);
  /* Opaque layers keep nested panels from becoming progressively lighter. */
  --an-surface: #0c0c0c;
  --an-surface-2: #161616;
  --an-surface-solid: var(--an-black-2);
  --an-border: #2e2e2e;
  --an-border-strong: #454545;
  --an-scrim: rgba(0, 0, 0, 0.55);
  --an-text: #ffffff;
  --an-text-muted: var(--an-grey-300);
  --an-text-dim: var(--an-grey-500);
  --an-accent: var(--an-orange-500);
  --an-accent-hover: var(--an-orange-400);
  --an-accent-text: var(--an-orange-400);
  --an-accent-soft: var(--an-orange-soft);
  --an-accent-glow: var(--an-orange-glow);
  --an-bg-deep: radial-gradient(circle at 20% 20%, var(--an-accent-soft), transparent 32%), var(--an-bg);
  --an-on-accent: #ffffff;
  --an-ok: var(--an-green-400);       --an-ok-soft: rgba(74, 222, 128, 0.12);
  --an-warn: var(--an-amber-400);     --an-warn-soft: rgba(255, 210, 63, 0.12);
  --an-danger: var(--an-red-400);     --an-danger-soft: rgba(255, 107, 107, 0.12);
  --an-info: var(--an-blue-400);      --an-info-soft: rgba(96, 165, 250, 0.12);

  /* ---- gráficos (série 1 = marca) ---- */
  --an-chart-1: #ff8a1f;
  --an-chart-2: #60a5fa;
  --an-chart-3: #4ade80;
  --an-chart-4: #e879f9;
  --an-chart-5: #facc15;
  --an-chart-6: #22d3ee;
  /* sequencial laranja (heatmaps: fraco → forte) */
  --an-seq-1: rgba(255, 138, 31, 0.15);
  --an-seq-2: rgba(255, 138, 31, 0.45);
  --an-seq-3: #ff8a1f;
  --an-seq-4: #ea5b0c;

  /* ---- fundações ---- */
  --an-font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --an-font-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --an-space-1: 4px;  --an-space-2: 8px;  --an-space-3: 12px;
  --an-space-4: 16px; --an-space-5: 20px; --an-space-6: 24px;
  --an-space-8: 32px; --an-space-10: 40px; --an-space-12: 48px;
  --an-radius-sm: 8px;
  --an-radius-md: 14px;   /* --radius do portal */
  --an-radius-lg: 20px;   /* --radius-lg do portal */
  --an-radius-full: 999px;
  --an-shadow-1: 0 0 0 1px var(--an-border), 0 4px 16px rgba(0, 0, 0, 0.25);
  --an-shadow-2: 0 0 0 1px var(--an-border), 0 8px 32px rgba(0, 0, 0, 0.3);
  --an-ease: cubic-bezier(0.2, 0.8, 0.4, 1);
  --an-dur-1: 150ms;
  --an-dur-2: 250ms;
  --an-focus-ring: 0 0 0 2px var(--an-bg), 0 0 0 4px var(--an-accent);
}

/* ---- LIGHT: neutro — laranja só em ações ---- */
[data-theme="light"] {
  --an-bg: var(--an-paper-0);
  --an-bg-raised: var(--an-paper-1);
  --an-surface: var(--an-paper-1);
  --an-surface-2: var(--an-paper-2);
  --an-surface-solid: var(--an-paper-1);
  --an-border: var(--an-ink-a08);
  --an-border-strong: var(--an-ink-a14);
  --an-scrim: rgba(22, 22, 26, 0.4);
  --an-text: var(--an-ink-0);
  --an-text-muted: var(--an-ink-1);
  --an-text-dim: var(--an-ink-2);
  --an-accent-hover: var(--an-orange-600);
  --an-accent-text: var(--an-orange-700);
  --an-accent-glow: transparent;
  --an-ok: var(--an-green-600);       --an-ok-soft: rgba(21, 128, 61, 0.10);
  --an-warn: var(--an-amber-600);     --an-warn-soft: rgba(161, 98, 7, 0.10);
  --an-danger: var(--an-red-600);     --an-danger-soft: rgba(220, 38, 38, 0.10);
  --an-info: var(--an-blue-600);      --an-info-soft: rgba(37, 99, 235, 0.10);
  --an-chart-2: var(--an-blue-600);
  --an-chart-3: var(--an-green-600);
  --an-chart-4: #a21caf;
  --an-chart-5: #a16207;
  --an-chart-6: #0e7490;
  --an-shadow-1: 0 1px 3px rgba(22, 22, 26, 0.08), 0 1px 2px rgba(22, 22, 26, 0.04);
  --an-shadow-2: 0 4px 20px rgba(22, 22, 26, 0.10);
}
