@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:none}50%{box-shadow:none}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0f;position:relative;overflow:hidden}.login-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;z-index:0}.pixlvisn-logo-css{position:absolute;top:24px;left:50%;transform:translate(-50%);z-index:20;opacity:.85;display:none}.pixlvisn-logo-css img{height:32px;width:auto}.pixlvisn-logo-card{display:flex;align-items:center;justify-content:center;margin:0 auto 20px;background:#fffffff2;border-radius:12px;padding:12px 24px;width:fit-content}.pixlvisn-logo-card img{height:30px;width:auto}.ubex-logo-css{width:180px;margin:0 auto 28px;display:block;text-align:center}.ubex-logo-css img{width:180px;height:auto}.powered-by-ubex{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;opacity:.6;transition:opacity .2s}.powered-by-ubex:hover{opacity:.85}.powered-by-ubex span{color:#94a3b8b3;font-size:12px;font-family:Inter,sans-serif}.powered-by-ubex img{height:18px;width:auto;filter:brightness(0) invert(1)}.login-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0a0a0f40,#1e0a3226,#0a0a0f40);z-index:1}.login-card{position:relative;z-index:10;width:100%;max-width:420px;margin:0 16px;background:#140f23d9;backdrop-filter:blur(24px);border:1px solid rgba(127,61,255,.15);border-radius:20px;padding:40px 36px;box-shadow:none;animation:fadeIn .5s ease-out}.login-card-glow{animation:none;box-shadow:none}.login-ubex-logo{width:180px;margin:0 auto 28px;display:block}.login-input{width:100%;padding:14px 18px;background:#ffffff0f;border:1px solid rgba(127,61,255,.25);border-radius:12px;color:#f1f5f9;font-size:15px;font-family:Inter,sans-serif;outline:none!important;outline-offset:0!important;box-shadow:none;transition:all .25s ease}.login-input:focus,.login-input:focus-visible{border-color:#7f3dff;box-shadow:0 0 0 3px #7f3dff26!important;background:#ffffff14;outline:none!important}.login-input::placeholder{color:#94a3b899}.login-btn{width:100%;padding:14px;background:linear-gradient(135deg,#7f3dff,#c026d3);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #7f3dff66}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.otp-container{display:flex;gap:10px;justify-content:center;animation:slideUp .4s ease-out}.otp-input{width:52px;height:60px;text-align:center;font-size:24px;font-weight:700;font-family:Inter,monospace;background:#ffffff0f;border:1px solid rgba(127,61,255,.25);border-radius:12px;color:#f1f5f9;outline:none!important;outline-offset:0!important;box-shadow:none;transition:all .25s ease;caret-color:#7f3dff}.otp-input:focus,.otp-input:focus-visible{border-color:#7f3dff;box-shadow:0 0 0 3px #7f3dff33!important;background:#ffffff1a;outline:none!important}.otp-input.filled{border-color:#7f3dff;background:#7f3dff1a}.otp-shake{animation:shake .4s ease}.pixlvisn-logo{position:absolute;top:24px;left:50%;transform:translate(-50%);height:32px;z-index:20;opacity:.85}.login-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(127,61,255,.3),transparent);margin:24px 0}.resend-timer{color:#94a3b8b3;font-size:13px;text-align:center}.resend-link{color:#7f3dff;cursor:pointer;font-weight:500;transition:color .2s;background:none;border:none;font-size:13px;font-family:Inter,sans-serif}.resend-link:hover{color:#a855f7}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.step-indicator{display:flex;justify-content:center;gap:8px;margin-bottom:24px}.step-dot{width:8px;height:8px;border-radius:50%;background:#7f3dff40;transition:all .3s ease}.step-dot.active{background:#7f3dff;box-shadow:0 0 8px #7f3dff80}.error-msg{color:#ef4444;font-size:13px;text-align:center;animation:fadeIn .3s ease}.success-msg{color:#22c55e;font-size:13px;text-align:center;animation:fadeIn .3s ease}.back-btn{background:none;border:none;color:#94a3b8b3;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:4px;font-family:Inter,sans-serif;transition:color .2s;padding:0}.back-btn:hover{color:#f1f5f9}
