/* ============================================================
   EVER UI — TEMA "PAINEL DO CONSULTOR" · criado em 2026-08-10
   ============================================================
   Produto: painel público "Fale com um Consultor" (seuconsultor360.com)
   + /admin. Linha Consultor 360 — identidade HERDADA, não inventada.

   Matiz: navy h256 c0.10 — a MESMA do lp-consultor e da família
   Contrato/Agenda do Consultor 360. Escolha deliberada: este painel
   é infraestrutura da linha, não um produto com marca própria.

   Dourado: NÃO é a marca. Entra só como o metal do SELO DE
   VERIFICADO e do fio de endosso do Uélicon — alias do primitive
   --amber-* existente, sem matiz novo. É o sinal de "chancelado
   por ele", e é o único lugar onde aparece.
   ============================================================ */

:root {
  --brand-h: 256;    /* navy da linha Consultor 360 */
  --brand-c: 0.10;   /* sóbrio, bem abaixo do teto 0.18 */

  /* Neutros e sombras na família navy (mesma decisão do lp-consultor) */
  --neutral-h: 256;
  --shadow-h: 256;

  /* ── ALIASES DE DOMÍNIO — status do lead (domain-model §3) ──
     Um alias por estado, apontando pra receita badge-* do kit. */
  --status-novo-bg:         var(--badge-neutral-bg);
  --status-novo-fg:         var(--badge-neutral-fg);
  --status-novo-dot:        var(--badge-neutral-dot);

  --status-agendado-bg:     var(--badge-info-bg);
  --status-agendado-fg:     var(--badge-info-fg);
  --status-agendado-dot:    var(--badge-info-dot);

  --status-em-conversa-bg:  var(--badge-warning-bg);
  --status-em-conversa-fg:  var(--badge-warning-fg);
  --status-em-conversa-dot: var(--badge-warning-dot);

  --status-vendeu-bg:       var(--badge-success-bg);
  --status-vendeu-fg:       var(--badge-success-fg);
  --status-vendeu-dot:      var(--badge-success-dot);

  --status-perdido-bg:      var(--badge-neutral-bg);
  --status-perdido-fg:      var(--badge-neutral-fg);
  --status-perdido-dot:     var(--badge-neutral-dot);

  /* Selo de verificado — metal do endosso (console/light) */
  --selo-fg:     var(--amber-700);
  --selo-bg:     var(--amber-50);
  --selo-border: var(--amber-100);
}

/* No palco público o selo inverte: metal claro sobre fundo escuro. */
[data-surface="stage"] {
  --selo-fg:     var(--amber-500);            /* 11.6:1 sobre stage-ink-1000 */
  --selo-bg:     oklch(75% 0.160 75 / 0.10);
  --selo-border: oklch(75% 0.160 75 / 0.28);
}

/* ⚠️ OBRIGATÓRIO — custom property HERDA pela árvore do DOM.
   O card do reveal é uma ilha `data-surface="console"` DENTRO do palco escuro.
   Sem redeclarar aqui, ele herdava o âmbar-claro definido no `[data-surface="stage"]`
   do <html> e pintava metal claro sobre card BRANCO: 2,1:1, reprovado em WCAG AA
   (mínimo 4,5). E é justamente o selo "Formado pelo Uélicon" — o elemento que
   entrega o objetivo nº 1 da página, que é credibilidade.

   Regra que vale para qualquer token novo: se o produto usa ilha de superfície
   aninhada, todo alias precisa existir nas DUAS superfícies. O `validar-contraste.py`
   confere os 20 pares do kit e NÃO conhece par inventado por tema — o único par que
   este tema inventou foi o que quebrou. Achado do @dev-revisor em 10/08/2026. */
/* O asterisco de campo obrigatório usa `--danger`, calibrado para fundo CLARO.
   Sobre o palco escuro ele cai para 3,22:1 (mínimo 4,5 em texto de 13px).
   O kit já tem a versão clareada do vermelho para superfície escura — é a mesma
   que o stage usa em `--danger-action`. Medido em 10/08/2026 compondo as camadas
   translúcidas; o axe-core não compõe fundo com alpha e não pegou este. */
[data-surface="stage"] {
  --danger: oklch(72% 0.170 25);   /* 6,95:1 sobre stage-ink-1000 */

  /* ⚠️ LACUNA DO KIT (Ever UI v1.0.0), não deste produto.
     No palco, `.input` fica com `background: var(--field-bg)` = surface-card =
     BRANCO ("cards inline continuam claros"), mas `color: var(--text-body)`, que
     no stage é quase branco. Resultado: **o texto digitado some** — 1,05:1.
     Quem preenchesse o formulário não enxergava o que estava escrevendo.
     Passou por todos os meus screenshots porque eu olhava o campo com PLACEHOLDER
     (que tem cor própria), não preenchido. Achado pelo axe-core em 10/08/2026.
     Vale para qualquer produto que use campo do kit sobre `data-surface="stage"`.
     Aqui aliasamos um primitive no TEMA (permitido pelo adocao.md §"falta cor"). */
  --field-fg: var(--neutral-900);

  /* CTA: o kit calibra `--action: brand-500` no stage assumindo rótulo BOLD ≥16px
     (AA-large, 4,29:1). O nosso rótulo é 14px/600 — não conta como "texto grande",
     então precisa de 4,5:1. brand-600 dá 6,02:1 com branco. */
  --action: var(--brand-600);
}

[data-surface="console"] {
  --selo-fg:     var(--amber-700);   /* 4,94:1 sobre amber-100; melhor ainda sobre amber-50 */
  --selo-bg:     var(--amber-50);
  --selo-border: var(--amber-100);
}

/* ── VALIDAÇÃO WCAG (validar-contraste.py --h 256 --c 0.10) ──
   EVER UI · tema h=256.0 c=0.1 neutral-h=256.0 · metodologia F36

   #fff / action (brand-600 L50)                 6.02:1  ✓ PASS
   #fff / action-hover (brand-650)               7.15:1  ✓ PASS
   link (brand-700) / branco                     8.48:1  ✓ PASS
   brand-700 / brand-50 (soft)                   7.78:1  ✓ PASS
   brand-700 / brand-100 (action-soft)           6.91:1  ✓ PASS
   text-secondary (n600) / branco                6.82:1  ✓ PASS
   text-tertiary (n500) / branco                 4.65:1  ✓ PASS
   brand-neon (L78) / stage-ink-1000             9.77:1  ✓ PASS
   #fff / brand-500 CTA stage (AA-large)         4.29:1  ✓ PASS
   dark action (brand-300) / bg n900             9.33:1  ✓ PASS
   dark on-action (n900) / brand-300             9.33:1  ✓ PASS
   text-primary (n900) / page                   16.99:1  ✓ PASS
   #fff / danger-action light (red-600)          6.08:1  ✓ PASS
   on-danger (n900) / danger-action dark (L72)   6.98:1  ✓ PASS
   on-danger (n900) / danger-hover dark (L78)    8.40:1  ✓ PASS
   badge success dark (L84) / n900              12.02:1  ✓ PASS
   badge info dark (L74) / n900                  8.16:1  ✓ PASS
   badge warning dark (L78) / n900               9.20:1  ✓ PASS
   badge danger dark (L72) / n900                6.98:1  ✓ PASS
   badge neutral dark (text-sec L72) / n900      7.52:1  ✓ PASS

   20 pares · 0 falha(s)  → exit 0
   ─────────────────────────────────────────────────────────── */
