/* Portal P&A — base comum às 3 propostas. Paleta e fontes do site institucional (pa-site). */
:root{
  --bg:#fcfdfc;--surface:#ffffff;--tint:#f6f8f6;--tint-2:#eef2ef;
  --ink:#0f1512;--ink-2:#2a322d;--body:#5d645c;--muted:#656f68;--faint:#c3ccc6;
  --line:#e7eee9;--line-2:#dbe3dd;
  --gold:#B8860B;--gold-deep:#8C6508;--gold-ink:#6E5006;--gold-50:#FBF6EA;--gold-100:#F4EAD2;--gold-200:#E9D6A8;
  --red:#c2554a;--ok:#2f7a5b;
  --dark:#101512;--dark-2:#171d19;--dark-line:#28302b;
  --placa:#fcfdfc;
  --r-sm:10px;--r:16px;--r-lg:22px;
  --sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0e1210;--surface:#141a16;--tint:#121714;--tint-2:#18201b;
    --ink:#eef1ee;--ink-2:#d4dad5;--body:#a7aea8;--muted:#8c948e;--faint:#3a443d;
    --line:#222a25;--line-2:#2c3530;
    --gold:#D4A537;--gold-deep:#E2B04A;--gold-ink:#F0CC7A;--gold-50:#1d1910;--gold-100:#2a2312;--gold-200:#4a3c18;
    --ok:#6cc79f;color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0e1210;--surface:#141a16;--tint:#121714;--tint-2:#18201b;
  --ink:#eef1ee;--ink-2:#d4dad5;--body:#a7aea8;--muted:#8c948e;--faint:#3a443d;
  --line:#222a25;--line-2:#2c3530;
  --gold:#D4A537;--gold-deep:#E2B04A;--gold-ink:#F0CC7A;--gold-50:#1d1910;--gold-100:#2a2312;--gold-200:#4a3c18;
  --ok:#6cc79f;color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:0}
h1{font-size:clamp(28px,4vw,40px)}
h2{font-size:clamp(20px,2.4vw,26px)}
h3{font-size:18px}
p{margin:0;color:var(--body)}
a{color:inherit}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.rotulo{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
/* logo: nunca recolorida; em fundo escuro vai sobre placa clara */
.placa{display:inline-flex;align-items:center;background:var(--placa);border-radius:12px;padding:10px 14px}
.placa img{display:block;height:44px;width:auto}
.placa.peq img{height:30px}
.placa.simb img{height:34px}
/* formulário — mesmos campos do /entrar atual */
label{display:block;font-size:14px;font-weight:500;color:var(--ink-2);margin:16px 0 6px}
label .dica{font-weight:400}
.dica{color:var(--muted);font-size:13px}
input{width:100%;min-height:48px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:0 14px;font:inherit}
input:focus-visible{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
button,.bt{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;border:0;border-radius:var(--r-sm);background:var(--ink);color:var(--bg);font:500 15px var(--sans);cursor:pointer;text-decoration:none;margin-top:18px;transition:transform .15s,opacity .15s}
button:hover,.bt:hover{opacity:.9}
button:active{transform:translateY(1px)}
button.sec{background:transparent;color:var(--ink);border:1px solid var(--line-2);margin-top:10px}
.msg{font-size:14px;border-radius:var(--r-sm);padding:10px 12px;margin:12px 0 0;border:1px solid}
.msg.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}
.msg.lac{color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,transparent);background:color-mix(in srgb,var(--red) 7%,transparent)}
@keyframes entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
main,.painel,.assina{animation:entra .45s ease both}
.etiqueta{display:inline-block;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:4px 10px;border:1px solid var(--line-2);color:var(--muted)}
.etiqueta.ouro{border-color:var(--gold-200);color:var(--gold-ink);background:var(--gold-50)}
.etiqueta.restrito{align-self:flex-start;color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent);background:color-mix(in srgb,var(--red) 8%,transparent)}
.sair{font-size:14px;color:var(--muted);text-decoration:none}
.sair:hover{color:var(--ink)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
