.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;box-sizing:border-box;min-height:80vh}.login-title{font-size:2.8rem;font-weight:700;color:white;margin-bottom:30px;text-shadow:0 2px 4px rgba(255,255,255,.15),0 0 16px rgba(160,0,255,.25)}.social-btn{display:flex;align-items:center;justify-content:center;width:100%;max-width:400px;padding:14px 20px;font-size:1.1rem;font-weight:500;border-radius:10px;border:none;margin-bottom:14px;cursor:pointer;transition:opacity .2s ease}.social-btn .social-icon{height:28px;width:28px;margin-right:12px;object-fit:contain}.social-btn.google{background-color:white;color:#000}.social-btn.apple{background-color:#000;color:#fff}.auth-divider{display:flex;align-items:center;width:100%;max-width:400px;margin:6px 0}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:rgba(255,255,255,.15)}.auth-divider span{padding:0 16px;color:#888;font-size:.85rem;text-transform:lowercase;letter-spacing:.05em}.login-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px}.login-form input{background-color:#00074a;border:2px solid #4641d3;padding:16px;border-radius:10px;color:#fff;font-size:1rem}.login-form input::placeholder{color:#aaa}.login-btn{background-color:#ff6c2f;color:white;border:none;border-radius:10px;padding:16px;font-size:1.1rem;font-weight:600;cursor:pointer}.login-btn:hover{background-color:#e65a15}.error-message{color:#ffb3b3;margin-top:10px;font-size:.9rem}.login-form input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 1000px #00074a!important;-webkit-text-fill-color:#ffffff!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.login-form input,.login-form input:active,.login-form input:focus{background-color:#00074a;color:#ffffff;border:2px solid #4641d3;outline:none}.forgot-pass-wrapper{display:flex;justify-content:flex-end;align-items:center;width:100%}.forgot-pass-wrapper .forgot-password{color:#e38556}.forgot-pass-wrapper .forgot-password:hover{color:#d85615}.password-input-wrapper{position:relative}.password-input-wrapper input{width:100%;padding-right:45px}.toggle-password{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#aaa;cursor:pointer}.signup-link{margin-top:10px;font-size:.9rem;color:#ccc;text-align:center}.signup-link a{color:#fff;font-weight:600;text-shadow:1px 1px 2px #333;line-height:1.5}.signup-link a:hover{color:#d85615}.twofa-desc{font-size:14px;color:rgba(255,255,255,.55);text-align:center;margin:0 0 24px;max-width:300px;line-height:1.5}.otp-input{width:100%;text-align:center;font-size:32px;font-weight:700;letter-spacing:.3em;padding:14px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;outline:none;transition:border-color .2s;box-sizing:border-box}.otp-input:focus{border-color:#ff8c2f}.otp-input::placeholder{color:rgba(255,255,255,.2);letter-spacing:.25em}.twofa-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px}.twofa-sep{color:rgba(255,255,255,.2);font-size:13px}.twofa-back,.twofa-resend{background:none;border:none;color:rgba(255,255,255,.4);font-size:13px;cursor:pointer;transition:color .2s;padding:0}.twofa-back:hover,.twofa-resend:hover{color:rgba(255,255,255,.8)}.twofa-resend{color:#ff8c2f}.twofa-resend:hover{color:#ffaa5e}.btn-spinner{display:inline-block;width:16px;height:16px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#ffffff;border-radius:50%;animation:btnSpin .6s linear infinite;vertical-align:middle;margin-right:6px}@keyframes btnSpin{to{transform:rotate(1turn)}}.login-btn:disabled{opacity:.7;cursor:not-allowed}