/* ── Auth Pages ──────────────────────────────────────────────────── */
.auth-body { background: linear-gradient(135deg, #e3f0ff 0%, #f0f7ff 50%, #fff 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; font-family: 'Plus Jakarta Sans', sans-serif; }
.auth-card { background: #fff; border-radius: 16px; box-shadow: 0 4px 40px rgba(0,0,0,.12); padding: 36px; width: 100%; max-width: 440px; }
.auth-card-wide { max-width: 580px; }
.auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.auth-brand-name { font-size: 17px; font-weight: 800; color: #1e293b; }
.auth-brand-sub { font-size: 11px; color: #10b981; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.auth-title { font-size: 22px; font-weight: 800; color: #0f172a; margin-bottom: 4px; }
.auth-sub { font-size: 13px; color: #64748b; margin-bottom: 20px; }
.auth-error { background: #fee2e2; color: #7f1d1d; border: 1px solid #fecaca; border-radius: 8px; padding: 10px 14px; font-size: 13px; font-weight: 600; margin-bottom: 16px; }
.auth-form { margin-top: 4px; }
.auth-submit { margin-top: 8px; padding: 11px; font-size: 14px; }
.auth-switch { text-align: center; font-size: 13px; color: #64748b; margin-top: 16px; }
.auth-switch a { color: #1a56db; font-weight: 600; text-decoration: none; }
.auth-back { text-align: center; font-size: 12px; margin-top: 8px; }
.auth-back a { color: #94a3b8; text-decoration: none; }
.auth-section-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: #94a3b8; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #f1f5f9; }
.pw-wrap { position: relative; }
.pw-toggle { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: 16px; }
