.auth-page{padding:calc(var(--nav-height) + 4rem)2rem 6rem;min-height:calc(100vh - var(--nav-height));background-color:var(--scaffold-bg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#4bcec91a 0%,#0000 70%);width:80vw;max-width:600px;height:80vw;max-height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-wrapper{z-index:1;width:100%;max-width:420px;position:relative}.auth-card{-webkit-backdrop-filter:blur(20px);background:#242424a6;border:1px solid #ffffff0d;border-radius:24px;padding:2.5rem 2rem;box-shadow:0 15px 40px #0000004d}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h2{color:var(--element-fg);margin-bottom:.5rem;font-size:1.8rem}.auth-header p{color:var(--element-fg-secondary);font-size:.95rem;line-height:1.6}.auth-form{animation:.4s forwards fadeIn;display:none}.auth-form.active{display:block}.hidden{display:none!important}.input-group{background:var(--shimmer-base);transition:var(--transition);border:1px solid #ffffff1a;border-radius:12px;align-items:stretch;margin-bottom:1rem;display:flex;position:relative;overflow:hidden}.input-group:focus-within{border-color:var(--element-brand);box-shadow:0 0 0 3px #4bcec926}.input-group input{width:100%;color:var(--element-fg);text-align:left;direction:ltr;background:0 0;border:none;outline:none;padding:1.2rem;font-family:inherit;font-size:1.05rem}.input-group input::placeholder{color:#ffffff4d;text-align:right;direction:rtl}.phone-group{flex-direction:row-reverse}.phone-prefix{color:var(--element-fg);user-select:none;white-space:nowrap;background:#ffffff08;border-right:1px solid #ffffff1a;justify-content:center;align-items:center;gap:.5rem;padding:0 1.2rem;font-family:inherit;font-size:1.1rem;font-weight:700;display:flex}.phone-group input{text-align:left;direction:ltr;padding-left:1.2rem}#input-phone::placeholder{text-align:left}.otp-group{direction:ltr;justify-content:space-between;gap:.5rem;margin-bottom:1rem;display:flex}.otp-input{text-align:center;background:var(--shimmer-base);width:100%;height:3.5rem;color:var(--element-fg);transition:var(--transition);border:1px solid #ffffff1a;border-radius:12px;outline:none;font-family:inherit;font-size:1.5rem;font-weight:700}.otp-input:focus{border-color:var(--element-brand);box-shadow:0 0 0 3px #4bcec926}.toggle-password{color:var(--element-fg-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0 1rem;display:flex}.toggle-password:hover{color:var(--element-fg)}.password-requirements{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem;padding:.5rem;display:grid}.req{color:#666;transition:var(--transition);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.req:before{content:"";width:6px;height:6px;transition:var(--transition);background:#666;border-radius:50%}.req.valid{color:var(--element-brand)}.req.valid:before{background:var(--element-brand)}.error-text{color:#ff4757;text-align:right;min-height:20px;margin-bottom:1rem;font-size:.85rem}.btn-block{width:100%;padding:1rem;font-size:1.1rem}.btn-text{color:var(--element-fg-secondary);background:0 0;border:none;width:100%;padding:.5rem;font-size:.9rem;box-shadow:none!important}.btn-text:hover{color:var(--element-brand);background:#4bcec90d;transform:none}.mt-2{margin-top:.5rem}.mt-4{margin-top:1.5rem}.auth-success{text-align:center;animation:.5s forwards fadeIn}.success-icon{width:80px;height:80px;color:var(--element-brand);background:#4bcec91a;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards scaleIn;display:flex}.auth-success h3{color:var(--element-fg);margin-bottom:.5rem;font-size:1.5rem}.auth-footer{text-align:center;border-top:1px solid #ffffff0d;margin-top:2rem;padding-top:1.5rem}.auth-footer a{color:var(--element-brand);font-weight:700}.auth-footer a:hover{text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.btn.loading{pointer-events:none;position:relative;color:#0000!important}.btn.loading:after{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}