/* ═══════════════════════════════════════════════════════════════════
   THEME — Triangulação · Grupo Referencial
   Fonte única da identidade visual (cores + tipografia).

   REGRA: nenhum componente define cor, fonte ou tamanho de fonte
   diretamente — tudo via var(--token). Alterar aqui muda o app todo.

   Tints/transparências: rgba(var(--color-*-rgb), alpha) — por isso
   cada cor tem o par RGB junto. Mudou a cor? Mude o RGB junto.
   ═══════════════════════════════════════════════════════════════════ */

:root {
  /* ─── CORES ─────────────────────────────────────────────────────── */

  /* Identidade — uma cor por papel */
  --color-primary: #93f205;        /* verde da marca */
  --color-primary-rgb: 147, 242, 5;
  --color-primary-dark: #6db804;   /* par de contraste da primária (texto/hover — o neon não lê em fundo claro) */

  --color-secondary: #5a7fdb;      /* azul administrativo */
  --color-secondary-rgb: 90, 127, 219;

  --color-success: #3aa55c;        /* confirmações, status ok */
  --color-success-rgb: 58, 165, 92;

  --color-warning: #c9a500;        /* avisos, pendências */
  --color-warning-rgb: 201, 165, 0;

  --color-error: #dc2626;          /* erros, excluir/cancelar */
  --color-error-rgb: 220, 38, 38;

  --color-info: #2563eb;           /* informação, links, badges neutros */
  --color-info-rgb: 37, 99, 235;

  /* Extras de gráfico (séries precisam de matizes distintas) */
  --chart-orange: #ea580c;
  --chart-purple: #9c27b0;
  --chart-purple-rgb: 156, 39, 176;

  /* Pódio / ranking — medalhas (1º, 2º, 3º) */
  --color-gold: #e0b000;
  --color-gold-rgb: 224, 176, 0;
  --color-silver: #9aa0a6;
  --color-silver-rgb: 154, 160, 166;
  --color-bronze: #c9762f;
  --color-bronze-rgb: 201, 118, 47;

  /* Neutros */
  --color-bg: #f4f4f4;             /* fundo da página e "poços" */
  --color-surface: #ffffff;        /* cards e modais */
  --color-border: #e2e2e2;
  --color-text: #272727;           /* texto principal */
  --color-text-secondary: #6b6b6b; /* texto de apoio */
  --color-text-disabled: #b0b0b0;  /* desabilitado / placeholder */
  --color-white: #ffffff;
  --color-white-rgb: 255, 255, 255;
  --color-black: #000000;
  --color-black-rgb: 0, 0, 0;

  /* Superfícies escuras (BI, sidebar, tooltips) */
  --color-dark: #1a1a1a;
  --color-dark-2: #2a2a2a;
  --color-dark-3: #4a4a4a;

  /* Sombras */
  --shadow-sm:
    0 1px 3px rgba(var(--color-black-rgb), 0.07),
    0 1px 2px rgba(var(--color-black-rgb), 0.05);
  --shadow-md:
    0 4px 12px rgba(var(--color-black-rgb), 0.08),
    0 2px 4px rgba(var(--color-black-rgb), 0.05);

  /* ─── TIPOGRAFIA ────────────────────────────────────────────────── */

  /* Famílias (as @font-face ficam em fonts.css) */
  --font-body: "Rational", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Rational Display", "Rational", "Inter", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;

  /* Pesos */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;

  /* Base do rem — consumida pelo html{} em base.css.
     Mexer aqui altera o tamanho da letra em TODAS as telas do app.
     18px = padrão antigo · 20px = atual (~11% maior) · 22px = bem maior */
  --escala-base: 20px;

  /* Escala de tamanhos — nome = px na escala-base padrão (20px).
     Sempre em rem para acompanhar a --escala-base. */
  --fs-10: 0.5rem;
  --fs-11: 0.55rem;
  --fs-12: 0.6rem;
  --fs-13: 0.65rem;
  --fs-14: 0.7rem;
  --fs-15: 0.75rem;
  --fs-16: 0.8rem;
  --fs-17: 0.85rem;
  --fs-18: 0.9rem;
  --fs-19: 0.95rem;
  --fs-20: 1rem;
  --fs-21: 1.05rem;
  --fs-22: 1.1rem;
  --fs-23: 1.15rem;
  --fs-24: 1.2rem;
  --fs-26: 1.3rem;
  --fs-27: 1.35rem;
  --fs-28: 1.4rem;
  --fs-30: 1.5rem;
  --fs-32: 1.6rem;
  --fs-34: 1.7rem;
  --fs-40: 2rem;
  --fs-46: 2.3rem;

  /* Tamanhos fixos (ícones em páginas sem base.css: login/acesso-bloqueado) */
  --fs-icon-15: 15px;
  --fs-icon-16: 16px;
  --fs-icon-18: 18px;
  --fs-icon-19: 19px;
  --fs-icon-40: 40px;

  /* Papéis semânticos */
  --fs-titulo-pagina: var(--fs-26);
  --fs-subtitulo: var(--fs-18);
  --fs-titulo-secao: var(--fs-16);
  --fs-texto: var(--fs-14);
  --fs-texto-pequeno: var(--fs-12);
  --fs-label: var(--fs-12);
  --fs-botao: var(--fs-14);
  --fs-input: var(--fs-14);
  --fs-tabela: var(--fs-13);
}

/* Aplicação global da fonte oficial */
html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}
