@supports (-webkit-touch-callout:none){.login-modal-overlay input,.login-modal-overlay textarea{font-size:16px!important}}.login-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto}@media (max-width:640px){.login-modal-overlay{overflow:hidden;padding:0}}.login-modal-container{position:relative;background:#0f172a;border:1px solid #1e293b;border-radius:24px;width:100%;max-width:480px;box-shadow:0 25px 50px -12px rgba(0,0,0,.8);margin:auto;max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch}@media (max-width:640px){.login-modal-container{max-height:100vh;height:100%;border-radius:0;display:flex;flex-direction:column}}@media (max-width:480px){.login-modal-container{max-height:100vh;height:100%;border-radius:0}}.login-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#64748b;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;z-index:10}.login-modal-close:hover{background:#1e293b;color:#f8fafc}.login-header{text-align:center;padding:20px 24px 16px;border-bottom:1px solid #1e293b}@media (max-width:640px){.login-header{padding:20px 20px 16px}}.login-title-with-logo{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.login-title{font-size:24px;font-weight:700;color:#f8fafc;background:linear-gradient(135deg,#06b6d4,#3b82f6 50%,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.login-logo{height:32px;width:auto;-o-object-fit:contain;object-fit:contain}@media (max-width:640px){.login-title{font-size:20px}.login-logo{height:28px}}.login-subtitle{font-size:13px;color:#64748b;line-height:1.5;max-width:400px;margin:0 auto}@media (max-width:640px){.login-subtitle{font-size:12px;line-height:1.4}}.login-progress-stepper{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 32px;border-bottom:1px solid #1e293b;gap:0;max-width:400px;margin:0 auto;position:relative}@media (max-width:768px){.login-progress-stepper{padding:16px 24px;max-width:100%}}@media (max-width:640px){.login-progress-stepper{padding:14px 16px}}@media (max-width:480px){.login-progress-stepper{padding:12px}}.login-progress-stepper:before{content:"";position:absolute;top:34px;left:30%;right:30%;height:2px;background:#334155;z-index:0}@media (max-width:640px){.login-progress-stepper:before{top:32px}}.login-stepper-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1 1 0;min-width:0}.login-progress-stepper:after{content:"";position:absolute;top:34px;left:25%;height:2px;background:#06b6d4;z-index:0;transition:width .3s ease;width:var(--progress-width,0)}@media (max-width:640px){.login-progress-stepper:after{top:32px}}.login-stepper-circle{margin-bottom:6px;position:relative;z-index:1;flex-shrink:0}.login-stepper-number{width:36px;height:36px;border-radius:50%;background:#1e293b;border:2px solid #334155;display:flex;align-items:center;justify-content:center;font-weight:600;color:#64748b;transition:all .3s ease;font-size:15px}@media (max-width:768px){.login-stepper-number{width:34px;height:34px;font-size:14px}}@media (max-width:640px){.login-stepper-number{width:32px;height:32px;font-size:14px}}@media (max-width:480px){.login-stepper-number{width:30px;height:30px;font-size:13px}}.login-stepper-step.active .login-stepper-number{background:#06b6d4;border-color:#06b6d4;color:#f8fafc;animation:loginPulse 2s infinite}.login-stepper-step.completed .login-stepper-number{background:#10b981;border-color:#10b981;color:#f8fafc}@keyframes loginPulse{0%,to{box-shadow:0 0 0 0 rgba(6,182,212,.4)}50%{box-shadow:0 0 0 8px rgba(6,182,212,0)}}.login-stepper-label{font-size:12px;color:#64748b;font-weight:500;text-align:center;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2;width:100%}@media (max-width:768px){.login-stepper-label{font-size:11.5px}}@media (max-width:640px){.login-stepper-label{font-size:11px}}@media (max-width:480px){.login-stepper-label{font-size:10px;line-height:1.1}}.login-stepper-step.active .login-stepper-label{color:#06b6d4}.login-stepper-step.completed .login-stepper-label{color:#10b981}.login-content{padding:24px 32px}@media (max-width:768px){.login-content{padding:20px 24px}}@media (max-width:640px){.login-content{padding:16px 20px;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media (max-width:480px){.login-content{padding:14px 16px}}@media (max-width:640px){.phone-input-group{gap:8px}}@media (max-width:480px){.phone-input-group{gap:6px}}@media (max-width:768px){.country-selector{padding:14px 16px;min-width:90px}}@media (max-width:640px){.country-selector{padding:12px 14px;min-width:85px;border-radius:10px;font-size:14px}}@media (max-width:480px){.country-selector{padding:11px 12px;min-width:80px;border-radius:8px;font-size:13px;gap:6px}}@media (max-width:640px){.country-flag{font-size:18px}}@media (max-width:480px){.country-flag{font-size:16px}}@media (max-width:640px){.form-microcopy{font-size:12px;margin-top:6px;gap:6px;line-height:1.4}}@media (max-width:480px){.form-microcopy{font-size:11px;margin-top:5px;gap:5px}}@media (max-width:640px){.form-microcopy svg{width:14px;height:14px}}@media (max-width:480px){.form-microcopy svg{width:12px;height:12px}}@media (max-width:640px){.btn-navigation{gap:8px;margin-top:12px}.btn-navigation,.btn-navigation.flex.flex-col{flex-direction:column}}@media (max-width:768px){.resend-options{margin-top:14px;padding:14px}}@media (max-width:480px){.resend-options{margin-top:10px;padding:10px;border-radius:8px}}@media (max-width:768px){.resend-options-title{font-size:12.5px;margin-bottom:11px}}@media (max-width:480px){.resend-options-title{font-size:11px;margin-bottom:8px}}@media (max-width:768px){.resend-options-buttons{gap:9px}}@media (max-width:480px){.resend-options-buttons{gap:6px}}@media (max-width:768px){.resend-option-button{padding:11px 15px;min-height:43px;font-size:13.5px}}@media (max-width:480px){.resend-option-button{padding:9px 12px;font-size:12px;min-height:40px;border-radius:6px;gap:6px}.login-stepper-label{font-size:11px}}@media (prefers-contrast:high){.form-input,.login-modal-container,.otp-input{border-color:#06b6d4}}@media (prefers-reduced-motion:reduce){*,.countdown-circle-progress,.countdown-circle-wrapper:before,.countdown-number,.loading-spinner,.login-stepper-number,.success-icon-large{animation:none!important;transition:none!important}}.user-not-found-banner{margin-top:12px;padding:16px;background:linear-gradient(135deg,rgba(6,182,212,.1),rgba(59,130,246,.1) 50%,rgba(168,85,247,.1));border:2px solid;-o-border-image:linear-gradient(135deg,#06b6d4,#3b82f6 50%,#a855f7) 1;border-image:linear-gradient(135deg,#06b6d4,#3b82f6 50%,#a855f7) 1;border-radius:12px;animation:slideInUp .3s ease-out}.banner-content{display:flex;gap:12px;align-items:flex-start}.banner-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#06b6d4,#3b82f6 50%,#a855f7);display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px rgba(6,182,212,.3)}.banner-text{flex:1;display:flex;flex-direction:column;gap:8px}.banner-message{font-size:15px;font-weight:600;color:#f8fafc;margin:0;line-height:1.5}.banner-action{font-size:14px;color:#cbd5e1;margin:0;line-height:1.6}.signup-link{display:inline;background:linear-gradient(135deg,#06b6d4,#3b82f6 50%,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;text-decoration:none;border:none;cursor:pointer;padding:0;transition:all .2s ease;position:relative}.signup-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:linear-gradient(135deg,#06b6d4,#3b82f6 50%,#a855f7);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.signup-link:hover:after{transform:scaleX(1);transform-origin:left}.signup-link:hover{opacity:.8}.signup-link:active{transform:scale(.98)}@media (max-width:480px){.user-not-found-banner{padding:14px}.banner-content{gap:10px}.banner-icon{width:36px;height:36px}.banner-icon svg{width:18px;height:18px}.banner-message{font-size:14px}.banner-action{font-size:13px}}.force-login-notice{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:12px 0 16px;background:linear-gradient(135deg,rgba(255,193,7,.12),rgba(255,152,0,.12) 50%,rgba(255,183,77,.12));border:2px solid;-o-border-image:linear-gradient(135deg,#FFC107,#FF9800 50%,#FFB74D) 1;border-image:linear-gradient(135deg,#FFC107,#FF9800 50%,#FFB74D) 1;border-radius:12px;position:relative;overflow:hidden}@media (max-width:640px){.force-login-notice{gap:10px;padding:10px 12px;margin:12px 0 16px;border-radius:10px}}@media (max-width:480px){.force-login-notice{gap:8px;padding:8px 10px;margin:10px 0 14px}}.force-login-notice-icon{width:36px;height:36px;min-width:36px;background:linear-gradient(135deg,#FFC107,#FF9800);border-radius:10px;display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px rgba(255,193,7,.35);position:relative;z-index:1}@media (max-width:640px){.force-login-notice-icon{width:38px;height:38px;min-width:38px;border-radius:10px}}@media (max-width:480px){.force-login-notice-icon{width:34px;height:34px;min-width:34px;border-radius:8px}}.force-login-notice-icon svg{width:20px;height:20px}@media (max-width:640px){.force-login-notice-icon svg{width:22px;height:22px}}@media (max-width:480px){.force-login-notice-icon svg{width:20px;height:20px}}.force-login-notice-content{flex:1;position:relative;z-index:1}.force-login-notice-text{font-size:13px;color:#f8fafc;line-height:1.5;font-weight:500}@media (max-width:640px){.force-login-notice-text{font-size:12px;line-height:1.4}}@media (max-width:480px){.force-login-notice-text{font-size:11px;line-height:1.4}}.force-login-notice-text .font-bold{font-weight:700;color:#FFC107}@supports (-webkit-touch-callout:none){.signup-modal-overlay input,.signup-modal-overlay textarea{font-size:16px!important}}.signup-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto}@media (max-width:640px){.signup-modal-overlay{overflow:hidden;padding:0}}.signup-modal-container{position:relative;background:#0f172a;border:1px solid #1e293b;border-radius:24px;width:100%;max-width:600px;box-shadow:0 25px 50px -12px rgba(0,0,0,.8);margin:auto;max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch}@media (max-width:640px){.signup-modal-container{max-height:100vh;height:100%;border-radius:0;display:flex;flex-direction:column}}@media (max-width:480px){.signup-modal-container{max-height:100vh;height:100%;border-radius:0}}.signup-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#64748b;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;z-index:10}.signup-modal-close:hover{background:#1e293b;color:#f8fafc}.signup-header{text-align:center;padding:20px 24px 16px;border-bottom:1px solid #1e293b}@media (max-width:640px){.signup-header{padding:20px 20px 16px}}.signup-title-with-logo{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.signup-title{font-size:24px;font-weight:700;color:#f8fafc;background:linear-gradient(135deg,#06b6d4,#3b82f6 50%,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.signup-logo{height:32px;width:auto;-o-object-fit:contain;object-fit:contain}@media (max-width:640px){.signup-title{font-size:20px}.signup-logo{height:28px}}.signup-subtitle{font-size:13px;color:#64748b;line-height:1.5;max-width:480px;margin:0 auto 12px}@media (max-width:640px){.signup-subtitle{font-size:12px;line-height:1.4;margin-bottom:10px}}.signup-disclaimer{font-size:12px;color:#64748b;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:12px;margin-top:12px;text-align:left;line-height:1.4}@media (max-width:640px){.signup-disclaimer{font-size:11px;padding:10px;margin-top:10px}}.signup-progress-stepper{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 32px;border-bottom:1px solid #1e293b;gap:0;max-width:600px;margin:0 auto;position:relative}@media (max-width:768px){.signup-progress-stepper{padding:16px 24px;max-width:100%}}@media (max-width:640px){.signup-progress-stepper{padding:14px 16px}}@media (max-width:480px){.signup-progress-stepper{padding:12px}}.signup-progress-stepper:before{content:"";position:absolute;top:34px;left:23%;right:23%;height:2px;background:#334155;z-index:0}@media (max-width:640px){.signup-progress-stepper:before{top:32px}}@media (max-width:480px){.signup-progress-stepper:before{top:30px}}.signup-stepper-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1 1 0;min-width:0;max-width:33.333%}.signup-progress-stepper:after{content:"";position:absolute;top:34px;left:25%;height:2px;background:#06b6d4;z-index:0;transition:width .3s ease;width:var(--progress-width,0)}@media (max-width:640px){.signup-progress-stepper:after{top:32px}}@media (max-width:480px){.signup-progress-stepper:after{top:30px}}.signup-stepper-circle{margin-bottom:6px;position:relative;z-index:1;flex-shrink:0}@media (max-width:480px){.signup-stepper-circle{margin-bottom:5px}}.signup-stepper-number{width:36px;height:36px;border-radius:50%;background:#1e293b;border:2px solid #334155;display:flex;align-items:center;justify-content:center;font-weight:600;color:#64748b;transition:all .3s ease;font-size:15px}@media (max-width:768px){.signup-stepper-number{width:34px;height:34px;font-size:14px}}@media (max-width:640px){.signup-stepper-number{width:32px;height:32px;font-size:14px}}@media (max-width:480px){.signup-stepper-number{width:30px;height:30px;font-size:13px;border-width:2px}}.signup-stepper-step.active .signup-stepper-number{background:#06b6d4;border-color:#06b6d4;color:#f8fafc;animation:signupPulse 2s infinite}.signup-stepper-step.completed .signup-stepper-number{background:#10b981;border-color:#10b981;color:#f8fafc}@keyframes signupPulse{0%,to{box-shadow:0 0 0 0 rgba(6,182,212,.4)}50%{box-shadow:0 0 0 8px rgba(6,182,212,0)}}.signup-stepper-label{font-size:12px;color:#64748b;font-weight:500;text-align:center;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;line-height:1.2;width:100%}@media (max-width:640px){.signup-stepper-label{font-size:11px;line-height:1.2}}@media (max-width:480px){.signup-stepper-label{font-size:10px;line-height:1.1}}.signup-stepper-step.active .signup-stepper-label{color:#06b6d4}.signup-stepper-step.completed .signup-stepper-label{color:#10b981}.signup-content{padding:24px 32px}@media (max-width:768px){.signup-content{padding:20px 24px}}@media (max-width:640px){.signup-content{padding:16px 20px;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media (max-width:480px){.signup-content{padding:14px 16px}}.zalo-notice:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,104,255,.1) 50%,transparent);animation:zalo-shine 3s ease-in-out infinite}@keyframes zalo-shine{0%{left:-100%}50%,to{left:100%}}.zalo-notice-icon svg,.zalo-notice-icon-img{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}@media (max-width:640px){.zalo-notice-icon svg,.zalo-notice-icon-img{width:22px;height:22px}}@media (max-width:480px){.zalo-notice-icon svg,.zalo-notice-icon-img{width:20px;height:20px}}@media (max-width:768px){.form-group{margin-bottom:15px;min-height:calc(50px + 8px)}}@media (max-width:480px){.form-group{margin-bottom:12px;min-height:calc(46px + 8px)}}@media (max-width:640px){.form-label{font-size:12.5px;margin-bottom:5px}}@media (max-width:480px){.form-label{font-size:12px;margin-bottom:4px}}@media (max-width:768px){.form-input{padding:13px 15px;min-height:50px}}@media (max-width:480px){.form-input{padding:11px 13px;min-height:46px;border-radius:8px}.form-error{font-size:12px;padding:8px 12px;margin-top:6px}}.otp-wrapper{min-height:180px;display:flex;flex-direction:column}@media (max-width:640px){.otp-wrapper{min-height:120px}}@media (max-width:480px){.otp-wrapper{min-height:110px}}.otp-container{margin:24px auto 0;min-height:64px;align-items:center;max-width:100%;padding:0 4px}@media (max-width:640px){.otp-container{gap:6px;margin:12px auto 0;min-height:50px}}@media (max-width:480px){.otp-container{gap:5px;margin:10px auto 0;min-height:48px;padding:0 2px}}.otp-error-container{min-height:80px;margin-top:16px;display:flex;align-items:flex-start}@media (max-width:640px){.otp-error-container{min-height:50px;margin-top:8px}}@media (max-width:480px){.otp-error-container{min-height:45px;margin-top:6px}}.otp-input{box-sizing:border-box;flex-shrink:0;padding:0;margin:0;min-width:52px;max-width:52px;min-height:64px;max-height:64px}@media (max-width:640px){.otp-input{width:42px;height:50px;min-width:42px;max-width:42px;min-height:50px;max-height:50px;font-size:20px;border-radius:8px}}@media (max-width:480px){.otp-input{width:40px;height:48px;min-width:40px;max-width:40px;min-height:48px;max-height:48px;font-size:18px;border-radius:8px}}.otp-input:focus{width:52px;height:64px}@media (max-width:640px){.otp-input:focus{width:42px;height:50px;scroll-margin-block:50vh}}@media (max-width:480px){.otp-input:focus{width:40px;height:48px;scroll-margin-block:50vh}}.btn-primary{transition:opacity .2s ease,transform .2s ease}@media (max-width:768px){.btn-primary{padding:11px 16px;min-height:44px;font-size:14px}}@media (max-width:640px){.btn-primary{padding:12px 16px;min-height:48px;border-radius:10px;font-size:14px}}@media (max-width:480px){.btn-primary{padding:11px 14px;min-height:46px;font-size:13px}}.resend-option-button{border-radius:10px;padding:12px 16px;transition:all .2s ease;gap:8px;min-height:44px}@media (max-width:640px){.resend-option-button{padding:10px 14px;font-size:13px;min-height:42px;border-radius:8px}}.resend-option-button:hover:not(:disabled){background:#1e293b;border-color:#06b6d4;color:#06b6d4;transform:translateY(-1px)}.resend-option-button:disabled{opacity:.6}.resend-option-button img,.resend-option-button svg{flex-shrink:0;width:16px;height:16px}.checkbox-group{display:flex;align-items:flex-start;gap:10px;margin:8px 0;padding:12px;border-radius:10px;transition:background-color .2s ease}@media (max-width:640px){.checkbox-group{gap:10px;margin:6px 0;padding:10px;border-radius:8px}}@media (max-width:480px){.checkbox-group{gap:8px;margin:5px 0;padding:8px}}.checkbox-group:hover{background:rgba(6,182,212,.02)}.checkbox-input{width:20px;height:20px;accent-color:#06b6d4;margin:2px 0 0;cursor:pointer}.checkbox-label{font-size:13px;color:#f8fafc;line-height:1.5;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (max-width:640px){.checkbox-label{font-size:13px;line-height:1.4}}@media (max-width:480px){.checkbox-label{font-size:12px;line-height:1.3}}.checkbox-label a{color:#06b6d4;text-decoration:none;font-weight:500}.checkbox-label a:hover{color:#0891b2;text-decoration:underline}.password-optional{margin-bottom:24px}.password-optional summary{cursor:pointer;font-weight:600;color:#06b6d4;margin-bottom:12px;font-size:14px}.password-optional summary:hover{color:#0891b2}.password-toggle-group{margin-top:12px}@media (prefers-contrast:high){.form-input,.otp-input,.signup-modal-container{border-color:#06b6d4}}@media (prefers-reduced-motion:reduce){*,.loading-spinner,.stepper-number,.success-icon-large{animation:none!important;transition:none!important}}.user-exists-banner{margin-top:12px;padding:16px;background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(6,182,212,.1) 50%,rgba(34,211,238,.1));border:2px solid;-o-border-image:linear-gradient(135deg,#10b981,#06b6d4 50%,#22d3ee) 1;border-image:linear-gradient(135deg,#10b981,#06b6d4 50%,#22d3ee) 1;border-radius:12px;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-exists-banner .banner-content{display:flex;gap:12px;align-items:flex-start}.user-exists-banner .banner-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#10b981,#06b6d4 50%,#22d3ee);display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px rgba(16,185,129,.3)}.user-exists-banner .banner-text{flex:1;display:flex;flex-direction:column;gap:8px}.user-exists-banner .banner-message{font-size:15px;font-weight:600;color:#f8fafc;margin:0;line-height:1.5}.user-exists-banner .banner-action{font-size:14px;color:#cbd5e1;margin:0;line-height:1.6}.login-link{display:inline;background:linear-gradient(135deg,#10b981,#06b6d4 50%,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;text-decoration:none;border:none;cursor:pointer;padding:0;transition:all .2s ease;position:relative}.login-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:linear-gradient(135deg,#10b981,#06b6d4 50%,#22d3ee);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.login-link:hover:after{transform:scaleX(1);transform-origin:left}.login-link:hover{opacity:.8}.login-link:active{transform:scale(.98)}@media (max-width:640px){.user-exists-banner{padding:14px}.user-exists-banner .banner-content{gap:10px}.user-exists-banner .banner-icon{width:36px;height:36px}.user-exists-banner .banner-icon svg{width:18px;height:18px}.user-exists-banner .banner-message{font-size:14px}.user-exists-banner .banner-action{font-size:13px}}.success-countdown-container{margin-top:32px;display:flex;flex-direction:column;align-items:center;gap:24px}.countdown-circle-wrapper{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.countdown-circle{width:100%;height:100%;transform:rotate(-90deg)}.countdown-circle-bg{fill:none;stroke:#1e293b;stroke-width:8}.countdown-circle-progress{fill:none;stroke:#10b981;stroke-width:8;stroke-linecap:round;stroke-dasharray:339.3;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;filter:drop-shadow(0 0 8px rgba(16,185,129,.5))}.countdown-circle-wrapper:before{content:"";position:absolute;inset:0;border-radius:50%;padding:4px;background:linear-gradient(135deg,#10b981,#06b6d4 50%,#22d3ee);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.3;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.countdown-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;font-weight:700;font-family:Space Grotesk,system-ui,sans-serif;background:linear-gradient(135deg,#10b981,#06b6d4 50%,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:countdown-pulse 1s ease-in-out infinite}@keyframes countdown-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.countdown-text{color:#cbd5e1;text-align:center;margin:0}.countdown-highlight{font-weight:700;background:linear-gradient(135deg,#10b981,#06b6d4 50%,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width:640px){.success-countdown-container{margin-top:24px;gap:20px}.countdown-circle-wrapper{width:100px;height:100px}.countdown-number{font-size:40px}.countdown-text{font-size:14px}}@supports (-webkit-touch-callout:none){.forgot-password-modal-overlay input,.forgot-password-modal-overlay textarea{font-size:16px!important}}.forgot-password-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto}@media (max-width:640px){.forgot-password-modal-overlay{overflow:hidden;padding:0}}.forgot-password-modal-container{position:relative;background:#0f172a;border:1px solid #1e293b;border-radius:24px;width:100%;max-width:480px;box-shadow:0 25px 50px -12px rgba(0,0,0,.8);margin:auto;max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch}@media (max-width:640px){.forgot-password-modal-container{max-height:100vh;height:100%;border-radius:0;display:flex;flex-direction:column}}@media (max-width:480px){.forgot-password-modal-container{max-height:100vh;height:100%;border-radius:0}}.forgot-password-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#64748b;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;z-index:10}.forgot-password-modal-close:hover{background:#1e293b;color:#f8fafc}.forgot-password-header{text-align:center;padding:20px 24px 16px;border-bottom:1px solid #1e293b}@media (max-width:640px){.forgot-password-header{padding:20px 20px 16px}}.forgot-password-title-with-logo{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.forgot-password-title{font-size:24px;font-weight:700;color:#f8fafc;background:linear-gradient(135deg,#06b6d4,#3b82f6 50%,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.forgot-password-logo{height:32px;width:auto;-o-object-fit:contain;object-fit:contain}@media (max-width:640px){.forgot-password-title{font-size:20px}.forgot-password-logo{height:28px}}.forgot-password-subtitle{font-size:13px;color:#64748b;line-height:1.5;max-width:400px;margin:0 auto}@media (max-width:640px){.forgot-password-subtitle{font-size:12px;line-height:1.4}}.forgot-password-progress-stepper{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 32px;border-bottom:1px solid #1e293b;gap:0;max-width:400px;margin:0 auto;position:relative}@media (max-width:768px){.forgot-password-progress-stepper{padding:16px 24px;max-width:100%}}@media (max-width:640px){.forgot-password-progress-stepper{padding:14px 16px}}@media (max-width:480px){.forgot-password-progress-stepper{padding:12px}}.forgot-password-progress-stepper:before{content:"";position:absolute;top:34px;left:25%;right:25%;height:2px;background:#334155;z-index:0}@media (max-width:640px){.forgot-password-progress-stepper:before{top:32px}}.forgot-password-stepper-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1 1 0;min-width:0}.forgot-password-progress-stepper:after{content:"";position:absolute;top:34px;left:25%;height:2px;background:#06b6d4;z-index:0;transition:width .3s ease;width:var(--progress-width,0)}@media (max-width:640px){.forgot-password-progress-stepper:after{top:32px}}.forgot-password-stepper-circle{margin-bottom:6px;position:relative;z-index:1;flex-shrink:0}.forgot-password-stepper-number{width:36px;height:36px;border-radius:50%;background:#1e293b;border:2px solid #334155;display:flex;align-items:center;justify-content:center;font-weight:600;color:#64748b;transition:all .3s ease;font-size:15px}@media (max-width:768px){.forgot-password-stepper-number{width:34px;height:34px;font-size:14px}}@media (max-width:640px){.forgot-password-stepper-number{width:32px;height:32px;font-size:14px}}@media (max-width:480px){.forgot-password-stepper-number{width:30px;height:30px;font-size:13px}}.forgot-password-stepper-step.active .forgot-password-stepper-number{background:#06b6d4;border-color:#06b6d4;color:#f8fafc;animation:forgotPasswordPulse 2s infinite}.forgot-password-stepper-step.completed .forgot-password-stepper-number{background:#10b981;border-color:#10b981;color:#f8fafc}@keyframes forgotPasswordPulse{0%,to{box-shadow:0 0 0 0 rgba(6,182,212,.4)}50%{box-shadow:0 0 0 8px rgba(6,182,212,0)}}.forgot-password-stepper-label{font-size:12px;color:#64748b;font-weight:500;text-align:center;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2;width:100%}@media (max-width:640px){.forgot-password-stepper-label{font-size:11px}}@media (max-width:480px){.forgot-password-stepper-label{font-size:10px;line-height:1.1}}.forgot-password-stepper-step.active .forgot-password-stepper-label{color:#06b6d4}.forgot-password-stepper-step.completed .forgot-password-stepper-label{color:#10b981}.forgot-password-content{padding:24px 32px}@media (max-width:768px){.forgot-password-content{padding:20px 24px}}@media (max-width:640px){.forgot-password-content{padding:16px 20px;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media (max-width:480px){.forgot-password-content{padding:14px 16px}}.step-title{font-size:20px;font-weight:600;color:#f8fafc;margin-bottom:6px}@media (max-width:768px){.step-title{font-size:19px}}@media (max-width:640px){.step-title{font-size:18px;margin-bottom:6px}}@media (max-width:480px){.step-title{font-size:17px}}.step-description{font-size:14px;color:#94a3b8;margin-bottom:18px;line-height:1.5}@media (max-width:768px){.step-description{font-size:13.5px;margin-bottom:16px}}@media (max-width:640px){.step-description{font-size:13px;margin-bottom:12px;line-height:1.4}}@media (max-width:480px){.step-description{font-size:12px;margin-bottom:10px}}.option-selection{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.option-button{width:100%;background:#1e293b;border:2px solid #334155;border-radius:12px;padding:16px 20px;color:#f8fafc;font-weight:600;font-size:15px;transition:all .2s ease;cursor:pointer;display:flex;align-items:center;gap:12px;text-align:left}@media (max-width:640px){.option-button{padding:14px 18px;font-size:14px;border-radius:10px}}.option-button:hover{border-color:#06b6d4;background:#1e293b;transform:translateY(-2px);box-shadow:0 4px 12px rgba(6,182,212,.2)}.option-button.active{border-color:#06b6d4;background:linear-gradient(135deg,rgba(6,182,212,.1),rgba(59,130,246,.1))}.option-icon{width:40px;height:40px;min-width:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#06b6d4,#3b82f6);color:white}@media (max-width:640px){.option-icon{width:36px;height:36px;min-width:36px}}.option-content{flex:1}.option-title{font-size:15px;font-weight:600;color:#f8fafc;margin-bottom:4px}.option-description{font-size:13px;color:#64748b;line-height:1.4}.zalo-notice{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:12px 0 16px;background:linear-gradient(135deg,rgba(0,104,255,.12),rgba(59,130,246,.12) 50%,rgba(147,197,253,.12));border:2px solid;-o-border-image:linear-gradient(135deg,#0068FF,#3b82f6 50%,#60a5fa) 1;border-image:linear-gradient(135deg,#0068FF,#3b82f6 50%,#60a5fa) 1;border-radius:12px;position:relative;overflow:hidden;animation:zalo-glow 3s ease-in-out infinite}@keyframes zalo-glow{0%,to{box-shadow:0 0 0 0 rgba(0,104,255,.4)}50%{box-shadow:0 0 20px 2px rgba(0,104,255,.3)}}@media (max-width:640px){.zalo-notice{gap:10px;padding:10px 12px;margin:12px 0 16px;border-radius:10px}}@media (max-width:480px){.zalo-notice{gap:8px;padding:8px 10px;margin:10px 0 14px}}.zalo-notice-icon{width:36px;height:36px;min-width:36px;background:linear-gradient(135deg,#0068FF,#3b82f6);border-radius:10px;display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px rgba(0,104,255,.35);position:relative;z-index:1;animation:zalo-icon-pulse 2s ease-in-out infinite}@keyframes zalo-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media (max-width:640px){.zalo-notice-icon{width:38px;height:38px;min-width:38px;border-radius:10px}}@media (max-width:480px){.zalo-notice-icon{width:34px;height:34px;min-width:34px;border-radius:8px}}.zalo-notice-icon-img{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}@media (max-width:640px){.zalo-notice-icon-img{width:22px;height:22px}}@media (max-width:480px){.zalo-notice-icon-img{width:20px;height:20px}}.zalo-notice-content{flex:1;position:relative;z-index:1}.zalo-notice-title{font-size:13px;font-weight:700;color:#0068FF;margin-bottom:2px;line-height:1.3}@media (max-width:640px){.zalo-notice-title{font-size:13px;margin-bottom:2px}}@media (max-width:480px){.zalo-notice-title{font-size:12px}}.zalo-notice-text{font-size:12px;color:#64748b;line-height:1.3;font-weight:500}@media (max-width:640px){.zalo-notice-text{font-size:11px;line-height:1.3}}@media (max-width:480px){.zalo-notice-text{font-size:10px}}.zalo-notice-text strong{color:#0068FF;font-weight:700}.zalo-notice-otp{margin:12px 0 16px}@media (max-width:640px){.zalo-notice-otp{margin:10px 0 12px}}@media (max-width:480px){.zalo-notice-otp{margin:8px 0 10px}}.form-group{margin-bottom:16px;position:relative;min-height:calc(52px + 8px)}@media (max-width:640px){.form-group{margin-bottom:14px;min-height:calc(48px + 8px)}}.form-label{display:block;font-size:13px;font-weight:600;color:#f8fafc;margin-bottom:6px}.form-input{width:100%;background:#1e293b;border:2px solid #334155;border-radius:12px;padding:14px 16px;color:#f8fafc;font-size:16px;transition:border-color .2s ease,box-shadow .2s ease;min-height:52px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (max-width:640px){.form-input{padding:12px 14px;min-height:48px;border-radius:10px}}.form-input::-moz-placeholder{color:#64748b}.form-input::placeholder{color:#64748b}.form-input:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 4px rgba(6,182,212,.1);transform:none}.phone-input-group{display:flex;gap:12px}.country-selector{background:#1e293b;border:2px solid #334155;border-radius:12px;padding:16px 18px;color:#f8fafc;font-weight:600;min-width:100px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease}.country-selector:hover{border-color:#06b6d4}.country-flag{font-size:20px}.form-input.phone{flex:1}.form-microcopy{font-size:14px;color:#64748b;margin-top:8px;line-height:1.5;display:flex;align-items:flex-start;gap:8px}.form-microcopy svg{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:#06b6d4}.form-error{color:#ef4444;background:#2A0E0E;font-size:14px;padding:12px 16px;border-radius:12px;margin-top:8px;border:1px solid #7f1d1d;display:flex;align-items:flex-start;gap:12px;overflow:hidden;will-change:opacity,max-height,margin-top;transform:translateZ(0)}@media (max-width:640px){.form-error{font-size:13px;padding:10px 14px;margin-top:6px}}.form-error svg{width:20px;height:20px;flex-shrink:0;margin-top:1px}@media (max-width:640px){.form-error svg{width:18px;height:18px}}.password-toggle-group{position:relative}.password-toggle{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:6px;transition:color .2s ease}.password-toggle:hover{color:#06b6d4}.otp-container{display:flex;gap:10px;justify-content:center;margin:24px 0 20px}@media (max-width:640px){.otp-container{gap:6px;margin:12px 0 8px}}@media (max-width:480px){.otp-container{gap:5px;margin:10px 0 6px}}.otp-input{width:52px;height:64px;background:#1e293b;border:2px solid #334155;border-radius:12px;text-align:center;font-size:24px;font-weight:700;color:#f8fafc;transition:border-color .2s ease,box-shadow .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;scroll-margin:0;scroll-padding:0}@media (max-width:640px){.otp-input{width:42px;height:50px;font-size:20px;border-radius:8px}}@media (max-width:480px){.otp-input{width:40px;height:48px;font-size:18px}}.otp-input:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 4px rgba(6,182,212,.1);transform:none!important}@media (max-width:640px){.otp-input:focus{scroll-margin-block:50vh}}@media (max-width:480px){.otp-input:focus{scroll-margin-block:50vh}}.otp-input:disabled{background:#0f172a;opacity:.5;cursor:not-allowed}.btn-primary{width:100%;background:#06b6d4;border:none;border-radius:12px;padding:12px 18px;color:#f8fafc;font-weight:600;font-size:15px;transition:all .2s ease;cursor:pointer;min-height:46px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (max-width:640px){.btn-primary{padding:10px 16px;min-height:42px;border-radius:10px;font-size:14px}}@media (max-width:480px){.btn-primary{padding:9px 12px;min-height:40px;font-size:13px}}.btn-primary:hover:not(:disabled){background:#0891b2;transform:translateY(-2px);box-shadow:0 8px 25px -8px rgba(6,182,212,.3)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:#374151;color:#6b7280;cursor:not-allowed;transform:none;box-shadow:none}.btn-navigation{display:flex;gap:12px;margin-top:16px}@media (max-width:768px){.btn-navigation{gap:10px;margin-top:14px}}@media (max-width:640px){.btn-navigation{gap:8px;margin-top:12px;flex-direction:column}}@media (max-width:480px){.btn-navigation{gap:8px;margin-top:10px}}.btn-back{flex:1;background:none;border:2px solid #334155;border-radius:12px;padding:12px 18px;color:#64748b;font-weight:600;font-size:15px;transition:all .2s ease;cursor:pointer;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px}@media (max-width:768px){.btn-back{padding:11px 16px;min-height:44px;font-size:14px}}@media (max-width:640px){.btn-back{padding:12px 16px;min-height:48px;font-size:14px;border-radius:10px;width:100%;flex:none}}@media (max-width:480px){.btn-back{padding:11px 14px;min-height:46px;font-size:13px}}.btn-back:hover:not(:disabled){border-color:#64748b;color:#f8fafc}.btn-next{flex:2}@media (max-width:640px){.btn-next{width:100%;flex:none}}.countdown-container{text-align:center;margin:20px 0;min-height:60px;display:flex;align-items:center;justify-content:center}@media (max-width:640px){.countdown-container{margin:10px 0 8px;min-height:50px}}@media (max-width:480px){.countdown-container{margin:8px 0 6px;min-height:45px}}.countdown-text{font-size:16px;color:#64748b;width:100%}@media (max-width:640px){.countdown-text{font-size:13px}}.countdown-timer{font-size:24px;font-weight:600;color:#06b6d4;font-variant-numeric:tabular-nums}@media (max-width:640px){.countdown-timer{font-size:20px}}.resend-link{color:#06b6d4;text-decoration:none;font-weight:600;transition:color .2s ease;cursor:pointer;background:none;border:none;font-size:16px}.resend-link:hover{color:#0891b2;text-decoration:underline}.resend-options{margin-top:16px;padding:16px;background:#1e293b;border:2px solid #334155;border-radius:12px}@media (max-width:640px){.resend-options{margin-top:12px;padding:12px;border-radius:10px}}.resend-options-title{font-size:13px;font-weight:600;color:#94a3b8;margin:0 0 12px;text-align:center}@media (max-width:640px){.resend-options-title{font-size:12px;margin-bottom:10px}}.resend-options-buttons{display:flex;flex-direction:column;gap:10px}@media (max-width:640px){.resend-options-buttons{gap:8px}}.resend-option-button{width:100%;background:#0f172a;border:2px solid #334155;border-radius:12px;padding:14px 20px;color:#f8fafc;font-weight:600;font-size:14px;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;position:relative;overflow:hidden}@media (max-width:640px){.resend-option-button{padding:12px 16px;font-size:13px;min-height:48px;border-radius:10px;gap:8px}}.resend-option-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.resend-option-button:hover:not(:disabled):before{left:100%}.resend-option-email:hover:not(:disabled){background:linear-gradient(135deg,rgba(6,182,212,.15),rgba(59,130,246,.15));border-color:#06b6d4;color:#06b6d4;transform:translateY(-2px);box-shadow:0 4px 12px rgba(6,182,212,.2)}.resend-option-zalo:hover:not(:disabled){background:linear-gradient(135deg,rgba(0,104,255,.15),rgba(59,130,246,.15));border-color:#0068FF;color:#60a5fa;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,104,255,.2)}.resend-option-button:active:not(:disabled){transform:translateY(0)}.resend-option-button:disabled{background:#0f172a;border-color:#1e293b;color:#64748b;cursor:not-allowed;opacity:.5}.resend-option-button svg{flex-shrink:0;width:20px;height:20px;transition:transform .2s ease}.resend-option-button:hover:not(:disabled) svg{transform:scale(1.1)}.resend-option-button img{flex-shrink:0;width:20px;height:20px;transition:transform .2s ease}.resend-option-button:hover:not(:disabled) img{transform:scale(1.1)}.resend-option-button span{flex:1;text-align:center;font-weight:600;letter-spacing:.3px}.required-mark{color:#ef4444;margin-left:4px}.loading-spinner{width:20px;height:20px;border:2px solid #374151;border-top-color:#06b6d4;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.success-screen{text-align:center;padding:40px 20px}.success-icon-large{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#10b981,#06b6d4);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:successPulse 2s ease-in-out infinite alternate}@keyframes successPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(16,185,129,.4)}to{transform:scale(1.05);box-shadow:0 0 0 20px rgba(16,185,129,0)}}.success-title-large{font-size:28px;font-weight:700;color:#f8fafc;margin-bottom:16px}.success-description-large{font-size:16px;color:#64748b;margin-bottom:32px;line-height:1.6}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.mx-auto{margin-left:auto;margin-right:auto}@media (prefers-contrast:high){.forgot-password-modal-container,.form-input,.otp-input{border-color:#06b6d4}}@media (prefers-reduced-motion:reduce){*,.forgot-password-stepper-number,.loading-spinner,.success-icon-large{animation:none!important;transition:none!important}}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #06b6d4;outline-offset:2px}