*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background-color:#0a0f2e;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}.blob{position:fixed;border-radius:50%;pointer-events:none;z-index:0}.blob-1{width:120px;height:120px;bottom:140px;left:-10px;background:radial-gradient(circle,#2ab8ff 0%,#0a6fc2 70%)}.blob-2{width:300px;height:300px;bottom:-100px;left:-80px;background:radial-gradient(circle,#1a8fe8 0%,#0a5faa 70%)}.blob-3{width:380px;height:380px;bottom:-130px;right:-90px;background:radial-gradient(circle,#1a8fe8 0%,#0a5faa 70%)}.blob-4{width:70px;height:70px;bottom:220px;right:260px;background:radial-gradient(circle,#2ab8ff 0%,#0a8fe0 70%)}.blob-5{width:55px;height:55px;top:38%;left:8%;background:radial-gradient(circle,#2ab8ff 0%,#0a8fe0 70%)}.wrapper{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;padding:20px}.login-card{background:#1a1f3a;border-radius:16px;padding:32px 28px 28px;width:100%;max-width:320px;box-shadow:0 8px 40px rgba(0,0,0,0.5)}.login-card h2{color:#fff;font-size:18px;font-weight:600;text-align:center;margin-bottom:6px}.description{color:#6a7a9a;font-size:12px;text-align:center;margin-bottom:22px;line-height:1.6}.form-group{margin-bottom:12px;position:relative}.form-group label{display:block;color:#8a9bc0;font-size:12px;margin-bottom:4px}.form-group input[type="text"],.form-group input[type="password"]{width:100%;padding:10px 14px;background:#252b47;border:1px solid #3a4466;border-radius:8px;color:#fff;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;height:42px}.form-group input:focus{border-color:#2a8fe8;box-shadow:0 0 0 2px rgba(42,143,232,.15)}.form-group input::placeholder{color:#5a6a8a}.form-group input.error-input{border-color:#e84a4a!important;box-shadow:0 0 0 2px rgba(232,74,74,.15)!important}.password-wrapper{position:relative}.password-wrapper input{padding-right:42px!important}.eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6a7a9a;padding:0;display:flex;align-items:center}.eye-btn:hover{color:#aaa}.eye-btn svg{width:18px;height:18px}.remember-row{display:flex;align-items:center;gap:8px;margin:14px 0 18px}.remember-row input[type="checkbox"]{width:16px;height:16px;accent-color:#2a8fe8;cursor:pointer}.remember-row label{color:#ccd6f0;font-size:14px;cursor:pointer;user-select:none}.btn-login{width:100%;height:44px;background:#1a8fe8;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.3px}.btn-login:hover{background:#0a7fd8}.btn-login:active{background:#0a6fc2}.btn-login:disabled{opacity:.7;cursor:not-allowed}.btn-login svg{width:18px;height:18px}.spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{display:none;background:rgba(232,74,74,.12);border:1px solid rgba(232,74,74,.4);border-radius:8px;padding:10px 14px;color:#f08080;font-size:13px;margin-bottom:14px;line-height:1.5;animation:fadeIn .2s ease}.error-msg.show{display:flex;align-items:flex-start;gap:8px}.error-msg svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:#e84a4a}@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}.shake{animation:shake .4s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.throttle-msg{display:none;color:#f0a040;font-size:12px;text-align:center;margin-top:10px}.throttle-msg.show{display:block}.footer-bar{position:fixed;bottom:0;left:0;right:0;text-align:center;padding:10px;color:rgba(255,255,255,.5);font-size:12px;z-index:2;background:rgba(10,15,46,.4)}
