.auth-option,.auth-tab-btn{font-family:var(--rf-font)}.auth-otp-digit,.auth-phone-input{outline:0;-webkit-appearance:none}.auth-btn,.auth-otp-digit,.auth-phone-input{-webkit-appearance:none}#authModal .modal-dialog{max-width:1080px;width:calc(100% - 32px);margin-inline:auto}#authModal .modal-content{border:none;border-radius:20px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.22)}#authModal.auth-compact .modal-dialog{max-width:660px}#authModal.auth-compact .auth-hero,.auth-step{display:none}#authModal.auth-compact .auth-form-panel{flex:1;width:auto;max-width:none;justify-content:flex-start}.auth-split{display:flex;min-height:620px}.auth-hero{flex:0 0 60%;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:28px 36px;background:#0b1628}.auth-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:1}.auth-hero-logo,.auth-option-ico img,.auth-roofy-img{object-fit:contain}.auth-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0,rgba(0,0,0,.06) 28%,rgba(0,0,0,.06) 68%,rgba(0,0,0,.52) 100%)}.auth-hero-body{position:relative;z-index:2;display:flex;flex-direction:column;flex:1;gap:0}.auth-hero-logo{height:28px;width:auto;object-position:left center;filter:brightness(0) invert(1);margin-bottom:28px}.auth-hero-headline{font-size:28px;font-weight:800;color:#fff;line-height:1.2;margin:0 0 8px;text-shadow:0 2px 14px rgba(0,0,0,.5)}.auth-hero-sub{font-size:13.5px;color:rgba(255,255,255,.85);line-height:1.6;margin:0 0 24px;text-shadow:0 1px 8px rgba(0,0,0,.45)}.auth-hero-trust{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:12px 14px;margin-bottom:14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.auth-hero-trust i{font-size:22px;color:rgba(255,255,255,.85);flex-shrink:0}.auth-hero-trust-num{font-size:15px;font-weight:700;color:#fff;display:block}.auth-hero-trust-lbl{font-size:11px;color:rgba(255,255,255,.65);display:block}.auth-hero-cities{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.auth-hero-city{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:10px 12px;text-decoration:none;display:flex;align-items:center;gap:8px;transition:background var(--rf-t);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.auth-hero-city:hover{background:rgba(0,0,0,.42)}.auth-hero-city i{font-size:14px;color:rgba(255,255,255,.7);flex-shrink:0}.auth-hero-city-name{font-size:12px;font-weight:600;color:#fff;display:block;line-height:1.3}.auth-hero-city-count{font-size:10px;color:rgba(255,255,255,.58);display:block}.auth-form-panel{flex:1;max-width:440px;display:flex;flex-direction:column;justify-content:center;padding:32px 28px;overflow-y:auto;position:relative;background:#fff}.auth-back,.auth-modal-close{background:var(--rf-bg-light);transition:background var(--rf-t);cursor:pointer}.auth-modal-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5;line-height:1}.auth-back,.auth-option{align-items:center;display:flex}.auth-back:hover,.auth-modal-close:hover{background:var(--rf-border)}.auth-modal-close i{font-size:14px;color:var(--rf-text)}.auth-back{width:36px;height:36px;border:1px solid var(--rf-border);border-radius:50%;justify-content:center;flex-shrink:0;margin-bottom:18px}.auth-back i{font-size:13px;color:var(--rf-text)}.auth-tabs{display:flex;border-bottom:1.5px solid var(--rf-border);margin-bottom:22px}.auth-tab-btn{font-size:13.5px;font-weight:600;color:var(--rf-text-muted);background:0 0;border:none;border-bottom:2.5px solid transparent;padding:10px 2px;margin-right:22px;margin-bottom:-1.5px;cursor:pointer;white-space:nowrap;transition:color var(--rf-t),border-color var(--rf-t)}.auth-country-btn:hover,.auth-option:hover,.auth-otp-digit.filled{border-color:var(--rf-blue)}.auth-tab-btn.active{color:var(--rf-blue);border-bottom-color:var(--rf-blue)}.auth-country-btn,.auth-option{border:1.5px solid var(--rf-border);cursor:pointer}.auth-heading{font-size:22px;font-weight:800;color:var(--rf-navy);margin:0 0 4px;line-height:1.25;text-align:center}.auth-subheading{font-size:13px;color:var(--rf-text-muted);margin:0 0 22px;line-height:1.55}.auth-option{gap:12px;padding:13px 14px;border-radius:12px;margin-bottom:10px;background:#fff;text-decoration:none;color:var(--rf-text);width:100%;text-align:left;transition:border-color var(--rf-t),background var(--rf-t),box-shadow var(--rf-t)}.auth-option:hover{background:var(--rf-blue-soft);color:var(--rf-navy);box-shadow:0 2px 8px rgba(20,85,204,.1)}.auth-option-ico{width:42px;height:42px;border-radius:10px;background:var(--rf-bg-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.auth-google-svg,.auth-option-ico img{width:20px;height:20px}.auth-option-ico i{font-size:18px;color:var(--rf-blue)}#authOptEmail .auth-option-ico,#authOptMobile .auth-option-ico{background:var(--rf-blue)}#authOptEmail .auth-option-ico i,#authOptMobile .auth-option-ico i,.auth-account-card.selected .auth-card-arrow i,.auth-account-card:hover .auth-card-arrow i{color:#fff}#authOptApple .auth-option-ico{background:#1c1c1e}#authOptApple .auth-option-ico i{font-size:19px;color:#fff}.auth-option-info{flex:1}.auth-option-label{font-size:13.5px;font-weight:600;color:var(--rf-navy);display:block;line-height:1.3}.auth-option-hint{font-size:11.5px;color:var(--rf-text-muted);display:block}.auth-option-arrow{font-size:13px;color:var(--rf-text-light);flex-shrink:0}.auth-or{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--rf-text-light);margin:14px 0}#authStep3Account .auth-otp-icon,.auth-terms{margin-bottom:14px}.auth-or::after,.auth-or::before{content:'';flex:1;height:1px;background:var(--rf-border)}.auth-terms{font-size:11.5px;color:var(--rf-text-muted);text-align:center;line-height:1.65;margin-top:16px}.auth-terms a{color:var(--rf-blue);font-weight:500}.auth-roofy{display:flex;align-items:center;gap:12px;background:var(--rf-blue-soft);border:1px solid #c7daff;border-radius:12px;padding:12px 14px;margin-top:auto}.auth-roofy-img{width:52px;height:52px;flex-shrink:0}.auth-roofy-name{font-size:13.5px;font-weight:700;color:var(--rf-navy);line-height:1.3}.auth-roofy-badge{display:inline-flex;align-items:center;gap:2px;font-size:9px;font-weight:700;color:var(--rf-blue);background:rgba(20,85,204,.12);border-radius:4px;padding:2px 5px;margin-left:4px;vertical-align:middle}.auth-roofy-desc{font-size:11.5px;color:var(--rf-text-muted);margin-top:3px;line-height:1.5}.auth-guest-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 0}.auth-guest-icon{width:68px;height:68px;background:var(--rf-blue-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.auth-btn,.auth-country-btn,.auth-phone-input{height:52px;font-family:var(--rf-font)}.auth-guest-icon i,.auth-otp-icon i{font-size:28px;color:var(--rf-blue)}.auth-guest-title{font-size:16px;font-weight:700;color:var(--rf-navy);margin-bottom:8px}.auth-guest-desc{font-size:12.5px;color:var(--rf-text-muted);line-height:1.65;max-width:280px;margin:0 auto 22px}.auth-country-btn,.auth-field-label{font-size:13px;color:var(--rf-text)}.auth-field-label{font-weight:600;display:block;margin-bottom:8px}.auth-phone-group{display:flex;gap:8px;margin-bottom:6px}.auth-country-btn{display:flex;align-items:center;gap:6px;padding:0 12px;border-radius:12px;background:#fff;flex-shrink:0;transition:border-color var(--rf-t);white-space:nowrap}.auth-country-flag{font-size:18px;line-height:1}.auth-country-code{font-weight:600}.auth-country-btn .bi-chevron-down{font-size:10px;margin-left:2px}.auth-phone-input{flex:1;border:1.5px solid var(--rf-border);border-radius:12px;padding:0 16px;font-size:16px;color:var(--rf-text);transition:border-color var(--rf-t),box-shadow var(--rf-t)}.auth-phone-input::placeholder{color:var(--rf-text-light);font-size:14px}.auth-otp-digit:focus,.auth-phone-input:focus{border-color:var(--rf-blue);box-shadow:0 0 0 3px rgba(20,85,204,.11)}.auth-phone-input.auth-invalid{border-color:#dc3545}.auth-field-err{font-size:11.5px;color:#dc3545;margin-bottom:12px;display:none}.auth-field-err.show{display:block}.auth-btn{width:100%;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.1px;transition:background var(--rf-t),box-shadow var(--rf-t),transform .14s ease}.auth-btn-blue{background:var(--rf-blue);color:#fff}.auth-btn-blue:hover{background:var(--rf-blue-dark);box-shadow:0 4px 14px rgba(20,85,204,.3);transform:translateY(-1px);color:#fff}.auth-btn-blue:active{transform:translateY(0)}.auth-btn-blue:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.auth-otp-icon{width:70px;height:70px;background:var(--rf-blue-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:4px auto 18px}.auth-otp-sent{font-size:13px;color:var(--rf-text-muted);text-align:center;margin-bottom:4px}.auth-otp-digit,.auth-otp-phone{font-weight:700;color:var(--rf-navy);text-align:center}.auth-otp-phone{font-size:15px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.auth-otp-phone a{font-size:12.5px;font-weight:600;color:var(--rf-blue)}.auth-otp-boxes{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.auth-otp-digit{width:52px;height:60px;border:2px solid var(--rf-border);border-radius:12px;font-size:22px;font-family:var(--rf-font);transition:border-color var(--rf-t),box-shadow var(--rf-t);-moz-appearance:textfield;caret-color:var(--rf-blue);background:#fff}.auth-otp-digit::-webkit-inner-spin-button,.auth-otp-digit::-webkit-outer-spin-button{-webkit-appearance:none}.auth-otp-digit.error{border-color:#dc3545;animation:.38s auth-shake}@keyframes auth-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}.auth-resend-row{font-size:12.5px;color:var(--rf-text-muted);text-align:center;margin-bottom:18px;line-height:1.6}.auth-resend-btn{font-size:12.5px;font-weight:600;color:var(--rf-text-light);background:0 0;border:none;font-family:var(--rf-font);cursor:not-allowed;padding:0;display:inline}.auth-resend-btn.active{color:var(--rf-blue);cursor:pointer}.auth-timer{font-weight:700;color:var(--rf-blue)}.auth-secure-box{background:var(--rf-bg-light);border:1px solid var(--rf-border);border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-top:16px}.auth-secure-box i{font-size:20px;color:var(--rf-blue);flex-shrink:0;margin-top:1px}.auth-secure-title{font-size:13px;font-weight:700;color:var(--rf-navy);margin-bottom:2px}.auth-secure-desc{font-size:11.5px;color:var(--rf-text-muted)}.auth-step3-head{text-align:center;margin-bottom:22px}.auth-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.auth-account-card{border:2px solid var(--rf-border);border-radius:14px;padding:18px 14px 14px;text-align:center;cursor:pointer;background:#fff;position:relative;transition:border-color var(--rf-t),background var(--rf-t),box-shadow var(--rf-t);-webkit-user-select:none;user-select:none}.auth-account-card:hover{border-color:#b3c9ff;background:#f5f8ff;box-shadow:0 2px 8px rgba(20,85,204,.08)}.auth-account-card.selected{border-color:var(--rf-blue);background:var(--rf-blue-soft);box-shadow:0 2px 12px rgba(20,85,204,.14)}.auth-card-check{position:absolute;top:9px;right:9px;width:20px;height:20px;background:var(--rf-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--rf-t)}.auth-account-card.selected .auth-card-check{opacity:1}.auth-card-check i{font-size:10px;color:#fff}.auth-card-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.auth-card-icon i{font-size:24px}.auth-ico-agent,.auth-ico-builder,.auth-ico-buyer,.auth-ico-owner{background:var(--rf-blue-soft)}.auth-ico-agent i,.auth-ico-builder i,.auth-ico-buyer i,.auth-ico-owner i{color:var(--rf-blue)}.auth-card-title{font-size:13.5px;font-weight:700;color:var(--rf-navy);margin-bottom:6px;line-height:1.3}.auth-account-note,.auth-card-desc{color:var(--rf-text-muted);line-height:1.5}.auth-card-desc{font-size:11.5px;margin-bottom:10px}.auth-card-arrow{width:32px;height:32px;border:1.5px solid var(--rf-border);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;transition:background var(--rf-t),border-color var(--rf-t)}.auth-account-card.selected .auth-card-arrow,.auth-account-card:hover .auth-card-arrow{background:var(--rf-blue);border-color:var(--rf-blue)}.auth-card-arrow i{font-size:12px;color:var(--rf-text-light);transition:color var(--rf-t)}.auth-account-note{background:var(--rf-bg-light);border:1px solid var(--rf-border);border-radius:10px;padding:11px 14px;display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:16px}.auth-account-note i{font-size:16px;color:var(--rf-blue);flex-shrink:0}.auth-step.active{display:flex;flex-direction:column;flex:1}@media (max-width:767.98px){#authModal .modal-dialog{max-width:100%;margin:0;align-items:flex-end}#authModal .modal-content{border-radius:20px 20px 0 0}#authModal.auth-compact .modal-dialog{max-width:100%;align-items:flex-end}.auth-hero{display:none}.auth-form-panel{flex:1;width:auto;max-width:none;justify-content:flex-start;padding:24px 20px;max-height:88vh}.auth-otp-digit{width:42px;height:52px;font-size:18px;border-radius:10px}.auth-otp-boxes{gap:8px}.auth-account-grid{gap:10px}.auth-heading{font-size:20px}}@media (max-width:399px){.auth-otp-digit{width:36px;height:46px;font-size:16px;border-radius:8px}.auth-otp-boxes{gap:6px}}