.auth-popup-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;animation:authFadeIn .25s ease-out}.auth-popup-backdrop{position:absolute;inset:0;background:rgba(13,35,39,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.auth-popup-card{position:relative;z-index:1;width:100%;max-width:440px;background:#fff;border-radius:20px;box-shadow:0 25px 60px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.08);padding:40px 36px 36px;animation:authSlideUp .3s ease-out;max-height:90vh;overflow-y:auto;border-top:3px solid #0d9488}.auth-popup-card.onboarding{max-width:420px}@media (max-width:575px){.auth-popup-card{max-width:95%;padding:28px 20px 24px;border-radius:16px}}.auth-close-btn{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:none;background:#f0fdfa;color:#0d9488;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:15px}.auth-close-btn:hover{background:#ccfbf1;color:#0f766e;transform:scale(1.05)}.auth-header{text-align:center;margin-bottom:28px}.auth-header h1{font-size:26px;font-weight:700;color:#0f172a;margin:0 0 6px;letter-spacing:-.3px}.auth-header p{font-size:14px;color:#64748b;margin:0}.auth-header .auth-link{color:#0d9488;font-weight:600;background:none;border:none;cursor:pointer;padding:0;font-size:inherit;transition:color .15s}.auth-header .auth-link:hover{color:#0f766e;text-decoration:underline}.auth-input-group{position:relative;margin-bottom:16px}.auth-input-group input{width:100%;height:50px;padding:0 44px 0 16px;border:1.5px solid #e2e8f0;border-radius:12px;font-size:15px;color:#0f172a;background:#f8fafc;outline:none;transition:all .2s ease}.auth-input-group input::-moz-placeholder{color:#94a3b8;font-weight:400}.auth-input-group input::placeholder{color:#94a3b8;font-weight:400}.auth-input-group input:focus{border-color:#0d9488;background:#fff;box-shadow:0 0 0 3px rgba(13,148,136,.1)}.auth-input-group .auth-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:15px;pointer-events:none}.auth-input-group.has-icon input{padding-left:44px}.auth-input-group .auth-toggle-pw{position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;color:#94a3b8;font-size:15px;background:none;border:none;padding:4px;display:flex;align-items:center;transition:color .15s}.auth-toggle-pw:hover{color:#64748b}.auth-error{background:#fef2f2;color:#dc2626;border-radius:10px;border:1px solid #fecaca}.auth-error,.auth-success{font-size:13px;padding:10px 14px;margin-bottom:14px}.auth-success{background:#f0fdfa;color:#0f766e;border-radius:10px;border:1px solid #99f6e4;text-align:center}.auth-forgot{display:block;text-align:right;margin-bottom:20px;margin-top:-4px}.auth-forgot button{font-size:13px;color:#0d9488;background:none;border:none;cursor:pointer;padding:0;font-weight:500;transition:color .15s}.auth-forgot button:hover{color:#0f766e;text-decoration:underline}.auth-btn-primary{width:100%;height:50px;border:none;border-radius:12px;font-size:15px;font-weight:600;color:#fff;background:#334155;cursor:pointer;transition:all .2s ease;letter-spacing:.2px;position:relative;overflow:hidden}.auth-btn-primary:hover:not(:disabled){background:#1e293b;box-shadow:0 4px 14px rgba(30,41,59,.3);transform:translateY(-1px)}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-primary:disabled{opacity:.65;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:14px;margin:24px 0;color:#94a3b8;font-size:13px;font-weight:500}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:#e2e8f0}.auth-social-buttons{display:flex;gap:12px}.auth-social-btn{flex:1;height:46px;border-radius:12px;border:1.5px solid #cbd5e1;background:#fff;color:#334155;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.auth-social-btn:hover{background:#f1f5f9;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.06)}.auth-social-btn .social-icon{font-size:16px}.auth-social-btn.--google .social-icon{color:#ea4335}.auth-social-btn.--email .social-icon,.auth-social-btn.--phone .social-icon{color:#0d9488}.auth-phone-input .PhoneInput{height:50px;border:1.5px solid #e2e8f0;border-radius:12px;padding:0 14px;background:#f8fafc;transition:all .2s ease}.auth-phone-input .PhoneInput:focus-within{border-color:#0d9488;background:#fff;box-shadow:0 0 0 3px rgba(13,148,136,.1)}.auth-phone-input .PhoneInputInput{border:none!important;background:transparent!important;box-shadow:none!important;font-size:15px;height:100%;outline:none}.auth-phone-input .PhoneInputInput:focus{border:none!important;box-shadow:none!important;outline:none!important}.auth-phone-input .PhoneInputCountry{margin-right:8px}.auth-otp-row{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.auth-otp-input{width:48px!important;height:54px!important;min-width:48px;min-height:54px;display:block;border:1.5px solid #e2e8f0!important;border-radius:12px!important;background:#f8fafc!important;font-size:22px!important;font-weight:600;color:#0f172a!important;text-align:center;outline:none!important;transition:all .2s ease;caret-color:#0d9488;padding:0!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-otp-input:focus{border-color:#0d9488!important;background:#fff!important;box-shadow:0 0 0 3px rgba(13,148,136,.1)!important}@media (max-width:575px){.auth-otp-input{width:42px;height:48px;font-size:20px;border-radius:10px}.auth-otp-row{gap:8px}}.auth-resend{text-align:center;margin-bottom:20px;font-size:14px;color:#64748b}.auth-resend button{background:none;border:none;color:#0d9488;font-weight:600;font-size:14px;cursor:pointer;padding:0;transition:color .15s}.auth-resend button:hover{color:#0f766e;text-decoration:underline}.auth-back-link{text-align:center;margin-top:16px}.auth-back-link button{background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;padding:0;transition:color .15s}.auth-back-link button:hover{color:#0d9488}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-btn-primary .auth-spinner{display:inline-block;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:authSpin .6s linear infinite;margin-right:8px;vertical-align:middle}@keyframes authSpin{to{transform:rotate(1turn)}}