/* ═══ Auth Pages ═══ */
.auth-page { flex: 1; display: flex; align-items: center; justify-content: center; padding: 80px 24px 60px; }
.auth-card { width: 100%; max-width: 400px; background: var(--bg-raised); border: 1px solid var(--border); border-radius: var(--radius-l); padding: 36px 32px; }
.auth-card h1 { font-size: 1.5rem; font-weight: 700; letter-spacing: -.03em; margin-bottom: 6px; }
.auth-card .auth-sub { font-size: .9375rem; color: var(--text-secondary); margin-bottom: 28px; }
.auth-form { display: flex; flex-direction: column; gap: 16px; }
.auth-error { padding: 10px 14px; border-radius: var(--radius-s); background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.15); color: var(--red); font-size: .8125rem; animation: error-shake .4s var(--ease); }
@keyframes error-shake { 0%,100% { transform: translateX(0); } 20%,60% { transform: translateX(-4px); } 40%,80% { transform: translateX(4px); } }
.auth-footer { margin-top: 20px; text-align: center; font-size: .8125rem; color: var(--text-tertiary); }
.auth-footer a { color: var(--accent); font-weight: 500; }
.auth-footer a:hover { text-decoration: underline; }
@media (max-width: 640px) { .auth-card { padding: 28px 24px; } }
