/* Tokens da identidade GEA — manual da marca ed. 01/2026, paleta Calcário. */

/* Fontes self-hosted (src/public/fontes): o helmet do servidor emite CSP com
   style-src 'self', que bloqueia o stylesheet do Google Fonts — servidas do
   próprio app, caem no 'self' e a tipografia da identidade carrega de verdade.
   Subsets latin + latin-ext (cobrem PT-BR); unicode-range copiado do CSS do
   Google para manter o mesmo fallback de glifos (Δ, ↕ etc. seguem no sistema). */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 200 500; /* variável: um arquivo cobre 200/300/400/500 */
  font-display: swap;
  src: url('/fontes/jost-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 200 500;
  font-display: swap;
  src: url('/fontes/jost-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fontes/ibm-plex-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fontes/ibm-plex-mono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fontes/ibm-plex-mono-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fontes/ibm-plex-mono-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* Paleta Calcário (manual, seção 06) */
  --calcario: #F2EEE6; /* fundo claro dominante */
  --pedra: #D7CEBF;    /* apoio: bordas, divisores, fundos sutis */
  --taupe: #94897A;    /* apoio: texto terciário/decorativo, ícones */
  --ebano: #14130F;    /* escuro dominante: sidebar, texto, botão primário */

  /* Tons de trabalho (derivados do manual/deck) */
  --tinta: #1B1915;        /* texto sobre claro */
  --areia: #E4DCCE;        /* hover/zebra sobre claro */
  --cinza-quente: #5A5349; /* texto secundário sobre claro (taupe puro não tem contraste p/ texto pequeno) */
  --carvao: #3A352E;       /* bordas/hover sobre escuro */
  --pedra-clara: #D9D0C1;
  --papel: #FCFBF8;        /* superfície elevada sobre o calcário: inputs, cards */

  /* Semânticas (sóbrias, dessaturadas; sobre ébano usar os fundos como texto) */
  --ok: #4A5D45;     --ok-fundo: #E3E7DD;
  --alerta: #7A5F30; --alerta-fundo: #F0E6D2; /* âmbar escurecido: AA (≥4.5) em texto pequeno sobre calcário e sobre o próprio fundo */
  --erro: #8C3B2E;   --erro-fundo: #EFDDD8;

  /* Tipografia (manual, seção 07) */
  --sans: 'Jost', 'Segoe UI', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', Consolas, monospace;

  /* Espaçamento (vazio generoso: 4/8/12/16/24/32/48) */
  --esp-1: 4px; --esp-2: 8px; --esp-3: 12px;
  --esp-4: 16px; --esp-5: 24px; --esp-6: 32px; --esp-7: 48px;

  /* Grafismos: cantos retos, filete 1px */
  --raio: 0px; /* máximo 2px em inputs */
  --filete: 1px solid var(--pedra);          /* divisor sobre claro */
  --filete-escuro: 1px solid var(--carvao);  /* divisor sobre escuro */
}
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--sans); color: var(--tinta); background: var(--calcario); }
h1, h2, h3 { font-family: var(--sans); font-weight: 300; }
button { font-family: var(--sans); cursor: pointer; }
