/* Tokens do sistema de interface — EF-07 §1.2, §1.3 e §1.4.
 *
 * Este arquivo é a ÚNICA fonte de valor bruto da interface. Nenhum outro
 * arquivo escreve cor, tamanho de fonte ou espaçamento literal: tudo aqui.
 * Nome de token é PAPEL, nunca cor (EF-07 §1.2) — ninguém escreve "azul".
 *
 * Tema: um só, claro (decisão do dono, 09/08/2026, resposta à pergunta Q-2).
 * Os tokens são semânticos justamente para que um tema escuro futuro troque
 * os valores aqui sem tocar em nenhuma tela.
 *
 * LACUNAS DECLARADAS — valor que a ficha NÃO fixou. Nenhuma foi inventada:
 * cada uma está marcada com "LACUNA" abaixo, resolvida por um valor que já
 * existe na ficha, e reportada ao dono da ficha. */

:root {
  /* ---- Cor: superfície e traço (EF-07 §1.2) ---- */
  --cor-fundo-base: #f5f6f8;
  --cor-superficie: #ffffff;
  --cor-borda: #dadada; /* PROVISÓRIA: cinza AdGrow — segue decorativa, nunca único sinal */
  --cor-borda-controle: #7a8496;

  /* ---- Cor: texto ---- */
  --cor-texto-forte: #1a1a1a; /* PROVISÓRIA: preto AdGrow; sobre superfície 16,9:1 */
  --cor-texto: #414b5a;
  --cor-texto-fraco: #67707f;

  /* ---- Cor: ação ---- */
  --cor-acao: #1643de; /* PROVISÓRIA: azul AdGrow até a identidade RastroCRM (dono, 12/08/2026). Branco sobre ela: 7,3:1 AA */
  --cor-acao-escura: #1236b2; /* pressionado, derivado do azul provisório */
  --cor-acao-fraca: #e8edfc; /* tom claro do azul provisório; ação sobre ele: 6,2:1 AA */

  /* ---- Cor: significado ---- */
  --cor-sucesso: #0a6c40;
  --cor-sucesso-fundo: #e6f4ec;
  --cor-erro: #b02418;
  /* LACUNA (EF-07 §1.2): a linha `erro` / `erro-fundo` traz UM valor para os
   * dois tokens. A tabela de contraste exige "erro sobre o próprio fundo
   * 5,9:1", então o fundo existe na intenção — mas o hexadecimal não está
   * escrito em lugar nenhum. Não foi inventado: enquanto o dono da ficha não
   * fixar o valor, `erro-fundo` é a superfície branca, onde `erro` mede 6,8:1
   * (folgado sobre a exigência) e o aviso se distingue pela borda `erro`. */
  --cor-erro-fundo: var(--cor-superficie);
  --cor-atencao: #8a5300;
  --cor-atencao-fundo: #fdf3e2;

  /* ---- Tipografia (EF-07 §1.3) ----
   * Pilha do sistema. Nenhuma fonte externa: sem carregamento, sem dependência
   * de terceiro, sem decisão de licença que ninguém tomou.
   *
   * OS VALORES VÊM DO ARQUIVO DE DESENHO (emenda 57 item 1, decisão do dono em
   * 20/08/2026): onde desenho e ficha divergirem em LAYOUT, o desenho vence, e
   * a §1.3 acompanha. Medidos no Figma neqCkXruUORPQSkZQHhY3R, página
   * "03 · Telas do produto", nos frames refeitos que o dono reviu:
   *   19:13 /funil · Funil (kanban)          — cartão 13/18, apoio 11/15
   *   15:13 /contatos/{id} + /leads/{id}     — cifra 24/30, rótulo 10/14
   *   20:13 /leads · Lista de leads          — linha 13/18, cabeçalho 10/14
   *   3:3 /entrar e 3:4 /criar-conta         — título 20/28
   * Conferidos contra a página "01 · Fundações (tokens)", que carrega os nomes
   * de variável desta folha.
   *
   * A REGRA NÃO MUDOU: uma escala só, declarada aqui. O desenho virou a fonte
   * dos valores; não virou licença para cada tela escolher o seu. Tela que
   * precisar de outro tamanho passa pela ficha, não por número solto. */
  --fonte: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --tamanho-titulo-tela: 20px;
  --entrelinha-titulo-tela: 28px;
  --tamanho-titulo-secao: 16px;
  --entrelinha-titulo-secao: 24px;
  --tamanho-corpo: 13px;
  --entrelinha-corpo: 18px;
  --tamanho-legenda: 11px;
  --entrelinha-legenda: 15px;
  --tamanho-numero-grande: 24px;
  --entrelinha-numero-grande: 30px;

  /* Etiqueta em caixa alta. A §1.3 a descrevia como "etiqueta de 12 px", isto
   * é, o mesmo tamanho da legenda; o desenho a traz um degrau abaixo — 10/14
   * em "QUEM É", "CONTATO", "DE ONDE VEIO", "ETAPA" (frames 15:13 e 20:13).
   * Continua sendo a mesma regra da ficha, com o valor do desenho, e num token
   * só para não virar número solto em tela. */
  --tamanho-rotulo-caixa-alta: 10px;
  --entrelinha-rotulo-caixa-alta: 14px;

  --peso-normal: 400;
  --peso-forte: 600;
  --espacamento-caixa-alta: 0.04em;

  /* ---- Espaçamento: escala única, base 4 (EF-07 §1.4) ----
   * 4, 8, 12, 16, 24, 32, 48. Valor fora dela é defeito.
   * Não existe 10, não existe 18, não existe 20. */
  --e-1: 4px;
  --e-2: 8px;
  --e-3: 12px;
  --e-4: 16px;
  --e-6: 24px;
  --e-8: 32px;
  --e-12: 48px;

  /* ---- Medidas fixas (EF-07 §1.4 e §2.1) ---- */
  --altura-linha-de-lista: 40px;
  --altura-controle: 32px;
  --altura-controle-toque: 40px;
  --altura-topo: 56px;
  --largura-lateral: 240px;
  --largura-lateral-recolhida: 64px;
  --largura-formulario: 640px;
  --largura-texto-corrido: 72ch;

  --raio: 6px;
  --raio-etiqueta: 4px;

  /* ---- O cartão de conteúdo das telas de configuração ----
   * Fonte: Figma "RastroCRM · 03 · Telas do produto", quadros
   * `/config/fontes` (41:13), `/config/fontes/{id}` (84:13) e
   * `/config/auditoria` (60:394), lidos em 20/08/2026 depois de o dono
   * decidir que o desenho manda no código.
   *
   * O desenho separa DOIS traços: o traço de controle (campo, botão) segue
   * `--cor-borda`, e o traço que só divide conteúdo dentro do cartão é mais
   * claro. Sem este segundo token, a divisória do cartão pesa como moldura de
   * campo — foi o que envelheceu nestas três telas. */
  --cor-borda-suave: #eff1f4;
  --raio-cartao: 10px;

  /* Elevação: duas, só duas (EF-07 §1.4). Terceira sombra não existe.
   * LACUNA (EF-07 §1.4): "flutuante = sombra suave" não traz valor. O valor
   * abaixo é o único número desta folha que a ficha não fixou; ele está
   * isolado num token só para ser trocado em uma linha quando o dono decidir. */
  /* ---- Marca: o painel do fluxo de acesso ----
   * Fonte: Figma "RastroCRM · Telas · 01 Fluxo de acesso", telas 1/5/6,
   * apontado pelo dono em 19/08/2026. O início do gradiente é a própria
   * --cor-acao (o desenho e esta folha usam o MESMO azul); só o fim e o
   * texto de apoio sobre a marca são valores novos. */
  --cor-marca-profunda: #0a2078;
  --cor-texto-sobre-marca: #d1e0fa;
  --tamanho-titulo-marca: 40px;
  --tamanho-logotipo-marca: 24px;
  --largura-painel-de-marca: 560px;
  --largura-cartao-de-acesso: 480px;

  --sombra-flutuante: 0 var(--e-1) var(--e-3) rgb(19 26 36 / 0.16);

  /* ---- As telas do trabalho: funil e ficha ----
   * Fonte: Figma "RastroCRM · Telas", página "03 · Telas do produto", frames
   * "/funil · Funil (kanban) · EF-07 T3" e "/contatos/{id} + /leads/{id} ·
   * Ficha do contato · EF-07 T2", lidos em 20/08/2026 (o desenho manda no
   * código — decisão do dono na mesma data). Só o que o desenho fixa e nenhum
   * token existente cobria; tamanho de texto e espaçamento continuam saindo
   * da escala acima. */
  --cor-fundo-coluna: #eef0f4; /* fundo da coluna do funil */
  --sombra-cartao: 0 2px 6px rgb(26 26 26 / 0.06); /* o cartão levanta do fundo */
  --largura-coluna-do-funil: 215px;
  --largura-coluna-de-identificacao: 272px; /* "quem é", à esquerda da ficha */
  --largura-coluna-de-origem: 288px; /* "de onde veio", à direita da ficha */
  --largura-rotulo-de-origem: 88px; /* a coluna de rótulos dos pares de origem */

  /* Cortina atrás do modal e do menu sobreposto.
   * LACUNA (EF-07): a ficha não fixa cor de cortina. O valor é `texto-forte`
   * com transparência — nenhuma cor nova entra na paleta por causa disto. */
  --cor-cortina: rgb(19 26 36 / 0.4);

  /* ---- Movimento (EF-07 §1.1, regra 4) ----
   * 120 ms a 160 ms. Nada acima de 200 ms, nada que se repita. */
  --transicao: 120ms ease-out;
  --transicao-painel: 160ms ease-out;

  /* ---- Foco ----
   * LACUNA (EF-07): a ficha dá a COR do foco (`acao`) e não a espessura.
   * 2px é espessura de traço, não de espaçamento — não pertence à escala
   * base 4 —, e está isolado aqui para ser trocado em um lugar só. */
  --traco-foco: 2px;

  /* ---- A moldura permanente: lateral escura e topo ----
   * Fonte: Figma 45:13, apontado pelo dono em 20/08/2026. A lateral escura é
   * paleta PRÓPRIA da moldura permanente — as telas continuam no tema claro
   * (decisão do dono, 09/08/2026, Q-2), e nenhuma tela lê estes tokens.
   * Os tamanhos fora da escala base 4 (7px, 10px, 12.5px…) são os números do
   * desenho, isolados aqui de propósito: mudam em um lugar só. */
  --lateral-fundo: #0b0e27;
  --lateral-texto: #d9e0f5;
  --lateral-texto-fraco: #8c9ec7;
  --lateral-texto-ativo: #ffffff;
  --lateral-item-ativo: var(--cor-acao); /* o mesmo azul da ação (#1643de no desenho) */
  --lateral-bloco: rgb(255 255 255 / 0.08); /* identidade da organização */
  --lateral-bloco-suave: rgb(255 255 255 / 0.06); /* atalho de busca e pouso */
  --lateral-realce: rgb(255 255 255 / 0.16); /* selo "hoje" e contador */
  --lateral-selo-fase: rgb(255 255 255 / 0.07);
  --lateral-divisor: rgb(255 255 255 / 0.10);
  --lateral-textura: url("/imagens/lateral-textura.png");
  --opacidade-lateral-textura: 0.25;
  --opacidade-lateral-apagado: 0.6;

  --raio-lateral-bloco: 8px;
  --raio-lateral-item: 7px;

  --tamanho-lateral-item: 13px;
  --tamanho-lateral-nome-org: 12.5px;
  --tamanho-lateral-busca: 12px; /* texto de apoio da lateral (o "Recolher menu") */
  --tamanho-lateral-grupo: 10px;
  --tamanho-lateral-selo: 9px;
  --espacamento-lateral-grupo: 0.6px;

  --tamanho-icone-lateral: 17px;
  --tamanho-inicial-org: 26px;
  /* O avatar da lateral saiu em 21/08/2026 junto com o item da pessoa: quem
     mostra a pessoa é o menu do topo, e o tamanho dele é o de baixo. */
  --tamanho-avatar-topo: 32px;

  --espaco-lateral: 10px; /* borda interna e vão do desenho (220px úteis em 240px) */
  --espaco-lateral-item: 7px; /* padding vertical do item */
  --espaco-selo-v: 2px;
  --espaco-selo-h: 6px;

  --largura-busca-topo: 360px;
  --tamanho-busca-topo: 13px;
}

/* Quem prefere menos movimento não recebe nenhum (EF-07 §1.1 é sobre não
 * atrasar; isto é sobre não incomodar). */
@media (prefers-reduced-motion: reduce) {
  :root {
    --transicao: 0ms;
    --transicao-painel: 0ms;
  }
}
