:root{--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right)}:root{--primary: #e94560;--primary-hover: #d63051;--primary-light: #fef2f4;--dark: #1a1a2e;--dark-2: #16213e;--text: #2d3436;--text-2: #636e72;--text-3: #b2bec3;--bg: #f5f6fa;--white: #ffffff;--border: #e1e8ed;--border-light: #f0f3f5;--success: #00b894;--success-bg: #eafaf5;--danger: #e94560;--danger-bg: #fef2f4;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -1px rgba(0,0,0,.04);--shadow-md: 0 10px 25px -3px rgba(0,0,0,.08), 0 4px 6px -2px rgba(0,0,0,.04);--shadow-lg: 0 20px 40px -4px rgba(0,0,0,.1);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition: .2s ease;--font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}h1,h2,h3{margin-top:0}img{max-width:100%}.input,.select,.textarea{width:100%;padding:.65rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.925rem;font-family:var(--font);color:var(--text);background:var(--white);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #e945601a}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.textarea{resize:vertical;min-height:100px}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23636e72' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border:none;border-radius:var(--radius-sm);font-size:.925rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--transition);text-decoration:none;line-height:1.4}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-outline{background:transparent;color:var(--text);border:1.5px solid var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:#0000000d;color:var(--text)}.btn-danger{background:var(--danger);color:var(--white)}.btn-danger:hover:not(:disabled){background:#d63051;transform:translateY(-1px)}.btn-dark{background:var(--dark);color:var(--white)}.btn-dark:hover:not(:disabled){background:var(--dark-2);transform:translateY(-1px)}.btn-sm{padding:.4rem .85rem;font-size:.85rem}.btn-lg{padding:.8rem 1.75rem;font-size:1rem}.btn-block{width:100%}.btn-whatsapp{background:#25d366;color:var(--white)}.btn-whatsapp:hover:not(:disabled){background:#1da851;transform:translateY(-1px)}.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);transition:box-shadow var(--transition),transform var(--transition)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-shadow{box-shadow:var(--shadow);border:none}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;display:flex;align-items:center;gap:.5rem}.alert-error{background:var(--danger-bg);color:#c0392b;border:1px solid #f5c6cb}.alert-success{background:var(--success-bg);color:#0a7a5e;border:1px solid #b8e6d8}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;line-height:1.4}.badge-primary{background:var(--primary);color:var(--white)}.badge-subtle{background:#e945601a;color:var(--primary)}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.spinner-dark{border-color:#0000001a;border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;justify-content:center;gap:.35rem;margin-top:2rem}.page-btn{padding:.45rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--text);cursor:pointer;font-weight:500;font-size:.875rem;font-family:var(--font);transition:all var(--transition)}.page-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.page-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.toggle-track{width:50px;height:28px;border-radius:14px;position:relative;cursor:pointer;transition:background var(--transition)}.toggle-track.active{background:var(--primary)}.toggle-track.inactive{background:var(--border)}.toggle-thumb{width:22px;height:22px;border-radius:50%;background:var(--white);position:absolute;top:3px;transition:left var(--transition);box-shadow:var(--shadow-sm)}.property-card{text-decoration:none;color:inherit;display:block}.property-card .card{overflow:hidden}.property-card .card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.property-card-img{width:100%;height:210px;object-fit:cover;display:block;transition:transform .3s ease}.property-card .card:hover .property-card-img{transform:scale(1.03)}.property-card-img-wrap{overflow:hidden;position:relative}.property-card-type{position:absolute;top:12px;left:12px;background:#1a1a2ecc;color:var(--white);padding:.2rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:capitalize;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.property-card-body{padding:1rem 1.15rem}.nav-link{color:#ffffffbf;text-decoration:none;font-size:.9rem;font-weight:500;padding:.35rem .5rem;border-radius:var(--radius-sm);transition:all var(--transition);position:relative}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link-active{color:#fff}.unread-badge{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:var(--white);border-radius:50%;font-size:.65rem;font-weight:700;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{box-shadow:0 0 #e9456066}50%{box-shadow:0 0 0 6px #e9456000}}.chat-area{background:var(--white)}.chat-date-sep{display:flex;justify-content:center;margin:1rem 0 .75rem}.chat-date-pill{background:var(--bg);color:var(--text-3);font-size:.72rem;font-weight:600;padding:.25rem .8rem;border-radius:var(--radius-full);letter-spacing:.02em}.chat-msg-row{display:flex;margin-bottom:3px}.chat-msg-row-mine{justify-content:flex-end}.chat-msg-row-other{justify-content:flex-start}.chat-msg-row.has-tail{margin-top:8px}.chat-bbl{max-width:70%;padding:.5rem .7rem .35rem;border-radius:var(--radius-lg);word-break:break-word;white-space:pre-wrap;position:relative;line-height:1.5;font-size:.9rem}.chat-bbl-mine{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-bbl-other{background:var(--bg);color:var(--text);border-bottom-left-radius:4px}.chat-bbl-mine.no-tail{border-bottom-right-radius:var(--radius-lg)}.chat-bbl-other.no-tail{border-bottom-left-radius:var(--radius-lg)}.chat-bbl-sender{font-weight:700;font-size:.78rem;color:var(--primary);margin-bottom:2px}.chat-bbl-text{display:inline}.chat-bbl-meta{float:right;margin:3px 0 -3px 10px;display:flex;align-items:center;gap:3px}.chat-bbl-time{font-size:.67rem;white-space:nowrap}.chat-bbl-mine .chat-bbl-time{color:#fff9}.chat-bbl-other .chat-bbl-time{color:var(--text-3)}.chat-checks{display:flex;align-items:center}.chat-checks svg{width:16px;height:11px}.chat-input-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;border-top:1px solid var(--border-light);margin-top:.5rem}.chat-send-btn{width:42px;height:42px;border-radius:50%;border:none;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease,transform .1s ease}.chat-send-btn:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.chat-send-btn:active:not(:disabled){transform:scale(.95)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-start-msg{text-align:center;padding:1.5rem 1rem .5rem;color:var(--text-3);font-size:.82rem}.section-title{font-size:1.1rem;font-weight:700;color:var(--text);padding-bottom:.6rem;margin-bottom:1rem;border-bottom:2px solid var(--border-light)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.captcha-wrap{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.captcha-svg{border-radius:var(--radius-sm);border:1.5px solid var(--border);overflow:hidden;flex-shrink:0;background:#f0f0f0}.captcha-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;font-size:1.2rem;color:var(--text-2);transition:all var(--transition);flex-shrink:0}.captcha-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.gallery-thumb{width:80px;height:60px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;border:2.5px solid transparent;transition:border-color var(--transition),opacity var(--transition);opacity:.7}.gallery-thumb:hover{opacity:1}.gallery-thumb.active{border-color:var(--primary);opacity:1}.upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;cursor:pointer;transition:all var(--transition);background:var(--white)}.upload-area:hover{border-color:var(--primary);background:var(--primary-light)}.messages-split{display:flex;height:calc(100vh - 128px);margin:-2rem;border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid var(--border)}.messages-sidebar{width:360px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;background:var(--white)}.messages-sidebar-inner{display:flex;flex-direction:column;height:100%}.messages-sidebar-header{padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--border-light)}.messages-chat{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--white)}.messages-chat-inner{display:flex;flex-direction:column;height:100%}.messages-chat-header{display:flex;align-items:center;gap:.85rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.messages-conv-list{flex:1;overflow-y:auto}.messages-conv-item{display:flex;align-items:center;gap:.85rem;padding:.85rem 1.25rem;cursor:pointer;border-left:3px solid transparent;transition:background var(--transition),border-color var(--transition)}.messages-conv-item:hover{background:var(--bg)}.messages-conv-item.active{background:var(--primary-light);border-left-color:var(--primary)}.messages-conv-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.messages-conv-title{font-weight:700;font-size:.9rem;margin-bottom:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-conv-preview{color:var(--text-2);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-conv-date{color:var(--text-3);font-size:.75rem;flex-shrink:0}.messages-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-3)}.toast-container{position:fixed;top:76px;right:1rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;max-width:360px;width:100%;pointer-events:none}.toast-item{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--border);cursor:pointer;pointer-events:auto;animation:toast-slide-in .3s ease forwards;transition:opacity .3s ease,transform .3s ease}.toast-item:hover{box-shadow:var(--shadow-lg);transform:translate(-2px)}.toast-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.toast-body{flex:1;min-width:0}.toast-sender{font-weight:700;font-size:.85rem;color:var(--text)}.toast-message{font-size:.82rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem}.toast-property{font-size:.72rem;color:var(--text-3);margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-close{background:none;border:none;color:var(--text-3);font-size:1.2rem;cursor:pointer;padding:0;line-height:1;flex-shrink:0}.toast-close:hover{color:var(--text)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--border-light) 25%,#e8ecef 50%,var(--border-light) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-card{height:320px;border-radius:var(--radius)}.skeleton-row{height:48px;margin-bottom:6px}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text.w-60{width:60%}.skeleton-text.w-40{width:40%}.skeleton-text.w-80{width:80%}.skeleton-circle{width:48px;height:48px;border-radius:50%}.skeleton-stat{height:90px;border-radius:var(--radius)}.modal-backdrop{position:fixed;inset:0;background:#0006;z-index:300;display:flex;align-items:center;justify-content:center;animation:modal-fade-in .2s ease}.modal-card{background:var(--white);border-radius:var(--radius-lg);padding:1.75rem;max-width:420px;width:90%;box-shadow:var(--shadow-lg);animation:modal-scale-in .2s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--dark);color:#fff;padding:.3rem .6rem;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:50;max-width:280px;overflow:hidden;text-overflow:ellipsis}[data-tooltip]:hover:after{opacity:1}.input-error{border-color:var(--danger)!important}.input-error:focus{box-shadow:0 0 0 3px #e9456026!important}.field-error{display:block;color:#c0392b;font-size:.78rem;margin-top:.25rem}.filter-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;background:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);font-size:.78rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition)}.filter-chip:hover{background:var(--primary);color:var(--white)}.filter-chip-x{font-size:.9rem;line-height:1;font-weight:700}.pw-strength{display:flex;gap:4px;margin-top:.35rem}.pw-strength-bar{height:4px;flex:1;border-radius:2px;background:var(--border-light);transition:background .3s ease}.pw-strength-label{font-size:.75rem;margin-top:.2rem}.badge-new{position:absolute;top:42px;left:12px;background:var(--success);color:var(--white);padding:.15rem .55rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:page-fade-in .25s ease}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-3);text-align:center}.empty-state-icon{opacity:.3;margin-bottom:1rem}.empty-state-title{font-size:1.05rem;font-weight:600;color:var(--text-2);margin:0 0 .3rem}.empty-state-sub{font-size:.875rem;margin:0 0 1rem}.lightbox-backdrop{position:fixed;inset:0;background:#000000eb;z-index:400;display:flex;align-items:center;justify-content:center;animation:modal-fade-in .2s ease}.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-sm)}.lightbox-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:background .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-btn:hover{background:#ffffff40}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-close{position:absolute;top:1rem;right:1rem;background:#ffffff26;border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.3rem;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-close:hover{background:#ffffff40}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:.85rem;font-weight:500}.typing-indicator{display:flex;align-items:center;gap:4px;padding:.5rem .7rem}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--text-3);animation:typing-bounce 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}[data-theme=dark]{--bg: #0f0f17;--white: #1a1a2e;--text: #e4e6eb;--text-2: #b0b3b8;--text-3: #6b7280;--border: #2d2d44;--border-light: #23233a;--dark: #0a0a14;--dark-2: #12121f;--primary-light: rgba(233, 69, 96, .12);--danger-bg: rgba(233, 69, 96, .12);--success-bg: rgba(0, 184, 148, .12);--shadow-xs: 0 1px 2px rgba(0,0,0,.2);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow: 0 4px 6px rgba(0,0,0,.3);--shadow-md: 0 10px 25px rgba(0,0,0,.4);--shadow-lg: 0 20px 40px rgba(0,0,0,.5)}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:800px 100%}.hamburger{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:.3rem}.mobile-menu{display:none}@media(max-width:767px){.hamburger{display:flex}.nav-desktop{display:none!important}.mobile-menu{display:flex;flex-direction:column;position:fixed;top:64px;right:0;width:280px;height:calc(100vh - 64px);background:var(--dark);z-index:150;padding:1rem;gap:.25rem;transform:translate(100%);transition:transform .3s ease;box-shadow:-4px 0 20px #0000004d}.mobile-menu.open{transform:translate(0)}.mobile-menu-backdrop{display:none;position:fixed;inset:64px 0 0;background:#0006;z-index:149}.mobile-menu-backdrop.open{display:block}.mobile-menu .nav-link{padding:.75rem;font-size:1rem;border-radius:var(--radius-sm)}}@media(max-width:1024px)and (min-width:768px){.messages-sidebar{width:280px}}@media(max-width:767px){.property-detail-grid{grid-template-columns:1fr!important}}@media(max-width:767px){.messages-split{height:calc(100vh - 128px);margin:-2rem -1rem;border-radius:0;border:none}.messages-split.messages-mobile .messages-sidebar{width:100%;border-right:none}.messages-split.messages-mobile .messages-chat{width:100%}.toast-container{right:.5rem;left:.5rem;max-width:none}}html.capacitor-native body:before{content:"";display:block;position:fixed;top:0;left:0;right:0;height:var(--safe-top);background:var(--dark);z-index:101}html.capacitor-native nav{padding-top:var(--safe-top)!important;height:calc(64px + var(--safe-top))!important}html.capacitor-native .mobile-menu{top:calc(64px + var(--safe-top))!important;height:calc(100vh - 64px - var(--safe-top))!important}html.capacitor-native .mobile-menu-backdrop{top:calc(64px + var(--safe-top))!important}html.capacitor-native .toast-container{top:calc(76px + var(--safe-top))!important}html.capacitor-native footer{padding-bottom:calc(1.25rem + var(--safe-bottom))!important}html.capacitor-native .chat-input-bar{padding-bottom:var(--safe-bottom)!important}html.capacitor-native .messages-split{height:calc(100vh - 128px - var(--safe-top))!important}
