/* Tokens oficiais do Grupo LS (copiados da plataforma Receita Prevista do Fundeb; ver docs/01-IDENTIDADE-VISUAL.md). Cor só aqui. */
@font-face{font-family:'Oswald';font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/oswald-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Oswald';font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/oswald-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Oswald';font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/oswald-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Public Sans';font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/public-sans-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Public Sans';font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/public-sans-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Public Sans';font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/public-sans-latin-700-normal.woff2) format('woff2');}
:root{
  /* Paleta central (fonte única de cor; ver DESIGN.md). Nenhum outro arquivo CSS ou JS escreve cor em hexadecimal:
     o CSS usa var(--token) e o JS usa COR.<token> (js/00-config.js lê estes valores). */
  /* marca (guia de marca do Grupo LS) */
  --azul:#1B3B6B; --azul2:#326599; --azul-medio:#274B80; --dourado:#D4AF5A; --dourado-claro:#E5CF9C; --ceu:#4A8FC7; --branco:#FFFFFF;
  --azul-mclaro:#EAF3FB; --azul-gelo:#F3F7FC; --creme:#FBF8F2; --cinza-az:#7C8AA0; --cinza-claro:#D6DEE9; --linha:#E2E8F0; --azul-apoio:#B9C7DA;
  /* variações do dourado */
  --dourado-escuro:#A9832A; --dourado-medio:#C59A3E; --dourado-hover:#E0C27A; --dourado-tx:#8A6D2A; --dourado-tx-forte:#7A5A12;
  --creme-dourado:#FBF5E6; --creme-dourado-borda:#EFE2BF; --creme-coluna:#F6F0E1; --creme-coluna-hover:#EFE6CE;
  /* status: alta, queda, atenção */
  --verde:#3F9463; --coral:#E0665A; --amarelo:#E8B84B; --verde-medio:#8CC5A2; --vermelho-forte:#B3261E;
  /* tons de texto derivados para contraste AA sobre branco/creme */
  --verde-tx:#2E7550; --coral-tx:#B3443A; --amarelo-tx:#86610F; --muted:#56647B; --cinza-tx:#4A5C78;
  --verde-bg:#E7F3EC; --coral-bg:#FBEAE8; --amarelo-bg:#FBF1D9; --verde-bg-2:#E6F4EB; --coral-bg-2:#F8E9E7;
  --verde-borda:#BFDCCB; --verde-borda-2:#BFDFCB; --coral-borda:#F1C7C2; --coral-borda-2:#F2C3BE; --amarelo-borda:#EFD9A0;
  --cinza-bg:#F1F3F7; --cinza-bg-2:#F4F6F9; --cinza-bg-3:#EEF1F5; --cinza-fio:#EEF2F6;
  /* texto sobre fundo azul (faixas, destaques escuros) */
  --sobre-azul:#E8EEF7; --sobre-azul-2:#D6E2F0; --sobre-azul-3:#C9D6E8;
  --verde-sobre-azul:#8FD3AA; --verde-sobre-azul-2:#9FDDB7; --coral-sobre-azul:#F5A59D; --coral-sobre-azul-2:#F4ADA5; --coral-sobre-azul-3:#FFB4AB;
  /* atualizações das portarias (fluxo antes → depois) */
  --rev-up:#128A43; --rev-up2:#1FB25A;       /* aumento: verde vibrante (branco sobre #128A43 ≥ 4,5:1) */
  --rev-down:#9A4B46; --rev-down2:#B0605A;   /* redução: vermelho opaco, mesmo peso visual para qualquer valor */
  --rev-zero:var(--cinza-bg-3); --rev-zero-tx:var(--muted); /* sem alteração: cinza claro */
  /* canais RGB para transparências: rgba(var(--azul-rgb),.08) */
  --azul-rgb:27,59,107; --dourado-rgb:212,175,90; --dourado-claro-rgb:229,207,156; --ceu-rgb:74,143,199; --branco-rgb:255,255,255;
  --rev-up-rgb:18,138,67; --rev-down-rgb:154,75,70;
  --display:"Oswald","Arial Narrow",Arial,sans-serif; --sans:"Public Sans","Helvetica Neue",Arial,sans-serif;
  --r:14px; --gut:16px; color-scheme:light;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--creme);color:var(--azul);font-family:var(--sans);font-size:14px;line-height:1.5;margin:0}
a{color:var(--azul)}
:focus-visible{outline:3px solid var(--ceu);outline-offset:2px;border-radius:4px}
.pular{position:absolute;left:12px;top:-60px;z-index:100;background:var(--azul);color:var(--branco);font:600 14px var(--sans);padding:10px 16px;border-radius:0 0 10px 10px;text-decoration:none}
.pular:focus{top:0}
main:focus{outline:none}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--gut)}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:.01em;text-wrap:balance;margin:0}
.num{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:700;color:var(--dourado)}
.eb-light{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:var(--azul)}
.eb-light::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--dourado);flex:none}
.panel{background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:20px;min-width:0}
.panel h2{font-size:20px;margin-top:6px}
.sub{color:var(--muted);font-size:13px}
.note{font-size:12px;color:var(--muted)}
.btn{font:600 13px var(--sans);border:1px solid var(--azul);background:var(--branco);color:var(--azul);border-radius:999px;padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--azul-mclaro)}
.btn.primary{background:var(--azul);color:var(--branco)}
.btn.primary:hover{background:var(--azul2)}
.btn.gold{border-color:var(--dourado);background:var(--dourado);color:var(--azul)}
.btn.gold:hover{background:var(--dourado-hover)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost-w{border-color:rgba(var(--branco-rgb),.55);background:transparent;color:var(--branco)}
.btn.ghost-w:hover{background:rgba(var(--branco-rgb),.1)}
.pos{color:var(--verde-tx)} .neg{color:var(--coral-tx)} .neu{color:var(--muted)} .ate{color:var(--amarelo-tx)}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.field input,.field select{font:14px var(--sans);color:var(--azul);background:var(--branco);border:1px solid var(--cinza-claro);border-radius:8px;padding:10px 12px;width:100%;min-width:0}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;border:1px solid transparent;white-space:nowrap}
.b-a{background:var(--azul-mclaro);color:var(--azul);border-color:var(--cinza-claro)}
.b-g{background:var(--verde-bg);color:var(--verde-tx);border-color:var(--verde-borda)}
.b-p{background:var(--coral-bg);color:var(--coral-tx);border-color:var(--coral-borda)}
.b-n{background:var(--cinza-bg);color:var(--muted)}
.banner{background:var(--amarelo-bg);border:1px solid var(--amarelo-borda);color:var(--amarelo-tx);border-radius:var(--r);padding:10px 14px;font-size:13px}
.erro{color:var(--coral-tx);font-size:13px;font-weight:600}
svg{max-width:100%}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
