/*
  Charts / core / tokens.css

  Chrome (superfície, tinta, grade) é 100% herdado dos tokens do Instrumento
  (src/themes/tokens.css) — nenhum valor novo, para o gráfico nunca destoar
  do resto da interface. Só os papéis que o Design System não tinha —
  categórico, sequencial, divergente — são novos aqui, e nenhum é chutado:
  a paleta categórica e a sequencial foram validadas com
  dataviz/scripts/validate_palette.js contra as superfícies reais do
  Instrumento (#FFFFFF claro / #13141C escuro) — 8 tons, CVD ΔE ≥ 8.4,
  contraste ≥ 3:1 (exceto os 3 tons que exigem alívio visual — ver
  docs/CHARTS_LIBRARY.md, "Paleta"). As cores de status (sucesso/aviso/
  perigo) são as mesmas já usadas em badges no resto do produto — nunca uma
  paleta de status paralela.
*/
:root{
  /* ---- chrome: alias direto dos tokens do Instrumento ---- */
  --chart-surface: var(--surface);
  --chart-surface-sunken: var(--surface-sunken);
  --chart-ink: var(--text-primary);
  --chart-ink-secondary: var(--text-secondary);
  --chart-muted: var(--text-tertiary);
  --chart-grid: var(--border);
  --chart-axis: var(--border-strong);
  --chart-accent: var(--accent);
  --chart-focus-ring: var(--focus-ring);

  /* ---- status (idêntico ao badge do Design System) ---- */
  --chart-good: var(--success);
  --chart-warning: var(--warning);
  --chart-critical: var(--danger);

  /* ---- categórica — 8 slots, ordem fixa, nunca ciclada ---- */
  --series-1: #2a78d6; /* azul */
  --series-2: #eb6834; /* laranja */
  --series-3: #1baf7a; /* água */
  --series-4: #eda100; /* amarelo */
  --series-5: #e87ba4; /* magenta */
  --series-6: #008300; /* verde */
  --series-7: #4a3aa7; /* violeta */
  --series-8: #e34948; /* vermelho */

  /* ---- sequencial — um só matiz (azul), 100→700 claro→escuro ---- */
  --seq-100: #cde2fb; --seq-150: #b7d3f6; --seq-200: #9ec5f4; --seq-250: #86b6ef;
  --seq-300: #6da7ec; --seq-350: #5598e7; --seq-400: #3987e5; --seq-450: #2a78d6;
  --seq-500: #256abf; --seq-550: #1c5cab; --seq-600: #184f95; --seq-650: #104281;
  --seq-700: #0d366b;

  /* ---- divergente — polo azul (reusa a sequencial) ↔ polo vermelho ---- */
  --div-neg: var(--seq-450);
  --div-pos: #e34948;
  --div-mid: var(--n-100);

  --chart-tick-font: var(--font-mono);
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --series-1: #3987e5; --series-2: #d95926; --series-3: #199e70; --series-4: #c98500;
    --series-5: #d55181; --series-6: #008300; --series-7: #9085e9; --series-8: #e66767;

    --seq-450: #2a78d6; --div-neg: var(--seq-450); --div-pos: #e66767; --div-mid: var(--n-700);
  }
}
:root[data-theme="dark"]{
  --series-1: #3987e5; --series-2: #d95926; --series-3: #199e70; --series-4: #c98500;
  --series-5: #d55181; --series-6: #008300; --series-7: #9085e9; --series-8: #e66767;

  --seq-450: #2a78d6; --div-neg: var(--seq-450); --div-pos: #e66767; --div-mid: var(--n-700);
}
