/* ============================================================================
   VSJuris — tokens de design (tirados do painel Coffi, 29/10/2026)
   Três camadas, nesta ordem:
     1. primitivos   (--p-*)   valores crus: a paleta. Ninguém usa direto fora deste arquivo.
     2. semânticos             papel da cor: texto, linha, superfície, dado, marca.
     3. componentes  (--c-*)   o que cada peça usa (botão, cartão, campo, menu).
   Regra: NENHUMA cor escrita à mão fora deste arquivo. Módulo novo usa só as
   camadas 2 e 3. A marca do escritório entra por --marca (trocada em tempo de
   execução pelo nucleo/marca.js); as cores do dado (--pos/--neg/--info/--aviso)
   nunca mudam com a marca.
   ============================================================================ */
@font-face{font-family:'Inter';src:url('fontes/inter.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Inter Tight';src:url('fontes/inter-tight.woff2') format('woff2');font-weight:500;font-display:swap}

:root{
  /* ---------- 1. PRIMITIVOS ---------- */
  --p-branco:#ffffff;
  --p-branco-rgb:255,255,255;
  --p-preto-rgb:0,0,0;
  --p-noite-950:#020f1b;
  --p-noite-900:#04101a;
  --p-noite-850:#04121b;
  --p-noite-800:#0b1724;
  --p-noite-700:#0a1a22;
  --p-noite-rgb:3,18,32;
  --p-azul-500:#1e6fe0; --p-azul-500-rgb:30,111,224;
  --p-ciano-700:#03738b; --p-ciano-700-rgb:3,115,139;
  --p-topo:#03203a;
  --p-fundo:#010f1c;
  --p-verde:#3DF0B0;   --p-verde-rgb:61,240,176;
  --p-vermelho:#FF5A6E;--p-vermelho-rgb:255,90,110;
  --p-ciano:#4FE0FF;   --p-ciano-rgb:79,224,255;
  --p-ambar:#FFC05C;   --p-ambar-rgb:255,192,92;
  --p-lilas:#B79CFF;   --p-lilas-rgb:183,156,255;
  --p-tinta-escura:#0b1219;
  /* série de 8 validada (skill dataviz, contra #17212b, todas PASS) */
  --p-s1:#3987e5; --p-s2:#d95926; --p-s3:#199e70; --p-s4:#c98500;
  --p-s5:#d55181; --p-s6:#008300; --p-s7:#9085e9; --p-s8:#e66767;
  /* marca padrão do VSJuris (antes de escolher escritório) */
  --p-vsjuris:#4c8dff; --p-vsjuris-rgb:76,141,255;
  /* impressão da peça (PDF pela janela de impressão: papel branco, tinta preta) */
  --p-impressao-texto:#000000; --p-impressao-fundo:#ffffff; --p-impressao-linha:#999999;

  /* ---------- 2. SEMÂNTICOS ---------- */
  --texto:var(--p-branco);
  --texto-forte:rgba(var(--p-branco-rgb),.92);
  --texto-2:rgba(var(--p-branco-rgb),.64);     /* secundário, rótulos */
  --texto-3:rgba(var(--p-branco-rgb),.42);     /* legenda, cabeçalho de tabela */
  --texto-4:rgba(var(--p-branco-rgb),.24);     /* quase apagado */
  --linha:rgba(var(--p-branco-rgb),.14);
  --linha-2:rgba(var(--p-branco-rgb),.22);
  --vidro:linear-gradient(180deg,rgba(var(--p-branco-rgb),.14),rgba(var(--p-branco-rgb),.09));
  --vidro-forte:linear-gradient(180deg,rgba(var(--p-branco-rgb),.20),rgba(var(--p-branco-rgb),.13));
  --vidro-solido:rgba(10,26,34,.94);
  --sup-1:rgba(var(--p-branco-rgb),.035);      /* superfície quase lisa */
  --sup-2:rgba(var(--p-branco-rgb),.06);
  --sup-3:rgba(var(--p-branco-rgb),.10);
  --sup-4:rgba(var(--p-branco-rgb),.16);
  --sup-menu:var(--p-noite-800);               /* <option> e listas nativas */
  --fundo-pagina:var(--p-noite-900);
  --fundo-cena:
    radial-gradient(60% 50% at 85% 0%,rgba(var(--p-azul-500-rgb),.34),transparent 70%),
    radial-gradient(55% 45% at 0% 100%,rgba(var(--p-ciano-700-rgb),.30),transparent 70%),
    radial-gradient(40% 35% at 45% 55%,rgba(var(--p-azul-500-rgb),.07),transparent 70%),
    linear-gradient(180deg,var(--p-topo),var(--p-fundo) 75%);
  --veu-rgb:var(--p-noite-rgb);
  --escurecer:rgba(4,15,22,.72);               /* atrás de janela e menu cheio */
  --sombra-cor:rgba(var(--p-preto-rgb),.7);
  --sombra-forte:rgba(var(--p-preto-rgb),.85);

  /* cores do DADO (nunca da marca) */
  --pos:var(--p-verde);    --pos-rgb:var(--p-verde-rgb);       /* entra, ok, cumprido */
  --neg:var(--p-vermelho); --neg-rgb:var(--p-vermelho-rgb);    /* sai, erro, vencido */
  --info:var(--p-ciano);   --info-rgb:var(--p-ciano-rgb);      /* informação, hoje, demonstração */
  --aviso:var(--p-ambar);  --aviso-rgb:var(--p-ambar-rgb);     /* atenção, perto do limite */
  --lilas:var(--p-lilas);  --lilas-rgb:var(--p-lilas-rgb);     /* audiência, agenda */

  /* áreas do direito (série validada) */
  --area-previdenciario:var(--p-s1);
  --area-trabalhista:var(--p-s2);
  --area-civel:var(--p-s3);
  --area-familia:var(--p-s5);
  --area-criminal:var(--p-s8);
  --serie-1:var(--p-s1);--serie-2:var(--p-s2);--serie-3:var(--p-s3);--serie-4:var(--p-s4);
  --serie-5:var(--p-s5);--serie-6:var(--p-s6);--serie-7:var(--p-s7);--serie-8:var(--p-s8);

  /* MARCA do escritório: o nucleo/marca.js reescreve estas três no :root */
  --marca:var(--p-vsjuris);
  --marca-rgb:var(--p-vsjuris-rgb);
  --marca-tinta:var(--p-tinta-escura);         /* texto em cima de fundo --marca */

  /* tipografia */
  --fonte-ui:'Inter',-apple-system,'Segoe UI',sans-serif;
  --fonte-titulo:'Inter Tight','Inter',sans-serif;
  --fonte-mono:ui-monospace,'Cascadia Code','Consolas',monospace;
  --t-xs:11px; --t-sm:12.5px; --t-md:13.5px; --t-base:15px; --t-lg:19px;
  --t-titulo:clamp(21px,2.4vw,27px);
  --t-numero:clamp(20px,2.4vw,27px);
  --t-heroi:clamp(40px,5.6vw,64px);

  /* espaço (escala de 4) */
  --e-1:4px; --e-2:8px; --e-3:12px; --e-4:16px; --e-5:20px; --e-6:24px; --e-8:32px; --e-10:40px;
  --lateral-pagina:clamp(16px,2.4vw,34px);
  --largura-conteudo:1240px;

  /* raios */
  --r-sm:12px; --r:16px; --r-lg:22px; --r-pilula:500px;

  /* sombras */
  --sombra-cartao:0 24px 60px -34px var(--sombra-cor);
  --sombra-suspensa:0 24px 60px -24px var(--sombra-cor);
  --sombra-janela:0 30px 70px -24px var(--sombra-forte);

  /* movimento */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-suave:cubic-bezier(.22,.61,.36,1);
  --ease-mola:cubic-bezier(.34,1.56,.64,1);
  --desfoque:blur(26px) saturate(118%);

  /* camadas */
  --z-app:1; --z-topo:30; --z-lateral:50; --z-suspenso:60; --z-fab:70; --z-toast:80;
  --z-menu-cheio:90; --z-janela:95; --z-entrada:300;
  --z-sino:60; --z-dica:120;

  /* ---------- 3. COMPONENTES ---------- */
  --c-cartao-fundo:var(--vidro);
  --c-cartao-borda:var(--linha);
  --c-cartao-raio:var(--r-lg);
  --c-cartao-respiro:22px;
  --c-btn-fundo:rgba(var(--p-branco-rgb),.13);
  --c-btn-fundo-hover:rgba(var(--p-branco-rgb),.22);
  --c-btn-borda:var(--linha-2);
  --c-btn-principal-fundo:rgba(var(--marca-rgb),.26);
  --c-btn-principal-hover:rgba(var(--marca-rgb),.38);
  --c-btn-principal-borda:rgba(var(--marca-rgb),.6);
  --c-campo-fundo:rgba(var(--p-branco-rgb),.08);
  --c-campo-fundo-foco:rgba(var(--p-branco-rgb),.14);
  --c-menu-ativo:rgba(var(--p-branco-rgb),.16);
  --c-menu-hover:rgba(var(--p-branco-rgb),.10);
  --c-menu-indicador:var(--marca);
  --c-chip-ativo-fundo:rgba(var(--marca-rgb),.16);
  --c-chip-ativo-borda:rgba(var(--marca-rgb),.6);
  --c-foco:var(--marca);
  --c-selecao-fundo:rgba(var(--marca-rgb),.9);
  --c-selecao-texto:var(--marca-tinta);
  --c-lateral:82px;
  --c-lateral-aberta:236px;

  /* faixa de só leitura (mensalidade em atraso) */
  --c-faixa-leitura-fundo:rgba(var(--aviso-rgb),.14);
  --c-faixa-leitura-borda:rgba(var(--aviso-rgb),.4);
  /* pílula de estado .st (sempre com rótulo, nunca só cor) */
  --c-st-ok-fundo:rgba(var(--pos-rgb),.08);      --c-st-ok-texto:var(--pos);
  --c-st-aviso-fundo:rgba(var(--aviso-rgb),.08); --c-st-aviso-texto:var(--aviso);
  --c-st-erro-fundo:rgba(var(--neg-rgb),.08);    --c-st-erro-texto:var(--neg);
  --c-st-info-fundo:rgba(var(--info-rgb),.08);   --c-st-info-texto:var(--info);
  --c-st-off-fundo:var(--sup-1);                 --c-st-off-texto:var(--texto-3);
  /* calendário de prazos */
  --c-cal-prazo:var(--neg); --c-cal-audiencia:var(--lilas); --c-cal-pericia:var(--aviso);
  --c-cal-tarefa:var(--info); --c-cal-hoje:var(--marca);
  /* balões do atendimento */
  --c-msg-entrada-fundo:var(--sup-2);
  --c-msg-saida-fundo:rgba(var(--marca-rgb),.18);
  --c-msg-eco-fundo:var(--sup-3);
  /* kanban (funil) */
  --c-funil-coluna-fundo:var(--sup-1);
  --c-funil-cartao-fundo:var(--vidro);
  /* medidor da cota de peças */
  --c-medidor-trilho:var(--sup-3); --c-medidor-cheio:var(--marca);
  --c-medidor-perto:var(--aviso);  --c-medidor-passou:var(--neg);
  /* texto em cima de cor clara */
  --c-tinta-sobre-claro:var(--p-tinta-escura);
  /* impressão (CSS de página A4 da peça) */
  --c-impressao-texto:var(--p-impressao-texto);
  --c-impressao-fundo:var(--p-impressao-fundo);
  --c-impressao-linha:var(--p-impressao-linha);
  /* gráficos (nucleo/graficos.js) */
  --c-grafico-borda-ponto:var(--fundo-pagina);
  --c-grafico-vazio:var(--texto-3);
}
