/* ============================================================================
   auth.css — Login / Register / Registration-status pages
   app/static/css/auth.css
============================================================================ */

.auth-page { background: var(--bg-app); }

.auth-split-wrapper { width: 100%; display: flex; min-height: calc(100vh - 96px); }
@media (max-width: 991px) { .auth-split-wrapper { flex-direction: column; min-height: auto; } }

.auth-hero-pane { flex: 1.15; position: relative; overflow: hidden; min-height: 420px; }
.hero-carousel { height: 100%; }
.hero-carousel .carousel-inner, .hero-carousel .carousel-item { height: 100%; min-height: 420px; }
.hero-carousel .carousel-item img { width: 100%; height: 100%; object-fit: cover; min-height: 420px; }
.hero-carousel::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(100deg, rgba(6,47,110,0.72) 0%, rgba(6,47,110,0.28) 55%, rgba(6,47,110,0.05) 100%);
    pointer-events: none;
}
.hero-carousel-caption { position: absolute; z-index: 2; top: 50%; left: 3rem; transform: translateY(-50%); max-width: 460px; color: #fff; }
.hero-carousel-caption h2 { font-size: 2.1rem; font-weight: 800; color: #fff; margin-bottom: 0.75rem; }
.hero-carousel-caption p { font-size: 1rem; opacity: 0.92; }
.hero-carousel .carousel-indicators [data-bs-target] { background-color: var(--orange); }
@media (max-width: 991px) {
    .auth-hero-pane { min-height: 260px; }
    .hero-carousel-caption { left: 1.5rem; right: 1.5rem; max-width: none; }
    .hero-carousel-caption h2 { font-size: 1.5rem; }
}

.auth-card-pane { flex: 1; display: flex; align-items: center; justify-content: center; padding: 2.5rem 2rem; background: var(--bg-surface); }
.auth-card-inner { width: 100%; max-width: 400px; }
.auth-card-inner .form-header h2 { font-weight: 700; margin-bottom: 0.25rem; }
.auth-card-inner .form-header p { color: var(--text-secondary); margin-bottom: 1.75rem; }

.password-toggle { position: absolute; right: 0.9rem; top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--text-muted); z-index: 5; }
.form-floating .password-toggle { top: 1.5rem; }
.login-form .form-group, .register-form-group { position: relative; margin-bottom: 1.1rem; }

.form-options { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; font-size: 0.9rem; }
.forgot-password-link { color: var(--blue); font-weight: 600; }

.btn-auth-submit { width: 100%; background: var(--orange); color: #fff; padding: 0.75rem; border-radius: var(--radius-sm); font-weight: 700; border: none; transition: var(--transition); }
.btn-auth-submit:hover { background: var(--orange-dark); color: #fff; }
.btn-auth-submit:disabled { opacity: 0.65; }

.auth-card-footer { margin-top: 1.5rem; text-align: center; }
.auth-security-notice { font-size: 0.78rem; color: var(--text-muted); }

.simple-auth-wrapper { width: 100%; display: flex; align-items: center; justify-content: center; padding: 2.5rem 1.5rem; }
.simple-auth-card { width: 100%; max-width: 460px; background: var(--bg-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; }
.simple-auth-header { text-align: center; padding: 2rem 1.5rem; }
.bg-warning-soft { background: linear-gradient(135deg, #fef3c7, #fde68a); }
.bg-primary-soft { background: linear-gradient(135deg, var(--blue-light), var(--blue-mid)); }
.simple-auth-icon { font-size: 2.2rem; color: var(--text-primary); margin-bottom: 0.5rem; }
.simple-auth-header h3 { font-weight: 700; margin-bottom: 0.25rem; }
.simple-auth-header p { color: var(--text-secondary); margin: 0; }
.simple-auth-body { padding: 2rem; }

.password-strength-meter .progress { height: 6px; border-radius: 4px; }
.password-strength-text { display: block; margin-top: 0.25rem; }

.waiting-page-wrapper { max-width: 920px; margin: 0 auto; padding: 2rem 1.25rem 3rem; }
.waiting-status-banner { border-radius: var(--radius-lg); padding: 2rem 2.25rem; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.waiting-status-banner.status-pending { background: var(--warning-light); }
.waiting-status-banner.status-active { background: var(--success-light); }
.waiting-status-banner.status-rejected { background: var(--danger-light); }
.waiting-status-icon { font-size: 2.75rem; flex-shrink: 0; }
.status-pending .waiting-status-icon { color: var(--warning); }
.status-active .waiting-status-icon { color: var(--success); }
.status-rejected .waiting-status-icon { color: var(--danger); }
.waiting-status-banner h3 { margin-bottom: 0.25rem; }
.waiting-status-banner p { margin: 0; color: var(--text-secondary); }
.rejection-reason-box { background: rgba(220, 38, 38, 0.06); border: 1px solid rgba(220, 38, 38, 0.25); border-radius: var(--radius-sm); padding: 0.9rem 1.1rem; margin-top: 0.9rem; font-size: 0.88rem; color: var(--text-primary); }
.rejection-reason-box strong { color: var(--danger); }

@media (max-width: 576px) { .waiting-status-banner { flex-direction: column; text-align: center; } }