.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px 40px;box-sizing:border-box;min-height:80vh;width:100%}.login-title{font-size:2.4rem;font-weight:700;color:white;margin:0 0 8px;text-shadow:0 2px 4px rgba(255,255,255,.15),0 0 16px rgba(160,0,255,.25);letter-spacing:-.01em}.login-subtitle{font-size:.95rem;color:rgba(255,255,255,.6);margin:0 0 32px;text-align:center;max-width:400px;line-height:1.5}.login-social-row{display:flex;gap:8px;width:100%;max-width:400px;margin-bottom:8px}.social-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;font-size:.9rem;font-weight:500;border-radius:10px;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease;font-family:inherit;white-space:nowrap}.social-btn:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(255,255,255,.28)}.social-btn:disabled{opacity:.6;cursor:not-allowed}.social-btn .social-icon{height:18px;width:18px;object-fit:contain}.social-btn.google{background:#fff;color:#1f1f1f;border-color:transparent}.social-btn.google:hover:not(:disabled){background:#f3f3f3}.social-btn.apple{background:#000;color:#fff;border-color:rgba(255,255,255,.15)}.social-btn.apple:hover:not(:disabled){background:#1a1a1a}.auth-divider{display:flex;align-items:center;width:100%;max-width:400px;margin:16px 0 14px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:rgba(255,255,255,.12)}.auth-divider span{padding:0 14px;color:rgba(255,255,255,.45);font-size:.78rem;letter-spacing:.04em;font-weight:500}.magic-link-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px}.auth-input{width:100%;background:#00074a;border:2px solid #4641d3;border-radius:10px;padding:15px 16px;color:#fff;font-size:1rem;font-family:inherit;box-sizing:border-box;transition:border-color .18s ease}.auth-input::placeholder{color:rgba(255,255,255,.4)}.auth-input:focus{outline:none;border-color:#ff6c2f}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:focus,.auth-input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 1000px #00074a!important;-webkit-text-fill-color:#fff!important;caret-color:#fff;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.magic-link-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 18px;background:linear-gradient(135deg,#ff7a30,#ff5500);color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;font-family:inherit;transition:transform .12s ease,box-shadow .18s ease,opacity .18s ease;box-shadow:0 4px 14px rgba(255,92,53,.25)}.magic-link-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,92,53,.35)}.magic-link-btn:active:not(:disabled){transform:translateY(0)}.magic-link-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.magic-link-hint{font-size:.8rem;color:rgba(255,255,255,.45);text-align:center;margin:2px 0 0;line-height:1.4}.magic-link-sent{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.32);border-radius:10px;text-align:left}.magic-link-sent-icon{flex-shrink:0;margin-top:2px;color:#4ade80;background:rgba(34,197,94,.18);border-radius:50%;padding:3px;width:24px!important;height:24px!important}.magic-link-sent strong{display:block;color:#fff;font-size:.95rem;margin-bottom:4px}.magic-link-sent p{margin:0;font-size:.85rem;line-height:1.5;color:rgba(255,255,255,.7)}.magic-link-email{color:#fff;font-weight:600;word-break:break-word}.password-toggle{display:inline-flex;align-items:center;gap:6px;margin:18px 0 0;background:none;border:none;color:rgba(255,255,255,.5);font-size:.82rem;font-weight:500;cursor:pointer;padding:6px 10px;border-radius:6px;transition:color .18s ease,background .18s ease;font-family:inherit}.password-toggle:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.04)}.password-toggle[aria-expanded=true]{color:rgba(255,255,255,.7)}.login-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px;margin-top:12px}.login-form--secondary{padding:16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;margin-top:6px;animation:expandIn .22s ease-out}@keyframes expandIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-form input,.password-input-wrapper input{background:#00074a;border:2px solid #4641d3;padding:14px 16px;border-radius:10px;color:#fff;font-size:.95rem;font-family:inherit;box-sizing:border-box;width:100%;transition:border-color .18s ease}.login-form input::placeholder,.password-input-wrapper input::placeholder{color:rgba(255,255,255,.4)}.login-form input:focus,.password-input-wrapper input:focus{outline:none;border-color:#ff6c2f}.login-form input:-webkit-autofill,.password-input-wrapper input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 1000px #00074a!important;-webkit-text-fill-color:#fff!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:44px}.toggle-password{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.45);cursor:pointer;display:flex;align-items:center;transition:color .18s ease}.toggle-password:hover{color:rgba(255,255,255,.85)}.login-btn{background:linear-gradient(135deg,#ff7a30,#ff5500);color:white;border:none;border-radius:10px;padding:14px;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .12s ease,opacity .18s ease}.login-btn:hover:not(:disabled){transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn--secondary{background:linear-gradient(135deg,#ff8a4a,#ff6c2f);box-shadow:none}.forgot-pass-wrapper{display:flex;justify-content:flex-end;width:100%;margin-top:4px}.forgot-password{color:rgba(255,255,255,.55);font-size:.82rem;text-decoration:none;transition:color .18s ease}.forgot-password:hover{color:#ff8c2f}.signup-link{margin-top:24px;font-size:.78rem;color:rgba(255,255,255,.4);text-align:center}.signup-link a{color:rgba(255,140,47,.8);font-weight:500;text-decoration:none;transition:color .18s ease}.signup-link a:hover{color:#ff8c2f;text-decoration:underline}.error-message{color:#ffb3b3;margin-top:10px;font-size:.88rem;max-width:400px;text-align:center;width:100%}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:btnSpin .6s linear infinite}@keyframes btnSpin{to{transform:rotate(1turn)}}.twofa-desc{font-size:.88rem;color:rgba(255,255,255,.6);text-align:center;margin:0 0 24px;max-width:320px;line-height:1.5}.otp-input{width:100%;max-width:400px;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 .18s ease;box-sizing:border-box;font-family:inherit}.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 .18s ease;padding:0;font-family:inherit}.twofa-back:hover,.twofa-resend:hover{color:rgba(255,255,255,.85)}.twofa-resend{color:#ff8c2f}.twofa-resend:hover{color:#ffaa5e}@media (max-width:480px){.login-container{padding:40px 16px 32px}.login-title{font-size:2rem}.login-social-row{flex-direction:column}.social-btn{flex:none}}