:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#172b3a;background:#eef5f7;--primary:#0b6574;--cyan:#22b8d2;--ink:#12323d;--muted:#607681
}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}
body{min-height:100vh;background:linear-gradient(135deg,#092f3a 0 38%,#eef5f7 38% 100%)}
button,input{font:inherit}
.shell{width:min(1080px,calc(100% - 30px));min-height:100vh;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center;padding:42px 0}
.intro{color:#fff;padding:24px}.marca{font-weight:950;font-size:20px;margin-bottom:42px}
.etiqueta,.eyebrow{display:inline-flex;color:#0c8093;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.etiqueta{color:#fff;padding:7px 10px;border:1px solid rgba(112,221,237,.38);border-radius:999px;background:rgba(34,184,210,.14)}
.intro h1{font-size:clamp(42px,5vw,60px);line-height:1.02;margin:20px 0}.intro p{color:#d8ebef;font-size:17px;line-height:1.65;max-width:540px}
.passos{display:grid;gap:10px;margin-top:28px}.passos span{display:flex;align-items:center;gap:10px;color:#a9c5cb}
.passos span.ativo{color:#fff}.passos b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#315964;color:#fff}
.passos span.ativo b{background:var(--cyan);color:#062d35}
.card{background:#fff;border:1px solid #d3e1e5;border-radius:24px;padding:30px;box-shadow:0 28px 80px rgba(9,47,58,.18)}
.voltar{display:inline-flex;margin-bottom:22px;color:#607681;font-size:13px;font-weight:800;text-decoration:none}.voltar:hover{color:#0b6574}
.etapa h2{font-size:30px;color:#12323d;margin:7px 0}.etapa>p{margin:0 0 22px;color:#607681;line-height:1.5}
form{display:grid;gap:15px}label{display:grid;gap:7px;font-size:13px;font-weight:850;color:#284a55}
input{width:100%;min-height:48px;border:1px solid #bfd0d6;border-radius:11px;padding:11px 12px;color:#16343f;background:#fff;outline:none}
input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,184,210,.15)}
#codigoVerificacao{text-align:center;font-size:26px;letter-spacing:.35em;font-weight:900}
.primario,.secundario,.perigo,.link-button{min-height:48px;border-radius:11px;padding:10px 14px;font:inherit;font-weight:900;cursor:pointer}
.primario{border:0;background:#0b6574;color:#fff}.primario:hover{background:#084e5a}.primario:disabled,.perigo:disabled{opacity:.6;cursor:wait}
.secundario{border:1px solid #86b8c1;background:#fff;color:#0b5967}
.perigo{border:1px solid #fecaca;background:#991b1b;color:#fff}
.link-button{border:0;background:transparent;color:#607681;font-size:12px;text-decoration:underline;min-height:36px}
.mensagem{min-height:20px;font-size:13px;font-weight:750}.mensagem.erro{color:#a71928}.mensagem.ok{color:#166534}
.credencial{display:grid;gap:4px;padding:14px 16px;margin-top:12px;border:1px solid #d7e2e7;border-radius:12px;background:#f8fbfc}
.credencial small{color:#6b7f88;font-weight:750}.credencial strong{color:#153b47;font-size:18px}
.credencial.codigo{background:#eaf8fa;border-color:#8fd5df}.credencial.codigo strong{font-size:28px;letter-spacing:.08em;color:#075f6d}
.acoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.senha-box{margin-top:18px;border:1px solid #fed7aa;background:#fffaf4;border-radius:12px;padding:12px 14px}
.senha-box summary{cursor:pointer;color:#7c2d12;font-weight:850}.senha-box form{margin-top:15px}
@media(max-width:820px){body{background:#eef5f7}.shell{grid-template-columns:1fr;gap:18px;padding:18px 0}.intro{background:#092f3a;border-radius:20px;padding:24px}.marca{margin-bottom:24px}.intro h1{font-size:36px}.card{padding:22px}}
@media(max-width:520px){.shell{width:min(100% - 18px,1080px)}.acoes{grid-template-columns:1fr}.credencial.codigo strong{font-size:23px}.card{padding:18px}}
