/* Auth Pages CSS */
.auth-page { background:linear-gradient(160deg,#f8fafc,#eff6ff); min-height:100vh; display:flex; align-items:flex-start; justify-content:center; padding:40px 16px 60px; }
.auth-container { width:100%; max-width:520px; }
.auth-logo { display:flex; align-items:center; gap:10px; font-size:22px; font-weight:700; color:#0f172a; margin-bottom:28px; }
.auth-logo i { color:#2563eb; }
.auth-card { background:#fff; border-radius:18px; box-shadow:0 8px 32px rgba(0,0,0,0.08); padding:40px; }
.auth-header { margin-bottom:28px; }
.auth-header h1 { font-size:24px; font-weight:800; color:#0f172a; margin-bottom:6px; }
.auth-header p { font-size:14px; color:#64748b; }
.auth-error { background:#fee2e2; border:1px solid #fca5a5; color:#b91c1c; padding:12px 16px; border-radius:9px; font-size:13px; margin-bottom:20px; }
.auth-group { margin-bottom:16px; }
.auth-group label { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:#64748b; margin-bottom:6px; }
.auth-group input { width:100%; padding:11px 14px; border:1.5px solid #e2e8f0; border-radius:9px; font-size:14px; font-family:'Inter',sans-serif; color:#0f172a; outline:none; transition:all 0.2s; }
.auth-group input:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,0.1); }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.checkbox-label { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:#475569; cursor:pointer; margin-bottom:8px; line-height:1.5; }
.checkbox-label input { margin-top:3px; flex-shrink:0; accent-color:#2563eb; }
.checkbox-label a { color:#2563eb; }
.auth-btn { width:100%; padding:14px; background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; border:none; border-radius:10px; font-size:15px; font-weight:700; font-family:'Inter',sans-serif; cursor:pointer; transition:all 0.2s; margin-top:16px; display:flex; align-items:center; justify-content:center; gap:8px; }
.auth-btn:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(37,99,235,0.3); }
.auth-stripe-note { display:flex; align-items:flex-start; gap:12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:14px 16px; margin-top:20px; }
.auth-stripe-note div { display:flex; flex-direction:column; gap:3px; }
.auth-stripe-note strong { font-size:13px; color:#0f172a; }
.auth-stripe-note span { font-size:12px; color:#64748b; }
.auth-login-link { text-align:center; margin-top:20px; font-size:13px; color:#64748b; }
.auth-login-link a { color:#2563eb; font-weight:600; }
/* Stripe card element */
.stripe-card-element { padding:12px 14px; border:1.5px solid #e2e8f0; border-radius:9px; background:#f8fafc; transition:border-color 0.2s; }
.stripe-card-element.StripeElement--focus { border-color:#2563eb; background:#fff; box-shadow:0 0 0 3px rgba(37,99,235,0.1); }
/* Payment summary */
.payment-summary { background:#f0fdf4; border:1px solid #86efac; border-radius:10px; padding:16px 20px; margin-bottom:20px; }
.ps-row { display:flex; justify-content:space-between; font-size:14px; font-weight:600; padding:4px 0; }
.ps-green { color:#16a34a; font-size:16px; }
.ps-note { font-size:12px; color:#15803d; font-weight:500; margin-top:8px; gap:8px; }
.payment-disclaimer { font-size:11px; color:#94a3b8; text-align:center; margin-top:16px; line-height:1.6; }
@media(max-width:500px) { .form-row-2 { grid-template-columns:1fr; } }
