/* Pantallas de cuenta (Auth.dc.html): tarjeta de 390 px, fondo del tema */
.cuenta-shell { min-height: 100dvh; display: flex; align-items: flex-start; justify-content: center; padding: 0; }
.cuenta-card {
  width: 100%; max-width: 390px; min-height: 100dvh;
  display: flex; flex-direction: column; gap: 18px; padding: 64px 24px 28px;
}
.cuenta-card h2 { font-size: 28px; line-height: 1.1; margin-top: 12px; }
.cuenta-form { display: flex; flex-direction: column; gap: 16px; }
.cuenta-form .btn { width: 100%; }
.link-derecha { align-self: flex-end; min-height: 36px; display: flex; align-items: center; font-size: 14px; font-weight: 700; margin-top: -8px; }
.separador { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--muted); }
.separador span { flex: 1; height: 1px; background: var(--line); }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.45; }
.check input { width: 22px; height: 22px; margin: 0; accent-color: var(--color-primary); flex: 0 0 auto; }
.pie { margin-top: auto; text-align: center; font-size: 15px; }
.error-campo { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13px; color: var(--text); }
.error-campo::before { content: "!"; width: 18px; height: 18px; border-radius: 50%; background: var(--danger); color: var(--on-danger); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; }
.validation-message:empty { display: none; }

@media (min-width: 600px) {
  .cuenta-shell { align-items: center; padding: 40px 16px; }
  .cuenta-card { min-height: 0; border-radius: 28px; border: 1px solid var(--line); background: var(--surface); padding: 40px 32px 32px; }
}
