/* ============================================================================
   ChatPlus · Pantallas de cuenta (login, cambio de contraseña, acceso denegado)
   ============================================================================ */
/* El theme limita .login .login-content a 22.5rem: esta regla, más específica, la pisa. */
.login .login-content.auth-content { max-width: 600px; width: 100%; margin: 0 auto; }
.auth-card { border-radius: 1.25rem; overflow: hidden; border: none; box-shadow: 0 2.5rem 4rem rgba(var(--bs-dark-rgb), .08); }
.auth-hero {
    background: var(--cp-hero-bg);
    color: #fff;
    padding: 3rem 2.75rem;
    position: relative;
}
.auth-hero--danger {
    background:
        radial-gradient(ellipse at 85% 0%, rgba(var(--bs-danger-rgb), .35), transparent 55%),
        linear-gradient(135deg, var(--cp-night) 0%, var(--cp-night-2) 100%);
}
.auth-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(255, 255, 255, .08), transparent 60%);
    opacity: 1;
    pointer-events: none;
}
.auth-hero > * { position: relative; z-index: 1; }
.auth-logo { font-size: 3rem; margin-bottom: 1rem; }
.auth-logo-img { width: 120px; height: auto; margin-bottom: 1.25rem; filter: drop-shadow(0 0 1.5rem rgba(var(--cp-cyan-rgb), .35)); }
.auth-badge {
    display: inline-block;
    padding: .4rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    font-size: .75rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 1rem;
}
.auth-hero h1 { font-size: 1.875rem; font-weight: 600; margin-bottom: .75rem; }
.auth-hero p { margin-bottom: 0; font-size: .95rem; opacity: .9; }
.auth-card .card-body { padding: 2.75rem 3rem; }
.auth-form .form-label {
    text-transform: uppercase;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: rgba(var(--bs-dark-rgb), .6);
    margin-bottom: .75rem;
}
.auth-form .form-control {
    border-radius: .85rem;
    padding: .85rem 1.1rem;
    border: 1px solid rgba(var(--bs-dark-rgb), .1);
    box-shadow: 0 .35rem 1.2rem rgba(var(--bs-dark-rgb), .05);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.auth-form .form-control:focus {
    border-color: rgba(var(--bs-primary-rgb), .55);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .18);
}
.auth-btn { border-radius: 999px; padding: .95rem 1rem; box-shadow: 0 1.5rem 2.75rem rgba(var(--bs-primary-rgb), .35); }
.auth-support { color: rgba(var(--bs-dark-rgb), .6); font-size: .85rem; }

@media (max-width: 991.98px) { .auth-card .card-body { padding: 2.5rem 2.25rem; } }
@media (max-width: 575.98px) {
    .auth-hero { padding: 2.75rem 1.75rem; }
    .auth-card .card-body { padding: 2rem 1.5rem; }
}
