.auth-main { min-height: 80vh; display: flex; align-items: center; justify-content: center; padding: 60px 20px; background: linear-gradient(135deg, #f8fafc, #eff6ff); }
.auth-card { background: #fff; border-radius: 16px; padding: 40px; width: 100%; max-width: 440px; box-shadow: 0 10px 40px rgba(0,0,0,0.08); }
.auth-card h1 { margin: 0 0 8px; font-size: 1.8rem; color: #1e293b; }
.auth-card .muted { color: #64748b; margin: 0 0 30px; }
.auth-form .form-group { margin-bottom: 18px; }
.auth-form label { display: block; margin-bottom: 6px; font-weight: 500; font-size: 0.9rem; color: #334155; }
.auth-form input { width: 100%; padding: 10px 14px; border: 1px solid #cbd5e1; border-radius: 8px; font-size: 1rem; transition: border-color 0.2s; box-sizing: border-box; }
.auth-form input:focus { outline: none; border-color: #f97316; }
.auth-form small { display: block; margin-top: 4px; color: #94a3b8; font-size: 0.85rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.btn-primary.btn-full { width: 100%; padding: 12px; background: #f97316; color: #fff; border: 0; border-radius: 8px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background 0.2s; margin-top: 8px; }
.btn-primary.btn-full:hover { background: #ea580c; }
.auth-error { color: #dc2626; margin-top: 14px; font-size: 0.9rem; min-height: 20px; }
.auth-footer { text-align: center; margin-top: 24px; font-size: 0.95rem; color: #64748b; }
.auth-footer a { color: #f97316; font-weight: 600; text-decoration: none; }
.auth-footer a:hover { text-decoration: underline; }

/* ============================================ */
/* AUTH (LOGIN/SIGNUP) ENHANCEMENT LAYER         */
/* Purely additive - safe to remove if needed   */
/* ============================================ */

.auth-main { background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%); min-height: 100vh; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; padding: 24px; }
.auth-main::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(800px 400px at 30% 20%, rgba(249,115,22,0.18), transparent 60%), radial-gradient(700px 380px at 70% 80%, rgba(42,92,142,0.30), transparent 55%); }
.auth-main > * { position: relative; z-index: 1; }

.auth-card { background: rgba(255,255,255,0.98); border-radius: 20px; padding: 40px; box-shadow: 0 25px 60px rgba(0,0,0,0.40), 0 0 0 1px rgba(255,255,255,0.1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); animation: auth-fade-in 600ms cubic-bezier(.2,.8,.2,1); width: 100%; max-width: 440px; }
@keyframes auth-fade-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.auth-card h1, .auth-card h2 { font-size: clamp(24px, 2.4vw, 32px); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 8px; }

.auth-form .form-group { margin-bottom: 16px; }
.auth-form label { font-size: 13px; font-weight: 700; letter-spacing: 0.02em; color: #2a3a52; display: block; margin-bottom: 6px; }
.auth-form input { transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease; border-radius: 10px; padding: 12px 14px; font-size: 15px; }
.auth-form input:focus { border-color: #f97316; box-shadow: 0 0 0 3px rgba(249,115,22,0.18); outline: none; background: #fff; }

.btn-primary { background: linear-gradient(135deg, #f97316, #fb923c); color: #fff; border-radius: 10px; padding: 12px 22px; font-weight: 700; font-size: 15px; transition: transform 180ms ease, box-shadow 180ms ease; box-shadow: 0 4px 14px rgba(249,115,22,0.35); }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(249,115,22,0.50); }
.btn-full { width: 100%; }

.auth-error { background: linear-gradient(90deg, rgba(239,68,68,0.10), rgba(239,68,68,0.02)); color: #b91c1c; border-left: 3px solid #ef4444; padding: 10px 14px; border-radius: 8px; font-size: 14px; }
.auth-footer { font-size: 14px; opacity: 0.85; }
.auth-footer a { color: #f97316; font-weight: 700; transition: color 160ms ease; }
.auth-footer a:hover { color: #ea580c; text-decoration: underline; }


/* Wave H: hide empty error bar */
.auth-error:empty { display: none !important; }