/* Tokens do ecossistema eazy (ADR-0003, docs/design/auditoria-componentes.md).
   Dois níveis: primitivos (valores) e semânticos (papéis). Componentes (static/css/componentes/) usam SÓ os
   semânticos; temas redefinem os semânticos em [data-tema="..."]. Carregado antes de qualquer outro CSS.
   Os tokens antigos (tokens.css, painel.css) viram aliases destes até o último consumidor migrar. */

/* Fontes oficiais: Space Mono (texto), Chakra Petch (títulos), Calculator (números), VT323 (retrô) */
@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/chakrapetch-700-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: 'Chakra Petch';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/chakrapetch-700-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Calculator';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/calculator-regular.woff2') format('woff2');
}

:root {
  /* ---------- Primitivos: cor ---------- */
  --eazy-branco: #fff;
  --eazy-cinza-50: #f8f8fa;
  --eazy-cinza-100: #f4f4f6;
  --eazy-cinza-200: #e6e6e6;
  --eazy-cinza-300: #d9d9de;
  --eazy-cinza-500: #9a9aa2;
  --eazy-cinza-600: #777;
  --eazy-cinza-700: #555;
  --eazy-cinza-800: #2b2b30;
  --eazy-cinza-900: #111;

  --eazy-verde: #39ff14;
  --eazy-verde-escuro: #1f7a0a;
  --eazy-verde-fundo: #f1ffee;
  --eazy-azul: #00e5ff;
  --eazy-azul-escuro: #006b78;
  --eazy-azul-fundo: #ecfdff;
  --eazy-amarelo: #ffb000;
  --eazy-amarelo-escuro: #7a5200;
  --eazy-amarelo-fundo: #fff8e6;
  --eazy-vermelho: #b00020;
  --eazy-vermelho-escuro: #b00020;
  --eazy-vermelho-fundo: #fff0f2;
  --eazy-rosa: #ff2d95;
  --eazy-rosa-escuro: #a3134f;
  --eazy-rosa-fundo: #fff0f7;

  /* ---------- Primitivos: tipografia ---------- */
  --eazy-fonte-texto: 'Space Mono', monospace;
  --eazy-fonte-titulo: 'Chakra Petch', var(--eazy-fonte-texto);
  --eazy-fonte-numero: 'Calculator', var(--eazy-fonte-texto);
  --eazy-fonte-retro: 'VT323', monospace;
  --eazy-texto-xs: 0.72rem;
  --eazy-texto-s: 0.8rem;
  --eazy-texto-m: 0.85rem;
  --eazy-texto-l: 0.95rem;
  --eazy-titulo-s: 1.1rem;
  --eazy-titulo-m: 1.4rem;
  --eazy-titulo-l: clamp(1.6rem, 4.5vw, 3rem);
  --eazy-titulo-xl: clamp(2rem, 8vw, 6rem);

  /* ---------- Primitivos: espaço (componentes, em px) e ritmo de seção (site, em rem) ---------- */
  --eazy-esp-0: 0;
  --eazy-esp-1: 4px;
  --eazy-esp-2: 8px;
  --eazy-esp-3: 12px;
  --eazy-esp-4: 16px;
  --eazy-esp-5: 24px;
  --eazy-esp-6: 32px;
  --eazy-secao-1: 0.5rem;
  --eazy-secao-2: 1rem;
  --eazy-secao-3: 1.5rem;
  --eazy-secao-4: 2rem;
  --eazy-secao-5: 3rem;
  --eazy-secao-6: 5rem;

  /* ---------- Primitivos: forma, sombra, movimento, camadas, medidas ---------- */
  --eazy-raio-s: 8px;
  --eazy-raio-m: 12px;
  --eazy-raio-l: 16px;
  --eazy-raio-pilula: 999px;
  --eazy-sombra-pop: 0 8px 24px rgba(0, 0, 0, 0.08);
  --eazy-sombra-anel: 0 0 0 2px var(--eazy-branco);
  --eazy-dur-rapida: 150ms;
  --eazy-dur-base: 200ms;
  --eazy-z-header: 10;
  --eazy-z-drawer: 20;
  --eazy-z-menu: 30;
  --eazy-z-toast: 40;
  --eazy-largura-max: 72rem;
  --eazy-topbar-h: 56px;
  --eazy-drawer-w: 280px;
  --eazy-controle-h: 40px;

  /* ---------- Semânticos (tema eazy padrão) ---------- */
  --eazy-cor-fundo: var(--eazy-branco);
  --eazy-cor-superficie: var(--eazy-branco);
  --eazy-cor-superficie-ativa: var(--eazy-cinza-100);
  --eazy-cor-texto: var(--eazy-cinza-900);
  --eazy-cor-texto-suave: var(--eazy-cinza-600);
  --eazy-cor-texto-inverso: var(--eazy-branco);
  --eazy-cor-borda: var(--eazy-cinza-200);
  --eazy-cor-borda-forte: var(--eazy-cinza-300);
  --eazy-cor-primaria: var(--eazy-cinza-900);
  --eazy-cor-primaria-hover: var(--eazy-cinza-800);
  --eazy-cor-sobre-primaria: var(--eazy-branco);
  --eazy-cor-foco: var(--eazy-cinza-800);
  --eazy-cor-ok: var(--eazy-verde-escuro);
  --eazy-cor-ok-borda: var(--eazy-verde);
  --eazy-cor-ok-fundo: var(--eazy-verde-fundo);
  --eazy-cor-alerta: var(--eazy-amarelo-escuro);
  --eazy-cor-alerta-borda: var(--eazy-amarelo);
  --eazy-cor-alerta-fundo: var(--eazy-amarelo-fundo);
  --eazy-cor-erro: var(--eazy-vermelho-escuro);
  --eazy-cor-erro-borda: var(--eazy-vermelho);
  --eazy-cor-erro-fundo: var(--eazy-vermelho-fundo);
  --eazy-cor-info: var(--eazy-azul-escuro);
  --eazy-cor-info-borda: var(--eazy-azul);
  --eazy-cor-info-fundo: var(--eazy-azul-fundo);
  --eazy-raio-cartao: var(--eazy-raio-m);
  --eazy-raio-controle: var(--eazy-raio-m);
  --eazy-raio-badge: var(--eazy-raio-pilula);
  --eazy-borda: 1px solid var(--eazy-cor-borda);
  --eazy-fonte: var(--eazy-fonte-texto);
  --eazy-fonte-titulos: var(--eazy-fonte-titulo);
  --eazy-fonte-numeros: var(--eazy-fonte-numero);
  --eazy-sombra-flutuante: var(--eazy-sombra-pop);
}

/* Tema "noite": só semânticos. Prova de que a troca acontece sem tocar em componente. */
[data-tema="noite"] {
  --eazy-cor-fundo: var(--eazy-cinza-900);
  --eazy-cor-superficie: #1c1c21;
  --eazy-cor-superficie-ativa: var(--eazy-cinza-800);
  --eazy-cor-texto: var(--eazy-cinza-100);
  --eazy-cor-texto-suave: var(--eazy-cinza-500);
  --eazy-cor-texto-inverso: var(--eazy-cinza-900);
  --eazy-cor-borda: #333;
  --eazy-cor-borda-forte: var(--eazy-cinza-700);
  --eazy-cor-primaria: var(--eazy-branco);
  --eazy-cor-primaria-hover: var(--eazy-cinza-300);
  --eazy-cor-sobre-primaria: var(--eazy-cinza-900);
  --eazy-cor-foco: var(--eazy-verde);
  --eazy-cor-ok-fundo: #122a0f;
  --eazy-cor-ok: var(--eazy-verde);
  --eazy-cor-alerta-fundo: #2e2410;
  --eazy-cor-alerta: var(--eazy-amarelo);
  --eazy-cor-erro-fundo: #2e0f16;
  --eazy-cor-erro: #ff6b86;
  --eazy-cor-info-fundo: #0f262a;
  --eazy-cor-info: var(--eazy-azul);
  --eazy-raio-cartao: var(--eazy-raio-s);
  --eazy-raio-controle: var(--eazy-raio-s);
  --eazy-raio-badge: var(--eazy-raio-s);
  --eazy-sombra-flutuante: 0 8px 24px rgba(0, 0, 0, 0.5);
}

/* Tema "crontex": antecipa o consumo pelo Crontex (azul de ação, cartão quadrado, Inter se houver). */
[data-tema="crontex"] {
  --eazy-cor-fundo: #f3f7ff;
  --eazy-cor-superficie: var(--eazy-branco);
  --eazy-cor-superficie-ativa: #e8eefc;
  --eazy-cor-texto: #0e2a56;
  --eazy-cor-texto-suave: #64748b;
  --eazy-cor-borda: #e5e7eb;
  --eazy-cor-borda-forte: #c7cdd6;
  --eazy-cor-primaria: #1a8cff;
  --eazy-cor-primaria-hover: #0f6fd0;
  --eazy-cor-sobre-primaria: var(--eazy-branco);
  --eazy-cor-foco: #007a1a;
  --eazy-cor-ok: #16794b;
  --eazy-cor-ok-borda: #16794b;
  --eazy-cor-ok-fundo: #e8f5ee;
  --eazy-cor-alerta: #8a4b00;
  --eazy-cor-alerta-borda: #f59e0b;
  --eazy-cor-alerta-fundo: #fff1e0;
  --eazy-cor-erro: #b91c1c;
  --eazy-cor-erro-borda: #b91c1c;
  --eazy-cor-erro-fundo: #fbeaea;
  --eazy-cor-info: #1e3a8a;
  --eazy-cor-info-borda: #1e3a8a;
  --eazy-cor-info-fundo: #eff6ff;
  --eazy-raio-cartao: 0;
  --eazy-raio-controle: var(--eazy-raio-s);
  --eazy-raio-badge: var(--eazy-raio-pilula);
  --eazy-fonte: Inter, system-ui, sans-serif;
  --eazy-fonte-titulos: Inter, system-ui, sans-serif;
  --eazy-fonte-numeros: Inter, system-ui, sans-serif;
  --eazy-sombra-flutuante: 0 10px 30px rgba(6, 27, 66, 0.10);
}
