/* Dynamic theme-ready version generated for configuracion_negocio colors. */
/* =========================================================
   AUTH - Login, registro, verificación
========================================================= */
.auth-page {
    min-height: calc(100vh - 96px);
    display: grid;
    place-items: center;
    padding: 36px 16px 110px;
}
.auth-card {
    width: min(460px, 100%);
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(var(--pink-rgb), .45);
    box-shadow: var(--shadow);
    border-radius: var(--radius-xl);
    padding: 28px;
}
.auth-card-center { text-align: center; }
.auth-header { text-align: center; margin-bottom: 22px; }
.auth-icon { width: 58px; height: 58px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 50%; background: rgba(var(--pink-rgb), .28); font-size: 26px; }
.auth-header h1 { font-family: 'Playfair Display', serif; margin: 0; font-size: 34px; }
.auth-header p { color: var(--text-muted); line-height: 1.55; }
.auth-switch { text-align: center; color: var(--text-muted); }
.auth-switch a { font-weight: 900; color: var(--pink-deep, #D9798F); }
.auth-actions-stack { display: grid; gap: 10px; margin-top: 18px; }
.password-wrap { position: relative; }
.password-wrap input { padding-right: 52px; }
.password-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border: 0; border-radius: 50%; cursor: pointer; display: grid; place-items: center; background: rgba(var(--pink-rgb), .22); color: var(--brown); }
.login-required-box { display: grid; gap: 12px; text-align: center; padding: 18px; border-radius: 22px; background: rgba(var(--cream-rgb), .55); border: 1px solid rgba(var(--brown-rgb), .08); }
.login-required-box > span { font-size: 34px; }
.login-required-box h4 { margin: 0; color: var(--brown); }
.login-required-box p { margin: 0; color: var(--text-muted); line-height: 1.55; }
