/* ============================================================
   Tokens da plataforma — direção "Calma", aprovada em 20/10/2026
   e fechada tela a tela em 21/10/2026.

   Vêm do bloco :root de mockup-hub-v4.html. Nenhuma regra de CSS
   do projeto escreve cor, raio, sombra ou tamanho direto: se o
   valor não está aqui, ele não existe.

   O estilo.css antigo continua carregado enquanto as telas da
   fase 2 e 3 não migram. Por isso tudo o que é novo leva prefixo
   (.fx- moldura, .ui- componente, .lc-/.cn-/.cd- tela): o app já
   perdeu tempo três vezes com colisão de .principal, .corpo e
   .desc, e as duas folhas vão conviver por algumas semanas.
   ============================================================ */

:root{
  /* ---------- superfícies: separadas por tom, sem borda ---------- */
  --fundo:#F6F5F2;
  --painel:#FFFFFF;
  --elevado:#FFFFFF;
  --rebaixado:#EDEBE6;
  --rebaixado-2:#E3E0DA;      /* hover do botão secundário */
  --lateral:#EFEDE8;

  /* ---------- tinta e traço ---------- */
  --tinta:#1D1F22;
  --tinta-2:#5B6470;          /* apoio, ≥ 5,0:1 em todas as superfícies */
  --fio:#E6E3DD;              /* só dentro de tabela e lista */
  --contorno:#8C8F94;         /* só em campo de digitação, 3,2:1 */

  /* ---------- ação ---------- */
  --acao:#2F5C7E;
  --acao-hover:#264C69;
  --acao-suave:#E4ECF2;       /* coluna em foco e sugestão (Fluxo, Metas) */
  --sobre-acao:#FFFFFF;

  /* ---------- cor no dado: natureza da despesa ---------- */
  --dado-essencial:#C2703D;
  --dado-nao-essencial:#8B6BB8;
  --dado-investimento:#3B8C84;
  --dado-base:#C9D3DC;        /* série de comparação, sem significado próprio */

  /* ---------- estado ---------- */
  --ok:#2E7048;       --ok-suave:#E3F0E6;
  --atencao:#8A5A00;  --atencao-suave:#F7EBCB;
  --erro:#B23A3A;     --erro-suave:#F8E1DF;

  /* ---------- profundidade: uma sombra, dois pesos ---------- */
  --sombra-elevacao:0 1px 2px rgb(29 31 34 / .05), 0 8px 24px rgb(29 31 34 / .10);
  --sombra-pilula:0 1px 2px rgb(29 31 34 / .10);
  --veu:rgb(29 31 34 / .32);

  /* ---------- raio por papel ---------- */
  --r-painel:14px;
  --r-controle:10px;
  --r-pilula:999px;

  /* ---------- espaço ---------- */
  --e1:4px; --e2:8px; --e3:12px; --e4:16px; --e5:20px; --e6:24px; --e7:32px;

  /* ---------- texto (12 px é o piso) ---------- */
  --t-min:12px;
  --t-apoio:13px;
  --t-corpo:14px;
  --t-titulo:16px;
  --t-h1:22px;
  --t-kpi:24px;
  --t-destaque:34px;

  /* ---------- movimento: só em resposta ---------- */
  --dur:140ms;
  --dur-2:220ms;
  --ease:cubic-bezier(.2,.8,.2,1);

  /* ---------- medidas da moldura ---------- */
  --lateral-w:232px;
  --conteudo-max:1440px;
  --gaveta-w:460px;
  --alt-fluxo:300px;
  --alt-linha3:292px;

  /* ============================================================
     Tokens de dado de uma tela só. Ficam aqui, e não na folha da
     tela, para que exista um lugar único onde conferir se duas
     telas estão dizendo a mesma coisa com cores diferentes.
     ============================================================ */

  /* Lançamentos: a transferência não é entrada nem saída (regra 5.3),
     então ela não usa cor de dado — usa um fundo próprio. */
  --transf-fundo:#F1F4F6;
  --transf-hover:#E9EEF2;

  /* Patrimônio: de quem é o dinheiro */
  --dono-seu:#2F5C7E;
  --dono-negocio:#C2703D;
  --dono-terceiro:#8B6BB8;

  /* Cartões */
  --cartao-inter:#C2703D;
  --cartao-itau:#2F5C7E;
  --cartao-nubank:#8B6BB8;

  /* Renda: fontes */
  --fonte-nexxus:#2F5C7E;
  --fonte-genius:#3B8C84;
  --fonte-clientes:#8B6BB8;
  --fonte-outros:#B9B4AB;

  /* Financiamento: para onde vai a parcela, e o contrato sem extras */
  --dado-amortizacao:#3B8C84;
  --dado-juros:#C2703D;
  --dado-contrato:#B9B4AB;
  --alt-graf:300px;

  /* Plano de compras: quem paga. As variantes -forte são para texto,
     porque as claras só têm contraste de preenchimento. */
  --quem-meu:#2F5C7E;
  --quem-mamae:#8B6BB8;   --quem-mamae-forte:#6E4F9C;
  --quem-irpf:#3B8C84;    --quem-irpf-forte:#2D7069;
}

@media (prefers-reduced-motion: reduce){
  :root{ --dur:0ms; --dur-2:0ms }
}
