.login-container{background:var(--grad-premium);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px 16px;font-family:Outfit,Inter,sans-serif;display:flex;position:relative;overflow-y:auto}.login-card-wrapper{width:100%;max-width:460px;animation:.55s cubic-bezier(.16,1,.3,1) forwards cardEntrance}@keyframes cardEntrance{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.login-glass-card{border:1px solid var(--border-color);box-shadow:var(--shadow-lg);background:#fffffff7;border-radius:32px;padding:36px 32px 32px;transition:box-shadow .3s}@media (max-width:480px){.login-glass-card{border-radius:24px;padding:28px 18px 24px}}.step-indicator{justify-content:center;align-items:center;gap:0;margin-bottom:24px;display:flex}.step-dot{border:2px solid var(--border-color);width:32px;height:32px;color:var(--text-muted);background:var(--white);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:all .35s;display:flex;position:relative}.step-dot--active{background:var(--primary);border-color:var(--primary);color:var(--white);box-shadow:0 0 0 4px #10b98126}.step-dot--done{background:var(--primary-soft);border-color:var(--primary-neon);color:var(--primary-hover)}.step-line{background:var(--border-color);flex:1;max-width:64px;height:2px;margin:0 4px;transition:background .4s}.step-line--done{background:var(--primary-neon)}.login-header{text-align:center;margin-bottom:24px}.brand-badge{background:var(--primary-soft);color:var(--primary-hover);text-transform:uppercase;letter-spacing:1.5px;border:1px solid #10b98133;border-radius:100px;margin-bottom:12px;padding:5px 14px;font-size:.75rem;font-weight:700;display:inline-block}.login-header h2{color:var(--primary);letter-spacing:-.5px;margin-bottom:4px;font-size:1.75rem;font-weight:800}.login-header p{color:var(--text-muted);font-size:.9rem;line-height:1.5}.login-header p strong{color:var(--primary)}.alert{border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.875rem;font-weight:500;line-height:1.45;animation:.3s alertIn;display:flex}@keyframes alertIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.alert--error{color:#b91c1c;background:#fef2f2;border:1.5px solid #fecaca}.alert--success{color:#15803d;background:#f0fdf4;border:1.5px solid #bbf7d0}.login-form{flex-direction:column;gap:18px;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.label-hint{color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:.72rem;font-weight:500}.label-row{justify-content:space-between;align-items:center;display:flex}.forgot-password{color:var(--primary-hover);text-transform:none;letter-spacing:0;font-size:.82rem;font-weight:600;transition:color .2s}.forgot-password:hover{color:var(--primary-neon)}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;z-index:1;transition:color .2s;position:absolute;left:15px}.input-with-icon input{border:1.5px solid var(--border-color);width:100%;color:var(--text-main);background:var(--white);border-radius:13px;padding:13px 16px 13px 46px;font-family:inherit;font-size:.92rem;transition:all .25s cubic-bezier(.16,1,.3,1)}.input-with-icon input::placeholder{color:#9ca3af;font-size:.85rem}.input-with-icon input:focus{border-color:var(--primary-neon);outline:none;box-shadow:0 0 0 4px #10b9811a}.input-group--error .input-with-icon input{border-color:#f87171;box-shadow:0 0 0 3px #ef444414}.input-group--error .input-icon{color:#f87171}.toggle-password-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:14px}.toggle-password-btn:hover{color:var(--primary)}.field-error{color:#dc2626;align-items:center;gap:4px;font-size:.78rem;font-weight:600;animation:.2s alertIn;display:flex}.field-hint{color:var(--text-muted);font-size:.75rem;font-weight:500}.strength-meter{align-items:center;gap:10px;margin-top:4px;display:flex}.strength-bars{flex:1;gap:4px;display:flex}.strength-bar{border-radius:100px;flex:1;height:4px;transition:background .3s}.strength-label{text-align:right;min-width:64px;font-size:.75rem;font-weight:700;transition:color .3s}.password-checklist{background:var(--secondary,#f8fafc);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:5px;margin:0;padding:10px 12px;list-style:none;animation:.2s alertIn;display:flex}.checklist-item{align-items:center;gap:7px;font-size:.78rem;font-weight:500;transition:color .2s;display:flex}.checklist-item--pass{color:#16a34a}.checklist-item--fail{color:#9ca3af}.login-submit-btn{background:var(--primary);width:100%;color:var(--white);border:1.5px solid var(--primary);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:14px;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 12px #10b98140}.login-submit-btn:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #10b9814d}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.submit-arrow{transition:transform .2s}.login-submit-btn:hover .submit-arrow{transform:translate(4px)}.btn-spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.back-btn{width:100%;color:var(--text-muted);border:1.5px solid var(--border-color);cursor:pointer;background:0 0;border-radius:13px;justify-content:center;align-items:center;gap:6px;padding:11px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.back-btn:hover{color:var(--primary);border-color:var(--primary-neon);background:var(--primary-soft)}.otp-section{flex-direction:column;align-items:center;gap:16px;padding:8px 0;display:flex}.otp-icon-wrap{background:var(--primary-soft);width:64px;height:64px;color:var(--primary);border:2px solid #10b98133;border-radius:50%;justify-content:center;align-items:center;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;display:flex}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.otp-hint{color:var(--text-muted);text-align:center;max-width:320px;font-size:.875rem;line-height:1.55}.otp-hint strong{color:var(--primary-hover)}.otp-boxes{justify-content:center;gap:10px;display:flex}.otp-box{border:2px solid var(--border-color);text-align:center;width:48px;height:56px;color:var(--primary);background:var(--white);caret-color:var(--primary-neon);border-radius:12px;outline:none;font-family:Outfit,Inter,monospace;font-size:1.4rem;font-weight:700;transition:all .2s}.otp-box:focus{border-color:var(--primary-neon);transform:translateY(-2px);box-shadow:0 0 0 4px #10b9811f}.otp-box--filled{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}@media (max-width:380px){.otp-box{border-radius:9px;width:40px;height:48px;font-size:1.2rem}.otp-boxes{gap:7px}}.resend-row{justify-content:center;align-items:center;min-height:28px;display:flex}.resend-timer{color:var(--text-muted);font-size:.82rem;font-weight:500}.resend-timer strong{color:var(--primary-hover)}.resend-btn{color:var(--primary-hover);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.resend-btn:hover{background:var(--primary-soft);color:var(--primary)}.resend-btn:disabled{opacity:.5;cursor:not-allowed}.login-divider{align-items:center;margin:20px 0;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1.5px solid var(--border-color);flex:1}.login-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;padding:0 12px;font-size:.72rem;font-weight:700}.google-login-section{flex-direction:column;gap:14px;display:flex}.google-auth-btn.large{border:1.5px solid var(--border-color);background:var(--white);width:100%;color:var(--text-main);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:12px;padding:13px;font-family:inherit;font-size:.92rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 1px 4px #0000000f}.google-auth-btn.large:hover:not(:disabled){background:#fafafa;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.google-auth-btn.large.disabled{opacity:.5;cursor:not-allowed}.google-svg{flex-shrink:0}.terms-checkbox-modal{margin:2px 0}.checkbox-container{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:flex-start;padding-left:28px;font-family:inherit;font-size:.82rem;line-height:1.45;display:flex;position:relative}.checkbox-container input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{background:var(--secondary,#f8fafc);border:1.5px solid var(--border-color);border-radius:5px;width:18px;height:18px;transition:all .2s;position:absolute;top:2px;left:0}.checkbox-container:hover input~.checkmark{border-color:var(--primary-neon)}.checkbox-container input:checked~.checkmark{background:var(--primary);border-color:var(--primary)}.checkmark:after{content:"";display:none;position:absolute}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;top:1px;left:5px;transform:rotate(45deg)}.checkbox-container .label-text a{color:var(--primary-hover);font-weight:700}.checkbox-container .label-text a:hover{color:var(--primary-neon)}.checkbox-container.error-text{color:#dc2626}.checkbox-container.error-text .checkmark{background:#fff1f2;border-color:#f87171}.error-hint{color:#dc2626;margin-top:5px;font-size:.75rem;font-weight:600}.login-footer{text-align:center;border-top:1px solid var(--border-color);margin-top:24px;padding-top:18px}.login-footer p{color:var(--text-muted);font-size:.88rem}.signup-link{color:var(--primary-hover);font-weight:700;transition:color .2s}.signup-link:hover{color:var(--primary-neon)}.google-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#042f2ed1;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.google-spinner-box{text-align:center;color:var(--white)}.google-spinner{border:3px solid #ffffff1a;border-top-color:var(--primary-neon);border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.shake-error{animation:.45s ease-in-out shake}
