/* ============================================================
   tokens.css — Fonte de verdade da identidade visual IpaSync.
   Cores, tipografia e medidas do brand (docs/05_brand_guidelines.pdf v1.0).
   Fontes self-hosted (Poppins + JetBrains Mono) — sem CDN externo (D2/LGPD).
   ============================================================ */

/* ===== Fontes self-hosted (woff2 em app/static/fonts/) ===== */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300;
  font-display: swap; src: url('../fonts/poppins-300.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('../fonts/poppins-400.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500;
  font-display: swap; src: url('../fonts/poppins-500.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600;
  font-display: swap; src: url('../fonts/poppins-600.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700;
  font-display: swap; src: url('../fonts/poppins-700.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('../fonts/jetbrains-mono-400.woff2') format('woff2'); }

:root {
  /* ===== Cores primárias ===== */
  --cor-verde:        #59DD21;   /* marca, CTA, energia — usar com moderação */
  --cor-preto:        #0A0A0A;   /* fundo base, texto principal */

  /* ===== Neutros ===== */
  --cor-cinza-escuro: #1F2937;   /* surfaces dark, cabeçalhos secundários */
  --cor-cinza-medio:  #4B5563;   /* texto secundário */
  --cor-cinza-suave:  #6B7280;   /* texto auxiliar, legendas */
  --cor-cinza-claro:  #E5E7EB;   /* bordas, divisores */
  --cor-branco:       #FFFFFF;

  /* ===== Semânticas ===== */
  --cor-sucesso:      #2D7A0A;   /* confirmações; "Ipa" sobre fundo claro */
  --cor-alerta:       #DC2626;   /* erros, ações destrutivas */
  --cor-atencao:      #F59E0B;   /* avisos, pendências */
  --cor-info:         #3B82F6;   /* links, agendamentos confirmados */

  /* ===== Tipografia ===== */
  --fonte-base: 'Poppins', system-ui, -apple-system, sans-serif;
  --fonte-mono: 'JetBrains Mono', ui-monospace, monospace;

  --peso-light: 300;
  --peso-regular: 400;
  --peso-medium: 500;
  --peso-semibold: 600;
  --peso-bold: 700;

  /* Escala fluida (mobile → desktop), clamp(min, preferido, max) — brand §4.2 */
  --texto-h1:    clamp(1.625rem, 1.35rem + 1.4vw, 2rem);      /* 26 → 32 px */
  --texto-h2:    clamp(1.25rem, 1.15rem + 0.6vw, 1.375rem);   /* 20 → 22 px */
  --texto-h3:    clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);      /* 15 → 16 px */
  --texto-body:  1rem;          /* 16 px — marketing + evita zoom iOS em input <16px */
  --texto-small: 0.8125rem;     /* 13 px */
  --texto-mono:  0.8125rem;     /* 13 px */

  /* Line-height — brand §4.3 */
  --lh-titulo: 1.2;
  --lh-corpo:  1.5;

  /* Medidas de leitura — brand §4.3 */
  --largura-linha: 65ch;
  --espaco-tagline: 0.22em;     /* ≈ 3.5px @16px, escala com a fonte */

  /* Raios — brand §7.3 */
  --raio-botao: 6px;
  --raio-card:  10px;
  --raio-modal: 12px;
}
