.auth-error-banner.visible,.auth-form,.auth-page,.auth-success-banner.visible{display:flex}.auth-card,.auth-container,.auth-page,.float-group{position:relative}.btn-auth-submit,.float-input{font-family:inherit;width:100%}.auth-footer a,.auth-logo,.back-link,.pw-forgot-link{text-decoration:none}.admin-badge,.form-label{text-transform:uppercase}.float-input,.form-control{outline:0;box-sizing:border-box}.auth-card::after,.auth-page::after,.auth-page::before,.float-icon,.float-label,.float-status,.input-icon{pointer-events:none}.auth-page{min-height:100vh;align-items:center;justify-content:center;padding:5rem 1.5rem 3rem;overflow:hidden}.auth-page::before{content:'';position:absolute;top:-20%;left:-10%;width:60%;height:80%;background:radial-gradient(ellipse,rgba(0,229,255,.06) 0,transparent 65%)}.auth-page::after{content:'';position:absolute;bottom:-20%;right:-10%;width:50%;height:70%;background:radial-gradient(ellipse,rgba(124,58,237,.07) 0,transparent 65%)}.auth-container{width:100%;max-width:440px;animation:.5s cubic-bezier(.22,1,.36,1) fadeInUp;z-index:1}.auth-card{background:rgba(8,12,26,.84);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2.75rem 2.5rem;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.07)}.auth-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0,rgba(0,229,255,.6) 30%,rgba(124,58,237,.6) 70%,transparent 100%);border-radius:20px 20px 0 0}.auth-card::after{content:'';position:absolute;top:-130px;right:-130px;width:360px;height:360px;background:radial-gradient(circle,rgba(0,229,255,.05) 0,transparent 70%)}.admin-card::before{background:linear-gradient(90deg,transparent 0,rgba(255,200,0,.7) 30%,rgba(255,136,0,.7) 70%,transparent 100%)!important}[data-theme=light] .auth-card{background:rgba(255,255,255,.88);border-color:rgba(0,0,0,.06);box-shadow:0 24px 60px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.04)}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.5rem}.auth-logo .logo-placeholder{width:42px;height:42px;border-radius:11px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.78rem;color:#fff;box-shadow:0 4px 16px rgba(0,229,255,.3)}.auth-logo span{font-weight:800;font-size:1.05rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.04em}.auth-title{font-size:1.65rem;font-weight:900;letter-spacing:-.03em;margin-bottom:.45rem;color:var(--text-primary)}.auth-subtitle{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.auth-error-banner,.auth-success-banner{display:none;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;border-radius:12px;font-size:.85rem;margin-bottom:1.25rem;line-height:1.55;animation:.3s forwards slideInField}.auth-error-banner{background:rgba(244,63,94,.08);border:1px solid rgba(244,63,94,.22);color:var(--accent-3)}.auth-success-banner{background:rgba(0,229,255,.07);border:1px solid rgba(0,229,255,.22);color:var(--accent-primary)}[data-theme=light] .auth-error-banner{color:#c24}[data-theme=light] .auth-success-banner{color:var(--accent-primary)}.auth-form{flex-direction:column;gap:0}.float-action,.float-icon{display:flex;align-items:center;color:var(--text-muted)}.auth-submit{margin-top:1.25rem;height:48px;font-size:.95rem;font-weight:700;letter-spacing:.01em}.float-group{margin-bottom:1.1rem}.float-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;justify-content:center;z-index:2;transition:color .2s}.float-action,.float-status{z-index:3;top:50%;transform:translateY(-50%);position:absolute}.float-action{right:10px;width:32px;height:32px;justify-content:center;cursor:pointer;border-radius:6px;transition:color .2s,background .2s}.float-action:hover,.input-action:hover{color:var(--text-primary);background:rgba(255,255,255,.06)}.float-status{right:14px;font-size:1.05rem;font-weight:700;display:none;line-height:1}.float-input{height:58px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:20px 48px 7px;font-size:.95rem;color:var(--text-primary);transition:border-color .2s,background .2s,box-shadow .2s;-webkit-appearance:none}.float-hint,.float-label{color:var(--text-muted)}.float-input::placeholder{color:transparent}.float-input:-webkit-autofill,.float-input:-webkit-autofill:active,.float-input:-webkit-autofill:focus,.float-input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px rgba(8,12,26,.96) inset!important;box-shadow:0 0 0 1000px rgba(8,12,26,.96) inset!important;-webkit-text-fill-color:#e2e8f0!important;caret-color:#e2e8f0;border-color:rgba(255,255,255,.09)!important;transition:background-color 9999s ease-in-out,-webkit-box-shadow .2s}.float-input:-webkit-autofill:focus{border-color:rgba(0,229,255,.45)!important;-webkit-box-shadow:0 0 0 1000px rgba(8,12,26,.96) inset,0 0 0 3.5px rgba(0,229,255,.1)!important;box-shadow:0 0 0 1000px rgba(8,12,26,.96) inset,0 0 0 3.5px rgba(0,229,255,.1)!important}.float-input.no-icon{padding-left:14px}.float-input.has-action{padding-right:48px}.float-input.has-status{padding-right:42px}.float-input:hover{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.05)}.float-input:focus{border-color:rgba(0,229,255,.45);background:rgba(0,229,255,.03);box-shadow:0 0 0 3.5px rgba(0,229,255,.1)}.float-input.input-error{border-color:rgba(244,63,94,.5);box-shadow:0 0 0 3px rgba(244,63,94,.1)!important}.float-label{position:absolute;left:48px;top:50%;transform:translateY(-50%);font-size:.9rem;transition:.2s cubic-bezier(.4,0,.2,1);white-space:nowrap;font-weight:500;letter-spacing:0;z-index:1}.float-error,.float-hint{font-size:.74rem;margin-top:.35rem;padding-left:2px}.float-label.no-icon{left:14px}.float-input:focus~.float-label,.float-input:not(:placeholder-shown)~.float-label{top:10px;font-size:.62rem;color:var(--accent-primary);font-weight:700;letter-spacing:.07em;text-transform:uppercase;transform:translateY(0)}.float-group:focus-within .float-icon{color:var(--accent-primary)}.float-error{color:var(--accent-3);display:none}.float-error.visible,.form-error.visible{display:block}.btn-auth-submit{height:52px;border:none;border-radius:12px;background:linear-gradient(135deg,#00e5ff 0,#7c3aed 100%);color:#fff;font-size:1rem;font-weight:700;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;margin-top:1.5rem}.btn-auth-submit::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transition:left .6s}.btn-auth-submit:hover:not(:disabled)::after{left:100%}.btn-auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,229,255,.28),0 4px 16px rgba(124,58,237,.2)}.btn-auth-submit:active:not(:disabled){transform:translateY(0);transition-duration:80ms}.btn-auth-submit:disabled{opacity:.65;cursor:not-allowed}.btn-auth-admin{background:linear-gradient(135deg,#ffc800 0,#f80 100%);color:#000}.btn-auth-admin:hover:not(:disabled){box-shadow:0 8px 32px rgba(255,200,0,.32),0 4px 16px rgba(255,136,0,.2)}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--text-secondary)}.auth-footer a{color:var(--accent-primary);font-weight:600}.auth-success h3,.verify-card h2{font-weight:800;letter-spacing:-.02em}.auth-footer a:hover{color:var(--accent-secondary);text-decoration:underline}.strength-segments{display:flex;gap:4px;margin-top:.45rem}.strength-seg{flex:1;height:4px;border-radius:3px;background:rgba(255,255,255,.07);transition:background .3s,box-shadow .3s}.strength-seg.weak{background:#f43f5e}.strength-seg.fair{background:#f59e0b}.strength-seg.good{background:#00e5ff}.strength-seg.strong{background:#0f8;box-shadow:0 0 6px rgba(0,255,136,.4)}.strength-label-row{display:flex;justify-content:space-between;align-items:center;margin-top:.3rem}.strength-text{font-size:.72rem;color:var(--text-muted);font-weight:600;transition:color .3s}.check-row,.remember-row{display:flex;font-size:.84rem}.check-row,.remember-row,.verify-card p{color:var(--text-secondary)}.password-strength{margin-top:.5rem}.strength-bar{height:3px;background:var(--border-subtle);border-radius:2px;overflow:hidden;margin-bottom:.3rem}.strength-fill{height:100%;border-radius:2px;transition:width .35s,background .35s;width:0}.strength-fill.weak{background:var(--accent-3);width:25%}.strength-fill.fair{background:var(--accent-gold);width:50%}.strength-fill.good{background:var(--accent-primary);width:75%}.strength-fill.strong{background:var(--accent-primary);width:100%;box-shadow:0 0 8px rgba(0,229,255,.4)}.form-control:focus,.otp-input:focus{box-shadow:0 0 0 3px rgba(0,229,255,.1)}.check-row{align-items:flex-start;gap:10px;cursor:pointer;padding:.4rem 0}.check-row input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--accent-primary);width:15px;height:15px;cursor:pointer}.remember-row{align-items:center;gap:8px}.remember-row input[type=checkbox]{accent-color:var(--accent-primary);width:14px;height:14px;cursor:pointer}.pw-forgot-link{font-size:.78rem;color:var(--accent-primary);font-weight:600;opacity:.85;transition:opacity .2s;margin-top:-.65rem;display:block;text-align:right;margin-bottom:.5rem}.auth-divider,.back-link{font-size:.8rem;color:var(--text-muted)}.pw-forgot-link:hover{opacity:1}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.auth-divider::after,.auth-divider::before{content:'';flex:1;height:1px;background:var(--border-subtle)}.admin-badge,.back-link{display:inline-flex;align-items:center;gap:.4rem}.auth-sep{border:none;border-top:1px solid rgba(255,255,255,.05);margin:1.25rem 0 1rem}.back-link{font-weight:600;margin-bottom:1.25rem;transition:color .2s}.back-link:hover{color:var(--text-primary)}.auth-step.active,.auth-step.active .step-dot,.auth-step.done{color:var(--accent-primary)}.admin-badge{padding:.3rem .85rem;background:rgba(255,200,0,.08);border:1px solid rgba(255,200,0,.22);border-radius:100px;font-size:.7rem;font-weight:700;color:#ffc800;letter-spacing:.08em;margin-bottom:1rem}.auth-success{text-align:center;padding:.75rem 0}.auth-success-icon{width:80px;height:80px;border-radius:50%;background:rgba(0,229,255,.08);border:2px solid rgba(0,229,255,.2);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem;box-shadow:0 0 30px rgba(0,229,255,.12);animation:.5s cubic-bezier(.34,1.56,.64,1) forwards popIn}.otp-input,.step-dot{background:var(--bg-input);transition:var(--transition)}@keyframes popIn{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.auth-success h3{font-size:1.4rem;margin-bottom:.75rem}.otp-container{display:flex;gap:.5rem;justify-content:center;margin:1rem 0}.auth-step,.auth-steps{align-items:center;display:flex}.otp-input{width:48px;height:56px;text-align:center;font-size:1.4rem;font-weight:700;font-family:var(--font-mono);border:1px solid var(--border-card);border-radius:var(--radius-sm);color:var(--text-primary);outline:0}.auth-step,.form-label{color:var(--text-muted)}.otp-input:focus{border-color:var(--accent-primary);background:rgba(0,229,255,.04)}.verify-card{text-align:center;padding:1rem 0}.verify-icon{font-size:3rem;margin-bottom:1rem;display:block}.verify-card h2{font-size:1.4rem;margin-bottom:.5rem}.verify-card p{font-size:.875rem;margin-bottom:1.5rem;line-height:1.7}.auth-steps{justify-content:center;gap:.5rem;margin-bottom:1.75rem}.auth-step{gap:.4rem;font-size:.75rem;font-weight:600}.step-dot{width:26px;height:26px;border-radius:50%;border:1px solid var(--border-card);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;flex-shrink:0}.auth-step.active .step-dot{background:rgba(0,229,255,.1);border-color:var(--accent-primary);box-shadow:0 0 12px rgba(0,229,255,.2)}.auth-step.done .step-dot{background:var(--gradient-primary);border-color:transparent;color:#fff}.step-connector-line{flex:1;height:1px;background:var(--border-subtle);max-width:40px}.btn .spinner,.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:.6s linear infinite spin;display:inline-block;flex-shrink:0;vertical-align:middle}@keyframes slideInField{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.field-anim{animation:.4s cubic-bezier(.22,1,.36,1) both slideInField;opacity:0}.field-anim:first-child{animation-delay:40ms}.field-anim:nth-child(2){animation-delay:90ms}.field-anim:nth-child(3){animation-delay:.14s}.field-anim:nth-child(4){animation-delay:.19s}.field-anim:nth-child(5){animation-delay:.24s}.field-anim:nth-child(6){animation-delay:.29s}.field-anim:nth-child(7){animation-delay:.34s}@keyframes shake{0%,100%{transform:translateX(0)}15%{transform:translateX(-7px)}30%{transform:translateX(6px)}45%{transform:translateX(-5px)}60%{transform:translateX(4px)}75%{transform:translateX(-3px)}}.shake{animation:.42s cubic-bezier(.36,.07,.19,.97) both shake}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:.5rem}.form-control{width:100%;height:46px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:0 1rem;font-size:.92rem;color:var(--text-primary);transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-control:focus{border-color:rgba(0,229,255,.45)}.input-wrapper{position:relative;display:flex;align-items:center}.input-action,.input-icon{position:absolute;color:var(--text-muted);display:flex}.input-icon{left:14px;align-items:center;justify-content:center;width:20px}.input-wrapper .form-control{padding-left:44px}.input-action{right:10px;cursor:pointer;align-items:center;width:32px;height:32px;justify-content:center;border-radius:6px;transition:color .2s,background .2s}.form-error{font-size:.74rem;color:var(--accent-3);margin-top:.35rem;display:none}@media (max-width:480px){.auth-card{padding:2rem 1.5rem;border-radius:16px}.auth-title{font-size:1.4rem}.otp-input{width:40px;height:48px;font-size:1.2rem}.float-input{height:54px}.btn-auth-submit{height:50px}}