/* ===== Base compartilhada pelas 3 telas (login, inicial, senhas) ===== */
:root{
  --fundo:#f2f5f2; --papel:#ffffff; --tinta:#17261f; --suave:#5a6b63; --linha:#c9d4ce; --borda-campo:#75867e;
  --acao:#1d6b57; --acao-fundo:#e3f0ea; --acao-texto:#ffffff; --erro:#b3261e; --erro-fundo:#fdeceb;
  --fonte:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --fundo:#101a16; --papel:#17231e; --tinta:#e8f0eb; --suave:#9db0a6; --linha:#3f564b; --borda-campo:#6b8176;
  --acao:#4fc2a3; --acao-fundo:#1f3a31; --acao-texto:#07201a; --erro:#ff8a80; --erro-fundo:#3a1b19; color-scheme:dark;}}
:root[data-theme="dark"]{
  --fundo:#101a16; --papel:#17231e; --tinta:#e8f0eb; --suave:#9db0a6; --linha:#3f564b; --borda-campo:#6b8176;
  --acao:#4fc2a3; --acao-fundo:#1f3a31; --acao-texto:#07201a; --erro:#ff8a80; --erro-fundo:#3a1b19; color-scheme:dark;}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--fundo);color:var(--tinta);font:400 1rem/1.5 var(--fonte);display:flex;flex-direction:column;min-height:100vh}
main.centro{flex:1;display:grid;place-items:center;padding:24px 16px}
html{-webkit-tap-highlight-color:color-mix(in srgb,var(--acao) 18%,transparent)}
a,button{touch-action:manipulation}
.pular{position:absolute;left:8px;top:-100px;z-index:10;background:var(--acao);color:var(--acao-texto);padding:10px 14px;border-radius:8px;font-weight:600;text-decoration:none}
.pular:focus{top:8px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--acao);outline-offset:2px}
h1{font-size:1.625rem;line-height:1.2;margin:0 0 6px;font-weight:700;letter-spacing:-.02em;text-wrap:balance}
h1:focus,[tabindex="-1"]:focus{outline:none}
.sub{margin:0 0 24px;color:var(--suave)}
.sub b,.sub .email{overflow-wrap:anywhere}
.sub.larga{margin-bottom:28px}
@media (max-width:560px){h1{font-size:1.5rem}}
.cartao{width:100%;max-width:400px;background:var(--papel);border:1px solid var(--linha);border-radius:16px;padding:32px 28px}
.marca{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-weight:700;letter-spacing:-.01em}
.marca svg{width:36px;height:44px;flex:none;color:var(--acao)}
.cartao .marca{margin-bottom:28px;font-size:1.0625rem}
.marca.peq svg{width:26px;height:32px}
.marca.peq{gap:10px;font-size:1rem}
.campo{margin-bottom:18px}
label{display:block;font-weight:600;font-size:0.9375rem;margin-bottom:6px}
.linha{position:relative}
input{width:100%;height:48px;padding:0 14px;border:1.5px solid var(--borda-campo);border-radius:10px;background:var(--papel);color:var(--tinta);font:400 1rem var(--fonte)}
input::placeholder{color:var(--suave)}
input.com-botao{padding-right:92px}
input[aria-invalid="true"]{border-color:var(--erro)}
input:focus-visible{outline-offset:1px;border-color:var(--acao)}
input[aria-invalid="true"]:focus-visible{border-color:var(--erro)}
.ver{position:absolute;right:2px;top:2px;height:44px;min-width:44px;padding:0 12px;border:0;background:none;color:var(--acao);font:600 0.875rem var(--fonte);cursor:pointer;border-radius:8px}
.dica{font-size:0.875rem;color:var(--suave);margin-top:6px}
.erro{font-size:0.875rem;color:var(--erro);margin-top:6px;font-weight:500}          /* erro de UM campo, abaixo dele */
.faixa{margin:0 0 18px;padding:10px 12px;border-radius:8px;background:var(--erro-fundo);color:var(--erro);font-size:0.9375rem;font-weight:500} /* erro do formulário inteiro */
.botao{width:100%;min-height:48px;height:auto;padding:10px 14px;border:0;border-radius:10px;background:var(--acao);color:var(--acao-texto);font:600 1rem var(--fonte);cursor:pointer;margin-top:4px}
a.botao{display:flex;align-items:center;justify-content:center;text-decoration:none}
.botao:hover{filter:brightness(1.06)}
.botao:disabled,.botao[aria-busy="true"]{background:var(--suave);cursor:progress;filter:none}
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.botao[aria-busy="true"]::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%}
@media (prefers-reduced-motion:no-preference){.botao[aria-busy="true"]::before{animation:gira .8s linear infinite}@keyframes gira{to{transform:rotate(360deg)}}}
.link:hover{text-decoration-thickness:2px}
.ver:hover{text-decoration:underline}
.link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;background:none;border:0;color:var(--acao);font:600 0.9375rem var(--fonte);text-decoration:underline;cursor:pointer;border-radius:6px}
.rodape.junto{margin-top:0}
.dica.centro-texto{text-align:center}
.rodape{display:flex;flex-wrap:wrap;gap:0 16px;justify-content:center;margin-top:10px}
[hidden]{display:none!important}
.faixa a,.salvo,.info,.erro{overflow-wrap:anywhere}
.info.aten{background:var(--erro-fundo);border:1px solid var(--erro)}


.info{margin:0 0 18px;padding:10px 12px;border-radius:8px;background:var(--acao-fundo);color:var(--tinta);font-size:0.9375rem}
.voltar-login{margin-top:6px}
