/* Identidade JOININ (D-025).
 *
 * O produto se chama Joinin ATS, é vendido à base Joinin e roda embedado na
 * plataforma Joinin. A instrução original de copiar os tokens da Rub.IA era
 * atalho de velocidade e vestia o produto com a marca errada.
 *
 * Regra de contraste da marca: **sobre teal, texto escuro** (Deep Moss ou
 * Abyss), nunca branco — Teal Wave é claro demais para carregar texto branco
 * (1.9:1; com Deep Moss dá 8.9:1).
 *
 * O teal Spark da Rub.IA fica reservado a onde a IA fala: resumo, chat, selo.
 *
 * Nenhum componente conhece hex — tudo é `var(--…)`. Trocar identidade é
 * trocar este arquivo, e foi exatamente assim que este re-skin aconteceu.
 *
 * DUAS CÓPIAS (backend/app/static e frontend/public): um teste falha se
 * divergirem. Cópia que se desencontra em silêncio é a demo com a cor errada.
 */

/* Poppins auto-hospedada (@fontsource). Sem CDN: a página do candidato abre no
   4G da portaria, e requisição a terceiro é ponto de falha que não
   controlamos — além de vazar o IP do candidato para fora. */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/poppins-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/fonts/poppins-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/fonts/poppins-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/poppins-latin-700-normal.woff2") format("woff2");
}

:root {
  /* --- Paleta oficial Joinin --- */
  --abyss: #054159;
  --deep-moss: #123740;
  --teal-wave: #04bfad;
  --ocean-breeze: #037777; /* AA sobre branco e superfícies claras (D-170) */
  --mint-glow: #91d9a3;

  /* --- Superfícies: claro neutro-frio, nunca creme --- */
  --bg: #f2f7f7;
  --surface: #ffffff;
  --surface-alt: #e9f2f1;
  --border: #e2edec;
  --line: #e2edec;
  --paper: #ffffff;
  --bone: #f2f7f7;

  /* --- Texto --- */
  --text: #123740;
  --ink: #123740;
  --text-muted: #536e73; /* AA sobre --surface-alt (D-170) */
  --muted: #5c7a80;

  /* --- Ação primária: sobre teal, texto escuro --- */
  --primary: var(--teal-wave);
  --primary-fill: var(--teal-wave);
  --primary-strong: var(--ocean-breeze);
  --primary-ink: var(--ocean-breeze);
  --on-primary: #06282e;

  /* --- Superfície escura: header e barra de marca --- */
  --dark-fill: var(--abyss);
  --dark-ink: #eaf6f5;
  --dark-muted: #9fc4cb;

  /* --- Semânticos --- */
  --success: #1f8f5f;
  --success-soft: #e7f6ee;
  --warning: #8f6408; /* AA sobre --warning-soft (D-170) */
  --warning-soft: #fdf4dd;
  --warning-line: #e8cf92;
  --danger: #b3261e;
  --danger-fill: #b3261e;
  --on-danger: #ffffff;
  --gold: #a8760a;

  /* Zona clara do QR. Branco literal e não `--surface`: o leitor de celular
     precisa do contraste mesmo que a interface um dia vá para o escuro. */
  --qr-paper: #ffffff;

  /* --- Marca do cliente na página pública (D-031) ---
     A superfície do candidato pinta por --marca-*. Sem cliente configurado,
     quem responde é este bloco: a identidade Joinin mora num lugar só, e a
     página pública não carrega hex nenhum inline. Com cliente configurado,
     `domains/public/brand.py` sobrescreve estas seis — e só estas. */
  --marca: var(--teal-wave);
  --marca-superficie: var(--teal-wave);
  --marca-texto: var(--on-primary);
  --marca-escura: var(--abyss);
  --marca-gradiente-fim: var(--ocean-breeze);
  --marca-texto-escuro: var(--dark-ink);
  --marca-suave: var(--ai-soft);
  --marca-hover: var(--ocean-breeze);
  --marca-chip: var(--surface);

  /* --- Onde a IA fala (reservado) --- */
  --ai-soft: #e3f7f4;
  --ai-ink: #06635c;

  /* --- Tipografia --- */
  --font-sans: "Poppins", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "Courier New", monospace;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 700;

  /* --- Forma --- */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-2xl: 24px;
  --radius-pill: 999px;

  /* Sombra fria e curta: cartão que flutua demais compete com o conteúdo. */
  --shadow: 0 1px 2px rgb(5 65 89 / 6%), 0 2px 8px rgb(5 65 89 / 5%);
  --shadow-lg: 0 8px 24px rgb(5 65 89 / 10%);

  --focus-outline: var(--ocean-breeze);
  --focus-ring: 0 0 0 3px rgb(4 191 173 / 35%);

  /* Nomes herdados da Rub.IA que ainda aparecem em componente antigo.
     Apontam para a paleta nova; somem quando o último uso sair. */
  --teal: var(--teal-wave);
  --navy-900: var(--abyss);
  --navy-800: var(--deep-moss);
}
