.auth-page{background:linear-gradient(135deg,#f8faff 0%,#eef2ff 50%,#f0f4ff 100%);justify-content:center;align-items:center;min-height:80vh;padding:2rem;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:2.5rem;animation:.4s ease-out authFadeIn;box-shadow:0 8px 30px #00000014}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{color:#1a1a2e;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-header p{color:#6b7280;font-size:1rem}.auth-error{color:#dc2626;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}.auth-success{color:#16a34a;text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.auth-field label{color:#374151;margin-bottom:.4rem;font-size:.9rem;font-weight:600;display:block}.auth-field input{border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{border-color:var(--color-primary,#007bff);box-shadow:0 0 0 3px #007bff1a}.auth-forgot{text-align:right;margin-top:-.5rem}.auth-forgot a{color:var(--color-primary,#007bff);font-size:.85rem;text-decoration:none}.auth-forgot a:hover{text-decoration:underline}.auth-submit{background:var(--color-primary,#007bff);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.85rem;font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.auth-submit:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;border-top:1px solid #f3f4f6;margin-top:1.5rem;padding-top:1.5rem}.auth-footer p{color:#6b7280;font-size:.9rem}.auth-footer a{color:var(--color-primary,#007bff);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}@keyframes authFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.auth-card{padding:1.5rem}.auth-header h1{font-size:1.5rem}}
