/* Telas de conta: cadastro, verificação, recuperação e nova senha.
   Reaproveita as variáveis do tema público. */

.auth-wrapper{ min-height:calc(100vh - 220px); display:flex; align-items:center;
  justify-content:center; padding:48px 16px; }

.auth-card{ width:100%; max-width:460px; background:#fff; border-radius:14px;
  padding:40px 38px; box-shadow:0 10px 40px rgba(0,0,0,.08); }

.auth-card.wide{ max-width:560px; }

.auth-card h2{ margin:0 0 6px; font-size:24px; }
.auth-card .auth-desc{ margin:0 0 26px; color:#777; font-size:14px; line-height:1.5; }

.auth-card .form-group{ margin-bottom:16px; }
.auth-card label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:#444; }
.auth-card input, .auth-card select{
  width:100%; padding:12px 14px; border:1px solid #ddd; border-radius:8px;
  font-size:15px; transition:border-color .15s, box-shadow .15s; background:#fff;
}
.auth-card input:focus{ outline:none; border-color:#b3005e; box-shadow:0 0 0 3px rgba(179,0,94,.12); }
.auth-card input.erro{ border-color:#e02424; }

.auth-row{ display:flex; gap:14px; }
.auth-row .form-group{ flex:1; }

.auth-card .btn-full{ width:100%; padding:14px; font-size:15px; font-weight:700;
  border:0; border-radius:8px; background:#b3005e; color:#fff; cursor:pointer;
  transition:filter .15s; }
.auth-card .btn-full:hover{ filter:brightness(1.08); }
.auth-card .btn-full:disabled{ opacity:.6; cursor:not-allowed; }

.auth-links{ margin-top:20px; text-align:center; font-size:14px; }
.auth-links a{ color:#b3005e; text-decoration:none; }
.auth-links a:hover{ text-decoration:underline; }

.auth-alert{ padding:12px 14px; border-radius:8px; font-size:14px; margin-bottom:18px; display:none; }
.auth-alert.erro{ background:#fdecec; color:#a51111; border:1px solid #f5c2c2; display:block; }
.auth-alert.ok{ background:#e8f7ee; color:#146c2e; border:1px solid #b7e4c7; display:block; }

.auth-hint{ font-size:12px; color:#888; margin-top:5px; }

/* Medidor de força de senha */
.forca-senha{ height:5px; border-radius:3px; background:#eee; margin-top:8px; overflow:hidden; }
.forca-senha span{ display:block; height:100%; width:0; transition:width .25s, background .25s; }
.forca-label{ font-size:12px; color:#888; margin-top:5px; }

/* Resultado (sucesso / erro de token) */
.auth-resultado{ text-align:center; }
.auth-icone{ width:72px; height:72px; border-radius:50%; margin:0 auto 22px;
  display:flex; align-items:center; justify-content:center; font-size:36px; color:#fff; }
.auth-icone.ok{ background:#22a95b; }
.auth-icone.erro{ background:#e02424; }

@media(max-width:520px){
  .auth-card{ padding:30px 22px; }
  .auth-row{ flex-direction:column; gap:0; }
}
