.auth-page{background:radial-gradient(at 60% 20%,#3b0764 0%,#0f0f0f 60%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#a74dff1f,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;left:-200px}.auth-card{-webkit-backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:440px;padding:2.5rem 2rem;animation:.4s cubic-bezier(.34,1.56,.64,1) authCardIn;box-shadow:0 32px 64px #00000080}@keyframes authCardIn{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo{flex-direction:column;align-items:center;margin-bottom:1.5rem;display:flex}.auth-logo-text{font-family:var(--font-pacifico),cursive;background:linear-gradient(135deg,#e9b7ff,#c084fc,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem}.auth-logo-sub{color:#fff6;letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:.7rem}.auth-title{color:#fff;text-align:center;margin:0 0 1.5rem;font-size:1.375rem;font-weight:700}.auth-subtitle{color:#ffffff8c;text-align:center;margin:-.75rem 0 1.5rem;font-size:.875rem;line-height:1.5}.auth-toggle-group{background:#ffffff0d;border-radius:12px;gap:8px;margin-bottom:1.5rem;padding:4px;display:flex}.auth-toggle-btn{cursor:pointer;color:#ffffff73;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:8px;padding:.55rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.auth-toggle-btn.active{color:#fff;background:linear-gradient(135deg,#7c3aed,#9d4edd);box-shadow:0 4px 16px #7c3aed66}.auth-role-group{margin-bottom:1.5rem}.auth-role-label{color:#fff9;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.6rem;font-size:.8rem;font-weight:600;display:block}.auth-role-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.auth-role-card{cursor:pointer;text-align:center;background:#ffffff0a;border:2px solid #ffffff14;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:.9rem .5rem;transition:all .2s;display:flex}.auth-role-card input[type=radio]{display:none}.auth-role-card i{color:#fff6;font-size:1.4rem;transition:all .2s}.auth-role-card span{color:#ffffffb3;font-size:.875rem;font-weight:700}.auth-role-card small{color:#ffffff59;font-size:.7rem}.auth-role-card.selected{background:#a855f726;border-color:#a855f7}.auth-role-card.selected i{color:#c084fc}.auth-role-card.selected span{color:#fff}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:#ffffffa6;font-size:.8rem;font-weight:600}.auth-hint{color:#ffffff59;font-size:.75rem;font-weight:400}.auth-field input{color:#fff;background:#ffffff12;border:1px solid #ffffff1f;border-radius:10px;outline:none;padding:.7rem 1rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.auth-field input::placeholder{color:#ffffff40}.auth-field input:focus{border-color:#a855f7;box-shadow:0 0 0 3px #a855f733}.auth-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#9d4edd);border:none;border-radius:12px;width:100%;margin-top:.25rem;padding:.85rem;font-size:.95rem;font-weight:700;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 20px #7c3aed73}.auth-submit-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 8px 28px #7c3aed80}.auth-submit-btn:disabled{opacity:.55;cursor:not-allowed}.auth-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:9px;align-items:center;gap:8px;padding:.6rem .9rem;font-size:.83rem;display:flex}.auth-success{color:#86efac;text-align:center;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:1.2rem;font-size:.95rem;font-weight:600;display:flex}.auth-verify-icon{text-align:center;color:#c084fc;margin-bottom:.5rem;font-size:2.5rem}.otp-grid{justify-content:center;gap:10px;margin:.5rem 0;display:flex}.otp-box{color:#fff;text-align:center;background:#ffffff12;border:2px solid #ffffff1f;border-radius:12px;outline:none;width:52px;height:58px;font-size:1.5rem;font-weight:700;transition:border-color .2s,box-shadow .2s,transform .15s}.otp-box:focus{border-color:#a855f7;box-shadow:0 0 0 3px #a855f740}.otp-box.filled{background:#a855f726;border-color:#a855f7;transform:scale(1.05)}.auth-resend{text-align:center;color:#fff6;font-size:.82rem}.auth-resend-btn{color:#c084fc;cursor:pointer;background:0 0;border:none;font-size:.82rem;font-weight:600}.auth-resend-btn:hover{text-decoration:underline}.auth-footer-link{text-align:center;color:#fff6;margin-top:1rem;font-size:.83rem}.auth-footer-link a{color:#c084fc;font-weight:600;text-decoration:none}.auth-footer-link a:hover{text-decoration:underline}.auth-guest-link{font-size:.8rem;color:#ffffff59!important;font-weight:400!important}.guest-banner{background:linear-gradient(135deg,#7c3aed1a,#9d4edd14);border:1px solid #7c3aed40;border-radius:14px;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.guest-banner-text{color:#ffffffb3;flex:1;font-size:.875rem;line-height:1.5}.guest-banner-text strong{color:#fff}.guest-banner-actions{flex-shrink:0;gap:8px;display:flex}.guest-banner-login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#9d4edd);border:none;border-radius:8px;padding:.45rem 1rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-block}.guest-banner-continue-btn{color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:.45rem 1rem;font-size:.8rem}
