.auth-page{max-width:420px;margin:3rem auto}.auth-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:2.5rem}.auth-logo{text-align:center;margin-bottom:1.25rem;display:block}.auth-logo img{width:auto;height:48px}.auth-card h1{margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:1.75rem}.auth-subtitle{color:var(--charcoal-muted);margin-bottom:1.5rem}.auth-field{margin-bottom:1rem}.auth-field label{color:var(--charcoal);margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}.auth-card input{border-radius:var(--radius-sm);border:2px solid #ddd;width:100%;margin-bottom:.75rem;padding:.85rem 1rem}.auth-field input{margin-bottom:0}.auth-card input:focus{border-color:var(--primary);outline:none}.auth-card input[aria-invalid=true]{border-color:#dc2626}.auth-card input[aria-invalid=true]:focus{border-color:#b91c1c}.auth-card .btn{width:100%;margin-top:.5rem;padding:.9rem}.auth-footer{text-align:center;color:var(--charcoal-muted);margin-top:1.5rem}.auth-footer a{color:var(--primary);font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-error{color:#b91c1c;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.auth-field-error{color:#b91c1c;margin-top:.35rem;font-size:.8rem;display:block}
