/* Auth Pages */
.auth-body { margin: 0; min-height: 100vh; background: var(--bg, #F8FAFC); }
.auth-wrapper { display: flex; min-height: 100vh; }
.auth-left {
    flex: 1; background: linear-gradient(135deg, #0F172A 0%, #1E3A5F 50%, #2563EB 100%);
    display: flex; align-items: center; justify-content: center; padding: 3rem; color: #fff;
}
.auth-branding h2 { font-family: 'Poppins', sans-serif; font-weight: 700; margin-bottom: 1rem; }
.auth-branding p { opacity: 0.85; line-height: 1.7; }
.auth-feature { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; font-size: 0.95rem; }
.auth-feature i { font-size: 1.25rem; color: #4ADE80; }
.auth-right { flex: 1; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.auth-form-container { width: 100%; max-width: 480px; }
.auth-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.75rem; margin-bottom: 0.5rem; color: #0F172A; }
.auth-subtitle { color: #64748B; margin-bottom: 2rem; }
.auth-form .form-label { font-weight: 500; font-size: 0.9rem; }
.auth-form .form-control {
    padding: 0.75rem 1rem; border-radius: 8px; border: 1px solid #E2E8F0;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.auth-form .form-control:focus { border-color: #2563EB; box-shadow: 0 0 0 3px rgba(37,99,235,0.15); }
.auth-form .form-control.is-invalid { border-color: #DC2626; }
.auth-form .form-control.is-valid { border-color: #16A34A; }
.btn-google {
    display: flex; align-items: center; justify-content: center; gap: 0.75rem;
    width: 100%; padding: 0.75rem; border: 1px solid #E2E8F0; border-radius: 8px;
    background: #fff; font-weight: 500; transition: all 0.2s; text-decoration: none; color: #0F172A;
}
.btn-google:hover { background: #F8FAFC; border-color: #CBD5E1; color: #0F172A; }
.auth-divider { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; color: #94A3B8; font-size: 0.85rem; }
.auth-divider::before, .auth-divider::after { content: ''; flex: 1; height: 1px; background: #E2E8F0; }
.password-strength { height: 4px; border-radius: 2px; background: #E2E8F0; margin-top: 0.5rem; overflow: hidden; }
.password-strength-bar { height: 100%; width: 0; transition: width 0.3s, background 0.3s; border-radius: 2px; }
.strength-weak { background: #DC2626; width: 25%; }
.strength-fair { background: #EAB308; width: 50%; }
.strength-good { background: #2563EB; width: 75%; }
.strength-strong { background: #16A34A; width: 100%; }
.field-feedback { font-size: 0.8rem; margin-top: 0.25rem; }
.field-feedback.valid { color: #16A34A; }
.field-feedback.invalid { color: #DC2626; }
.captcha-box {
    background: #F1F5F9; border-radius: 8px; padding: 1rem;
    display: flex; align-items: center; gap: 1rem;
}
.captcha-question { font-weight: 600; font-size: 1.1rem; color: #0F172A; white-space: nowrap; }
@media (max-width: 991.98px) { .auth-right { padding: 1.5rem; } }
