/* Modales de autenticación: registro y recuperación */
.auth-modal-popup {
  width: 92vw;
  max-width: 560px;
  padding: 16px;
  box-sizing: border-box;
  overflow-x: hidden;
}
@media (min-width: 992px) {
  .auth-modal-popup { max-width: 600px; }
}
@media (max-width: 480px) {
  .auth-modal-popup { width: 96vw; padding: 12px; }
}

.auth-form {
  text-align: left;
  max-height: 72vh;
  overflow-y: auto;
  margin: 0;
  padding: 0;
}
.auth-inner { width: 100%; max-width: 320px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 576px) { .auth-inner { max-width: 380px; } }
@media (min-width: 992px) { .auth-inner { max-width: 480px; } }
.auth-form * { box-sizing: border-box; }

.auth-form .swal2-input, .auth-form .swal2-textarea {
  width: 100% !important;
  max-width: 100% !important;
  display: block;
  font-size: 14px !important;
  padding: 10px !important;
}

.auth-row-flex { display: flex; gap: 8px; align-items: center; }
.auth-row-flex .swal2-input { flex: 1 1 0; width: auto !important; max-width: none !important; }
.auth-eye-btn { flex: 0 0 auto; padding: 6px 8px; font-size: 14px; border: 1px solid #e9ecef; border-radius: 8px; background: #f8f9fa; color: #666; }
.auth-actions .btn { min-width: 0; }
.auth-form h5, .auth-form label, .auth-form p, .auth-form div { max-width: 100%; }

.auth-actions { display: flex; gap: 8px; margin-top: 12px; }
.auth-actions { flex-wrap: wrap; }
.auth-actions .btn { flex: 1; }

/* Evitar scroll horizontal en contenedores internos */
.swal2-popup.auth-modal-popup .swal2-html-container { overflow-x: hidden; }
.swal2-popup.auth-modal-popup .swal2-html-container { padding: 0 !important; }
.auth-form .btn { width: 100% !important; max-width: 100% !important; display: block; }