/* Visual compartilhado das telas de acesso: entrar, esqueci minha senha e criar senha nova.
   Para trocar a cor de destaque (dourado) por outra, mude só --dest, --dest-claro e --dest-escuro aqui embaixo. */
:root{
  --bg:#141414;--campo:#272727;--borda:#6B6B65;--texto:#F2F2F0;--mudo:#A3A39D;
  --dest:#D8B04A;--dest-claro:#E9C96B;--dest-escuro:#BE9530;--sobre-dest:#1A1400;--brilho:rgba(216,176,74,.16);
  --bad:#FF7A70;--ok:#6FD1A0;--f:"Helvetica Neue",Helvetica,Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--texto);font-family:var(--f)}
body{background:radial-gradient(ellipse 60% 34% at 50% 0%,var(--brilho),transparent 70%),var(--bg);background-repeat:no-repeat}
.pagina{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 20px}
.cartao{width:100%;max-width:420px}
.marca{margin:0 0 40px;text-align:center}
.marca img{display:block;width:min(230px,62%);height:auto;margin:0 auto}
h1{text-align:center;font-size:30px;line-height:1.15;margin:0 0 26px;font-weight:700;letter-spacing:-.015em}
h1 .dest{color:var(--dest)}
.sub{margin:0 0 26px;color:var(--mudo);font-size:15px;line-height:1.55;text-align:center}
h1 + .sub{margin-top:-16px}

/* campos com o nome escrito sobre a borda */
.campo{position:relative;margin-top:24px}
.campo:first-of-type{margin-top:0}
.campo label{position:absolute;top:-9px;left:14px;z-index:1;margin:0;padding:0 6px;background:linear-gradient(to bottom,var(--bg) 0 50%,var(--campo) 50% 100%);font-size:12.5px;font-weight:600;color:#C9C9C3;line-height:1.3}
.campo:focus-within label{color:var(--dest)}
input[type=text],input[type=email],input[type=password]{width:100%;height:58px;padding:0 16px;border:1.5px solid var(--borda);border-radius:12px;font:inherit;font-size:16px;background:var(--campo);color:var(--texto)}
input::placeholder{color:#8C8C86}
input:focus{outline:none;border-color:var(--dest);box-shadow:0 0 0 3px rgba(216,176,74,.18)}
input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px var(--campo) inset;-webkit-text-fill-color:var(--texto);caret-color:var(--texto)}
.senha-wrap{position:relative}
.senha-wrap input{padding-right:54px}
.olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--mudo);cursor:pointer;border-radius:10px}
.olho:hover{color:var(--texto)}
.olho svg{width:22px;height:22px}
.olho .barra{display:block}
.olho[aria-pressed="true"] .barra{display:none}
.dica{font-size:12.5px;color:var(--mudo);margin:8px 0 0 2px;line-height:1.45}
.fase{margin:22px 0 0;padding:12px 14px;border:1px solid rgba(216,176,74,.45);border-radius:12px;background:rgba(216,176,74,.08);font-size:13.5px;line-height:1.5;color:var(--texto)}
.aceite{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:13px;line-height:1.55;color:var(--mudo)}
.aceite input{margin-top:2px;flex:none;width:18px;height:18px;accent-color:var(--dest)}
.aceite a{color:var(--dest)}

.esqueci-linha{display:flex;justify-content:flex-end;margin:10px 2px 0}
.esqueci-linha a,.esqueci{font-size:13.5px;font-weight:600;color:var(--dest);text-decoration:underline;text-underline-offset:3px}
.esqueci-linha a:hover{filter:brightness(1.15)}

.btn{display:block;width:100%;height:54px;margin-top:20px;border:0;border-radius:12px;background:linear-gradient(180deg,var(--dest-claro),var(--dest-escuro));color:var(--sobre-dest);font:inherit;font-size:16px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;line-height:54px;padding:0;box-shadow:0 6px 22px rgba(216,176,74,.22),inset 0 1px 0 rgba(255,255,255,.35)}
.btn:hover{filter:brightness(1.06)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.55;cursor:default}
.chamada{display:block;width:100%;margin-top:12px;height:54px;border:1.5px solid var(--dest);border-radius:12px;background:transparent;color:var(--dest);font:inherit;font-size:16px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;line-height:51px;padding:0}
.chamada:hover{background:rgba(216,176,74,.1)}
.btn:focus-visible,.olho:focus-visible,.chamada:focus-visible,a:focus-visible,.link:focus-visible{outline:3px solid var(--dest);outline-offset:3px}
.troca{margin-top:0}
.troca .texto{margin:22px 0 0;text-align:center;font-size:14px;color:var(--mudo)}
.erro{margin:14px 2px 0;color:var(--bad);font-size:14px;line-height:1.45}
.erro:empty{display:none}
.msg{margin:14px 0 0;font-size:14px;line-height:1.5}
.msg.erro{color:var(--bad)} .msg.ok{color:var(--ok)}
.ok-caixa{margin-top:22px;padding:16px 18px;border:1px solid rgba(111,209,160,.5);border-radius:12px;background:rgba(111,209,160,.08);font-size:14.5px;line-height:1.6;color:var(--texto);text-align:center}
.link{border:0;background:none;padding:0;font:inherit;font-size:14px;font-weight:600;color:var(--dest);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.voltar{display:block;margin-top:24px;text-align:center;font-size:14px;color:var(--mudo);text-decoration:none}
.voltar:hover{color:var(--texto)}
.legal{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;text-align:center;font-size:12.5px;color:#7C7C77;max-width:420px;line-height:1.7}
.legal a{color:#8D8D87;text-decoration:none}
.legal a:hover{color:var(--texto);text-decoration:underline}
[hidden]{display:none!important}
@media (max-width:480px){.pagina{justify-content:flex-start;padding-top:48px}h1{font-size:27px}}
