/* =========================================================
   DUPRO DESIGN SYSTEM — TOKENS · v1
   Fonte da verdade: documento "Dupro · Design System"
   Camada 1: primitivos  ·  Camada 2: semânticos (alias)
   Camada 3: compatibilidade (variáveis legadas do DuPro V2)

   Regras principais do DS:
   - Azul de marca/ação: #3740FF (blue-500), amostrado do logo oficial.
     (o azul anterior #2F6BF6 / #3d5bf6 era aproximado — descontinuado)
   - Navy é ESTRUTURAL (sidebar, faixas), nunca ação.
   - Cores semânticas só comunicam estado; nunca decoração.
   - Gráficos usam a paleta viz-1..8, nunca verde/vermelho de status
     (exceto quando a cor codifica status de verdade).
   ========================================================= */
:root{
  /* ---- PRIMITIVOS · Neutros (cool-gray) ---- */
  --neutral-0:#ffffff;
  --neutral-50:#f5f7fa;
  --neutral-100:#eceff4;
  --neutral-200:#dde2ea;
  --neutral-300:#c4ccd8;
  --neutral-400:#98a3b5;
  --neutral-500:#6b7688;
  --neutral-600:#4e5869;
  --neutral-700:#3a4356;
  --neutral-800:#232c3d;
  --neutral-900:#141b29;

  /* ---- PRIMITIVOS · Navy (estrutural) ---- */
  --navy-700:#16294f;
  --navy-800:#12244a;
  --navy-900:#0f1f42;
  --navy-950:#0a1631;

  /* ---- PRIMITIVOS · Blue (marca / ação) ---- */
  --blue-50:#eeefff;
  --blue-100:#e0e2ff;
  --blue-200:#c2c6ff;
  --blue-300:#9ca1ff;
  --blue-400:#6d74ff;
  --blue-500:#3740ff;   /* AZUL DE MARCA · amostrado do logo oficial */
  --blue-600:#2a31db;
  --blue-700:#2229ae;
  --blue-800:#1d2389;
  --blue-900:#191e6e;
  --blue-500-rgb:55,64,255; /* para usos rgba(var(--blue-500-rgb), .x) */

  /* ---- PRIMITIVOS · Semânticos ---- */
  --success-50:#e9f6ef; --success-100:#cdeadb; --success-500:#2ea36a; --success-600:#1f8355; --success-700:#186844;
  --warning-50:#fdf3e2; --warning-100:#f9e4bf; --warning-500:#eaa63b; --warning-600:#c9821a; --warning-700:#9a6412;
  --danger-50:#fcecec;  --danger-100:#f8d4d3;  --danger-500:#e05a54;  --danger-600:#c8403a;  --danger-700:#a32f2b;
  --info-50:#e6f4fb;    --info-100:#c3e6f5;    --info-500:#2b9fd4;    --info-600:#1c7ba8;    --info-700:#155f83;

  /* ---- PRIMITIVOS · Data-viz (categórica, só gráficos) ---- */
  --viz-1:#3740ff; --viz-2:#7c5cfc; --viz-3:#12a5b0; --viz-4:#e8873b;
  --viz-5:#d94f8a; --viz-6:#45b06a; --viz-7:#f2c14e; --viz-8:#5a6b8c;

  /* =========================================================
     Camada 2 · SEMÂNTICOS (alias) — o que dev/design usam
     ========================================================= */
  --bg-app:var(--neutral-50);
  --bg-surface:var(--neutral-0);
  --bg-sunken:var(--neutral-100);
  --bg-inverse:var(--navy-900);

  --text-primary:#1a2b4a;
  --text-secondary:var(--neutral-600);
  --text-muted:var(--neutral-500);
  --text-on-brand:#ffffff;
  --text-on-inverse:#ffffff;
  --text-inverse-muted:#93a9d6;

  --border-subtle:var(--neutral-200);
  --border-default:var(--neutral-300);
  --border-strong:var(--neutral-400);

  --action-primary:var(--blue-500);
  --action-primary-hover:var(--blue-600);
  --action-primary-text:#ffffff;

  --status-success-bg:var(--success-50);  --status-success-text:var(--success-600);  --status-success-solid:var(--success-500);
  --status-warning-bg:var(--warning-50);  --status-warning-text:var(--warning-600);  --status-warning-solid:var(--warning-500);
  --status-danger-bg:var(--danger-50);    --status-danger-text:var(--danger-600);    --status-danger-solid:var(--danger-500);
  --status-info-bg:var(--info-50);        --status-info-text:var(--info-600);        --status-info-solid:var(--info-500);
  --status-neutral-bg:var(--neutral-100); --status-neutral-text:var(--neutral-600);

  /* ---- Raio ---- */
  --radius-sm:6px; --radius-md:9px; --radius-lg:14px; --radius-pill:999px;

  /* ---- Elevação (tinta fria/azulada, sutil) ---- */
  --shadow-xs:0 1px 2px rgba(20,40,80,.04);
  --shadow-sm:0 1px 3px rgba(20,40,80,.06),0 1px 2px rgba(20,40,80,.04);
  --shadow-md:0 4px 12px rgba(20,40,80,.08);
  --shadow-lg:0 12px 28px rgba(20,40,80,.12);

  /* ---- Tipografia ----
     Primária (marca, títulos): Montserrat · Secundária (corpo, UI, dados): Nunito */
  --font-sans:'Nunito',system-ui,-apple-system,sans-serif;
  --font-display:'Montserrat','Nunito',system-ui,sans-serif;

  /* =========================================================
     Camada 3 · COMPATIBILIDADE (variáveis legadas DuPro V2)
     Não usar em código novo — preferir os tokens acima.
     ========================================================= */
  --primary:var(--action-primary);          /* era #2F6BF6 */
  --primary-ink:var(--action-primary-hover);/* era #1B49C4 */
  --primary-soft:var(--blue-50);            /* era #E8F0FE */
  --success:var(--success-600);             /* era #159A5B */
  --success-soft:var(--status-success-bg);  /* era #E5F5EC */
  --warning:var(--warning-600);             /* era #C67C11 */
  --warning-soft:var(--status-warning-bg);  /* era #FBF0DD */
  --danger:var(--danger-600);               /* era #D23B3B */
  --danger-soft:var(--status-danger-bg);    /* era #FBE7E7 */
  --font-app:var(--font-sans);              /* corpo/UI = Nunito (títulos usam --font-display) */
}
