/*
 * iSell.ge — Designer Theme CSS
 * Centralized visual stylesheet for designer handoff.
 * Generated: 2026-10-04
 *
 * EDIT THIS FILE for visual changes. The application loads this file only.
 * PHP/API/database/payment/SEO logic is not contained here.
 *
 * CONTENTS
 *  1. Core site UI (original styles.css)
 *  2. Map / map-tools UI (original map-tools.css)
 *  3. Designer override workspace
 *
 * Recommended workflow: make new visual changes in section 3 when possible.
 * This makes designer changes easy to review/merge later.
 */

/* ==========================================================================
   1. CORE SITE UI — HEADER / FILTERS / LISTINGS / DIALOGS / PORTALS / MOBILE
   ========================================================================== */
:root{--blue:#1264e3;--deep:#0f172a;--ink:#2a2a2a;--muted:#68707b;--line:#d8dce2;--soft:#f5f7fa;--good:#16813b;--warn:#a24400;--font-ui:"FiraGO",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-ui);color:var(--ink);background:#fff}button,input,select,textarea{font:inherit;font-family:inherit}button{cursor:pointer}.topbar{height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.topbar nav{display:flex;gap:22px}.right-nav{justify-content:flex-end}.topbar a{color:#2b2b2b;text-decoration:none;font-size:14px}.topbar a:hover{color:var(--blue)}.brand{font-size:30px!important;font-weight:900;letter-spacing:-1.8px}.brand span{color:var(--blue)}.mobile-menu{display:none;border:0;background:none;font-size:24px}.search-strip{padding:12px 18px 11px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:15}.main-search{display:flex;width:min(420px,100%);height:44px;border:1px solid #8b929c;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.09);float:left;margin-right:12px}.main-search input{width:100%;border:0;padding:0 13px;outline:none}.main-search button{width:48px;border:0;background:#fff;font-size:27px;color:var(--blue)}.filter-row{display:flex;gap:8px;align-items:center;min-height:44px}.filter-row select,.filter-button,.save-search{height:42px;padding:0 14px;border:1px solid #8f96a0;border-radius:4px;background:#fff;color:#333}.filter-row select:hover,.filter-button:hover{border-color:var(--blue);color:var(--blue)}.save-search{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.price-panel{position:absolute;top:64px;left:448px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 25px rgba(0,0,0,.18);padding:16px;display:flex;align-items:center;gap:8px;border-radius:5px}.price-panel input{width:130px;padding:10px;border:1px solid var(--line)}.price-panel button{padding:10px 18px;color:#fff;background:var(--blue);border:0;border-radius:4px}.hidden{display:none}.explore-layout{--map-width:50%;display:grid;grid-template-columns:minmax(0,var(--map-width)) 12px minmax(0,1fr);height:calc(100vh - 121px);overflow:hidden}.map-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,#d7e7dc 0 42%,#c6dfef 42% 54%,#e8e1cf 54%);border-right:0}.map-grid{position:absolute;inset:-20%;opacity:.35;background-image:linear-gradient(26deg,transparent 46%,#fff 47% 49%,transparent 50%),linear-gradient(110deg,transparent 47%,#fff 48% 49%,transparent 50%),linear-gradient(0deg,transparent 48%,#a9b5a8 49% 50%,transparent 51%);background-size:145px 110px,170px 130px,90px 90px;transform:rotate(-5deg)}.map-panel:after{content:"";position:absolute;left:42%;top:-5%;width:110px;height:120%;background:#b8d9ec;transform:rotate(13deg);opacity:.8}.map-label{position:absolute;z-index:2;color:#617282;font-size:13px;font-weight:700;letter-spacing:.5px}.water{left:49%;top:36%;transform:rotate(75deg);color:#5685a3}.city-label{left:25%;top:43%;font-size:17px;color:#7a8178}.pin{position:absolute;z-index:5;transform:translate(-50%,-50%);padding:7px 10px;border-radius:20px;border:1px solid #fff;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25);font-size:13px;font-weight:800;white-space:nowrap}.pin:hover,.pin.active{background:var(--deep);color:#fff;z-index:7}.map-controls{position:absolute;z-index:8;right:14px;bottom:32px;display:grid;box-shadow:0 2px 8px rgba(0,0,0,.2)}.map-controls button{width:40px;height:40px;background:#fff;border:1px solid var(--line);font-size:22px}.map-search{position:absolute;z-index:8;top:14px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #aaa;border-radius:4px;padding:10px 16px;box-shadow:0 2px 8px rgba(0,0,0,.15);font-weight:700}.results-panel{overflow-y:auto;background:#fff;padding:18px 18px 50px}.results-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}.results-heading h1{font-size:21px;margin:0 0 5px}.results-heading p{margin:0;color:var(--muted);font-size:14px}.results-heading select{border:0;background:#fff;font-weight:700;color:#40444a;padding:5px}.listing-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:12px}.card{border:1px solid var(--line);background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.11);cursor:pointer;overflow:hidden;transition:box-shadow .18s,transform .18s}.card:hover{box-shadow:0 6px 18px rgba(0,0,0,.19);transform:translateY(-1px)}.photo-wrap{position:relative;height:205px;background:#e9ecef}.photo-wrap img{width:100%;height:100%;object-fit:cover}.status-badge{position:absolute;top:10px;left:10px;padding:5px 8px;border-radius:3px;background:rgba(255,255,255,.94);font-size:12px;font-weight:800}.favorite{position:absolute;right:9px;top:7px;background:transparent;border:0;color:#fff;font-size:29px;line-height:1;text-shadow:0 1px 5px rgba(0,0,0,.65)}.favorite.saved{color:#e52d52}.photo-count{position:absolute;right:10px;bottom:9px;background:rgba(20,20,20,.74);color:#fff;padding:4px 7px;border-radius:3px;font-size:12px}.card-body{padding:12px 13px 14px}.price{font-size:24px;font-weight:900;letter-spacing:-.5px}.meta{font-size:14px;margin:5px 0 7px;color:#333}.address{font-size:13px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estimate-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f3;margin-top:11px;padding-top:10px;font-size:13px}.estimate-name{font-weight:800;color:#394150}.estimate-value{font-weight:900}.value-label{font-size:11px;font-weight:800;margin-top:3px}.below{color:var(--good)}.above{color:var(--warn)}.empty{grid-column:1/-1;padding:60px 20px;text-align:center;color:var(--muted)}dialog{width:min(970px,94vw);max-height:92vh;padding:0;border:0;border-radius:8px;box-shadow:0 25px 80px rgba(0,0,0,.4);overflow:auto}dialog::backdrop{background:rgba(8,15,28,.68)}.close{position:fixed;z-index:30;right:max(calc((100vw - 970px)/2 + 12px),4vw);top:5vh;width:40px;height:40px;border:0;border-radius:50%;background:#fff;font-size:28px;box-shadow:0 2px 12px rgba(0,0,0,.25)}.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:230px 230px;gap:4px;background:#fff}.gallery img{width:100%;height:100%;object-fit:cover}.gallery img:first-child{grid-row:1/3}.detail-body{padding:26px 30px 34px}.detail-top{display:flex;justify-content:space-between;gap:20px}.detail-price{font-size:36px;font-weight:900}.detail-address{font-size:18px;margin-top:7px;color:#50545a}.detail-estimate{min-width:245px;border-left:1px solid var(--line);padding-left:25px}.detail-estimate h3{margin:0 0 6px}.detail-estimate strong{font-size:27px}.detail-facts{display:flex;gap:30px;padding:22px 0;border-bottom:1px solid var(--line);font-size:18px}.detail-description{line-height:1.65;max-width:720px}.estimate-explainer{background:var(--soft);padding:18px;border-radius:7px;margin-top:20px}.estimate-explainer h3{margin-top:0}.rent-estimate{font-weight:800;color:var(--blue)}
@media(max-width:1050px){.left-nav,.right-nav{display:none}.topbar{grid-template-columns:1fr auto 1fr}.mobile-menu{display:block;justify-self:start}.explore-layout{grid-template-columns:42% 58%}.listing-grid{grid-template-columns:1fr}.filter-row{overflow-x:auto}.filter-row>*{flex:0 0 auto}}
@media(max-width:760px){.topbar{height:58px}.search-strip{padding:10px}.main-search{float:none;width:100%;margin:0 0 8px}.filter-row{width:100%}.save-search{display:none}.price-panel{left:10px;top:106px}.explore-layout{display:block;height:auto;overflow:visible}.map-panel{height:290px;border-right:0;border-bottom:1px solid var(--line)}.results-panel{overflow:visible;padding:16px 10px 40px}.listing-grid{grid-template-columns:1fr}.photo-wrap{height:240px}.results-heading{align-items:end}.results-heading h1{font-size:19px}.gallery{grid-template-rows:180px 180px}.detail-top{display:block}.detail-estimate{border-left:0;border-top:1px solid var(--line);margin-top:20px;padding:18px 0 0}.detail-facts{gap:14px;flex-wrap:wrap}.close{right:5vw}}

/* Interactive Leaflet map */
#propertyMap{position:absolute;inset:0;z-index:1;background:#e8edf2}.map-panel:after{display:none}.map-panel .leaflet-control-container{position:relative;z-index:10}.map-price-icon{background:transparent;border:0}.map-price-marker{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:32px;padding:0 10px;border:2px solid #fff;border-radius:18px;background:#fff;color:#172033;box-shadow:0 2px 9px rgba(0,0,0,.32);font-size:12px;font-weight:900;white-space:nowrap;transition:.15s transform,.15s background,.15s color}.map-price-marker:hover,.map-price-marker.active{background:var(--deep);color:#fff;transform:scale(1.08)}.map-popup{width:190px;display:grid;gap:7px}.map-popup img{width:100%;height:105px;object-fit:cover;border-radius:4px}.map-popup strong{font-size:18px}.map-popup span{font-size:12px;color:#555}.map-popup button{border:0;border-radius:4px;padding:8px;background:var(--blue);color:#fff;font-weight:800}.map-search{z-index:500}.map-notice{position:absolute;z-index:500;left:12px;bottom:12px;padding:8px 11px;border-radius:4px;background:#fff3cd;color:#664d03;box-shadow:0 2px 8px rgba(0,0,0,.18);font-size:12px}.card.hovered{box-shadow:0 0 0 3px var(--blue),0 7px 20px rgba(0,0,0,.2);transform:translateY(-2px)}
.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;text-align:center;background:#eef2f5;color:#344054;z-index:3}.map-fallback span{max-width:360px;font-size:13px;color:#667085}

/* Self-contained interactive OpenStreetMap (no Leaflet/CDN dependency) */
#propertyMap{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;background:#dce4e8;z-index:1}
#propertyMap.dragging{cursor:grabbing}
.osm-tiles,.osm-reference-tiles,.osm-markers{position:absolute;inset:0;overflow:hidden}
.osm-tiles img,.osm-reference-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;pointer-events:none}
.osm-reference-tiles{z-index:3;pointer-events:none}
.osm-tiles{z-index:1}
.osm-markers{pointer-events:none;z-index:5}
.osm-price-marker{position:absolute;pointer-events:auto;will-change:transform;min-width:64px;height:32px;padding:0 10px;border:2px solid #fff;border-radius:18px;background:#fff;color:#172033;box-shadow:0 2px 9px rgba(0,0,0,.32);font-size:12px;font-weight:900;white-space:nowrap;transition:.15s transform,.15s background,.15s color;z-index:5}
.osm-price-marker:hover,.osm-price-marker.active{background:var(--deep);color:#fff;filter:brightness(.96);z-index:10}
.osm-controls{position:absolute;right:12px;top:12px;z-index:20;display:grid;box-shadow:0 1px 6px rgba(0,0,0,.28)}
.osm-controls button{width:38px;height:38px;border:1px solid #bbb;background:#fff;font-size:24px;line-height:1}
.osm-attribution{position:absolute;right:0;bottom:0;z-index:20;padding:2px 5px;background:rgba(255,255,255,.82);font-size:10px;color:#333}
.osm-attribution a{color:#1667b1}

/* NAPR cadastral WMS overlay */
.napr-wms-tiles{position:absolute;inset:0;overflow:hidden;z-index:2;pointer-events:none}
.napr-wms-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;pointer-events:none}
.napr-layer-toggle{position:absolute;right:12px;top:94px;z-index:21;display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #bbb;border-radius:4px;background:rgba(255,255,255,.94);box-shadow:0 1px 6px rgba(0,0,0,.22);font-size:12px;font-weight:800;color:#1f2937;cursor:pointer}
.napr-layer-toggle input{margin:0}
.basemap-control{position:absolute;right:12px;top:142px;z-index:21;display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #bbb;border-radius:4px;background:rgba(255,255,255,.94);box-shadow:0 1px 6px rgba(0,0,0,.22);font-size:12px;font-weight:800;color:#1f2937;cursor:default}
.basemap-control select{height:28px;padding:0 25px 0 7px;border:1px solid #aeb4bc;border-radius:4px;background:#fff;color:#111827;font-size:12px;font-weight:700;cursor:pointer}
.basemap-control,.basemap-control *{pointer-events:auto;touch-action:auto}


/* Typography refinement — FiraGO rollout */
:is(h1,h2,h3,h4,h5,h6,.section-title,.property-intelligence-title,.property-intelligence-section-title){letter-spacing:-.01em}
.results-heading h1,.detail-estimate h3,.estimate-explainer h3{font-weight:600}
.price,.detail-price,.estimate-value,.property-intelligence-value{font-weight:700}

/* Keep map gestures from swallowing clicks on the NAPR layer switch. */
.napr-layer-toggle,.napr-layer-toggle *{pointer-events:auto;touch-action:auto}


/* NAPR parcel-number search */
.napr-parcel-search{position:absolute;left:12px;top:12px;z-index:23;width:min(310px,calc(100% - 90px));padding:8px;border:1px solid #aeb4bc;border-radius:6px;background:rgba(255,255,255,.97);box-shadow:0 2px 9px rgba(0,0,0,.22);pointer-events:auto;touch-action:auto}
.napr-parcel-search-row{display:flex;gap:6px}
.napr-parcel-search input{min-width:0;flex:1;height:34px;padding:0 9px;border:1px solid #aeb4bc;border-radius:4px;outline:none;font-size:12px}
.napr-parcel-search input:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(13,110,253,.12)}
.napr-parcel-search button{height:34px;padding:0 11px;border:0;border-radius:4px;background:var(--blue);color:#fff;font-size:12px;font-weight:800}
.napr-parcel-search button:disabled{opacity:.6;cursor:wait}
.napr-parcel-search-status{min-height:15px;padding-top:5px;color:#4b5563;font-size:10px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.napr-parcel-highlight{position:absolute;inset:0;z-index:4;overflow:visible;pointer-events:none}
.napr-parcel-highlight path{fill:rgba(255,196,0,.26);stroke:#ff7a00;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(255,255,255,.9))}
.napr-parcel-highlight rect{fill:rgba(255,196,0,.18);stroke:#ff7a00;stroke-width:4;vector-effect:non-scaling-stroke;stroke-dasharray:8 5}

/* Address + parcel map search controls */
.map-search-stack{position:absolute;left:12px;top:12px;z-index:23;width:min(330px,calc(100% - 90px));display:grid;gap:7px;pointer-events:auto;touch-action:auto}
.address-map-search,.napr-parcel-search{position:static;width:100%;padding:8px;border:1px solid #aeb4bc;border-radius:6px;background:rgba(255,255,255,.97);box-shadow:0 2px 9px rgba(0,0,0,.22);pointer-events:auto;touch-action:auto}
.address-map-search-row,.napr-parcel-search-row{display:flex;gap:6px}
.address-map-search input,.napr-parcel-search input{min-width:0;flex:1;height:34px;padding:0 9px;border:1px solid #aeb4bc;border-radius:4px;outline:none;font-size:12px}
.address-map-search input:focus,.napr-parcel-search input:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(13,110,253,.12)}
.address-map-search button,.napr-parcel-search button{height:34px;padding:0 11px;border:0;border-radius:4px;background:var(--blue);color:#fff;font-size:12px;font-weight:800}
.address-map-search button:disabled,.napr-parcel-search button:disabled{opacity:.6;cursor:wait}
.address-map-search-status,.napr-parcel-search-status{min-height:15px;padding-top:5px;color:#4b5563;font-size:10px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
/* override old absolute parcel form placement */
.napr-parcel-search{left:auto;top:auto}
.address-search-marker{position:absolute;z-index:15;width:30px;height:38px;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.address-search-marker:before{content:"";position:absolute;left:5px;top:0;width:20px;height:20px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#d92d20;transform:rotate(-45deg)}
.address-search-marker span{position:absolute;left:12px;top:7px;width:6px;height:6px;border-radius:50%;background:#fff;z-index:2}
@media(max-width:760px){.map-search-stack{width:min(280px,calc(100% - 70px));gap:5px}.address-map-search,.napr-parcel-search{padding:6px}}

.brand .brand-i { text-transform: lowercase; }


/* iSell accounts and user listing entry */
.nav-action{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:6px 4px}.nav-action:hover{text-decoration:underline}.hidden{display:none!important}
.account-dialog,.listing-entry-dialog{border:0;border-radius:12px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.35)}.account-dialog{width:min(460px,94vw)}.listing-entry-dialog{width:min(900px,96vw);max-height:94vh}.account-shell,.listing-entry-form{padding:28px}.account-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-bottom:20px}.account-tabs button{padding:12px;border:0;background:#fff;font-weight:800;border-bottom:3px solid transparent}.account-tabs button.active{color:var(--blue);border-color:var(--blue)}.account-form{display:grid;gap:15px}.account-form label,.listing-entry-form label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#344054}.account-form input,.listing-entry-form input,.listing-entry-form select,.listing-entry-form textarea{width:100%;box-sizing:border-box;border:1px solid #b8c0cc;border-radius:6px;padding:10px 11px;font:inherit}.account-form>button,.listing-submit{border:0;border-radius:6px;padding:12px 18px;background:var(--blue);color:#fff;font-weight:900;cursor:pointer}.form-status{min-height:20px;margin:0;color:#475467;font-size:13px}.listing-entry-form>h2{margin:0}.listing-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.listing-form-grid .wide{grid-column:1/-1}.listing-entry-form textarea{resize:vertical}.listing-entry-form small{font-weight:400;color:#667085}.image-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin:10px 0 18px}.image-preview img{width:100%;height:90px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.listing-submit:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.listing-form-grid{grid-template-columns:1fr}.listing-form-grid .wide{grid-column:auto}.account-shell,.listing-entry-form{padding:20px}.right-nav{display:flex;gap:8px}.right-nav>a{display:none}}


/* iSell logo: black dotless i with a separate red dot */
.brand .brand-i{position:relative;display:inline-block;color:#000!important;text-transform:none;line-height:1}
.brand .brand-i::after{content:"";position:absolute;width:.19em;height:.19em;border-radius:50%;background:#e53935;left:50%;top:-.03em;transform:translateX(-50%)}
.brand>span:last-child{color:var(--blue)!important}

/* Unified map search: parcel-like codes use NAPR, all other input uses OSM geocoding. */
.map-unified-search{position:static;width:100%;padding:8px;border:1px solid #aeb4bc;border-radius:6px;background:rgba(255,255,255,.97);box-shadow:0 2px 9px rgba(0,0,0,.22);pointer-events:auto;touch-action:auto}
.map-unified-search-row{display:flex;gap:6px}
.map-unified-search input{min-width:0;flex:1;height:34px;padding:0 9px;border:1px solid #aeb4bc;border-radius:4px;outline:none;font-size:12px}
.map-unified-search input:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(13,110,253,.12)}
.map-unified-search button{height:34px;padding:0 11px;border:0;border-radius:4px;background:var(--blue);color:#fff;font-size:12px;font-weight:800}
.map-unified-search button:disabled{opacity:.6;cursor:wait}
.map-unified-search-status{min-height:15px;padding-top:5px;color:#4b5563;font-size:10px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.map-unified-search{padding:6px}}

/* Unified external search */
.map-search-stack,.map-unified-search{display:none!important}
.main-search-status{min-height:18px;margin:5px auto 0;max-width:760px;padding:0 12px;color:#4b5563;font-size:12px;line-height:1.35;text-align:center;overflow-wrap:anywhere}
.main-search-status a{color:var(--blue);font-weight:700}

.parcel-entry-row{display:flex;gap:8px;align-items:center}.parcel-entry-row input{flex:1}.parcel-entry-row button{white-space:nowrap;border:0;border-radius:7px;padding:10px 13px;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}.parcel-entry-row button:disabled{opacity:.55;cursor:wait}.detail-parcel{margin:12px 0;padding:9px 12px;border-left:4px solid #2563eb;background:#eff6ff;border-radius:4px;font-size:14px}@media(max-width:620px){.parcel-entry-row{align-items:stretch;flex-direction:column}}

/* Reproject listing markers from latitude/longitude on every map render. */
.osm-markers{transform:none!important}
.osm-price-marker,.address-search-marker{will-change:auto}


/* Search column and filter-row height alignment */
@media (min-width:761px){
  .search-strip{
    display:flex;
    align-items:stretch;
    gap:12px;
    padding:12px 18px 11px;
  }

  .search-column{
    flex:0 1 420px;
    width:min(420px,100%);
    display:flex;
    flex-direction:column;
    min-width:280px;
  }

  .search-column .main-search{
    float:none;
    width:100%;
    margin:0;
    flex:0 0 44px;
  }

  .main-search-status{
    min-height:18px;
    padding-top:3px;
    font-size:12px;
    line-height:15px;
    color:var(--muted);
    overflow:hidden;
  }

  .filter-row{
    flex:1 1 auto;
    align-self:stretch;
    min-height:0;
    display:flex;
    align-items:center;
  }
}

@media (max-width:760px){
  .search-column{
    width:100%;
  }

  .main-search-status{
    min-height:0;
    padding-top:0;
  }
}

.language-switcher{display:inline-flex;align-items:center;gap:4px;margin-right:8px}
.language-switcher button{border:1px solid transparent;background:transparent;border-radius:7px;padding:4px 6px;font-size:20px;line-height:1;cursor:pointer;opacity:.65}
.language-switcher button:hover,.language-switcher button.active{opacity:1;border-color:#cbd5e1;background:#f8fafc}
@media(max-width:900px){.language-switcher{order:-1;margin:0 0 8px}.language-switcher button{font-size:19px}}


/* Final desktop header layout:
   left navigation | centered iSell logo | account actions | language flags */
@media (min-width:1051px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    min-height:64px;
    height:64px;
    padding:0 18px 0 24px;
    column-gap:24px;
  }

  .left-nav{
    justify-self:start;
    align-items:center;
    min-width:0;
  }

  .brand{
    justify-self:center;
    align-self:center;
    display:inline-flex;
    align-items:center;
    line-height:1;
    white-space:nowrap;
  }

  .right-nav{
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    min-width:0;
    white-space:nowrap;
  }

  .right-nav .header-nav-item,
  .right-nav .agent-finder-link,
  .right-nav .nav-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    margin:0;
    padding:0 4px;
    border:0;
    line-height:1;
    vertical-align:middle;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
  }

  .right-nav .agent-finder-link{
    color:#2b2b2b;
  }

  .right-nav .add-listing-action:not(.hidden){
    min-height:38px;
    padding:0 14px;
    border-radius:6px;
    background:var(--blue);
    color:#fff;
    text-decoration:none;
  }

  .right-nav .add-listing-action:not(.hidden):hover{
    background:var(--deep);
    color:#fff;
    text-decoration:none;
  }

  .language-switcher{
    margin:0 0 0 4px;
    padding-left:14px;
    border-left:1px solid var(--line);
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    align-self:center;
  }

  .language-switcher button{
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    margin:0;
    border:1px solid transparent;
    border-radius:7px;
    background:transparent;
    font-size:21px;
    line-height:1;
    opacity:.72;
  }

  .language-switcher button span{
    display:block;
    line-height:1;
    transform:translateY(-1px);
  }

  .language-switcher button:hover,
  .language-switcher button.active{
    opacity:1;
    border-color:#cbd5e1;
    background:#f8fafc;
  }
}

/* Keep language flags at the end of the compact/mobile action row. */
@media (max-width:1050px){
  .right-nav{
    align-items:center;
  }

  .language-switcher{
    order:99;
    margin:0 0 0 auto;
  }

  .right-nav .nav-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}


/* Guaranteed language flags using bundled SVG files instead of emoji glyphs. */
.language-switcher button img{
  display:block;
  width:24px;
  height:15px;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(15,23,42,.18);
  pointer-events:none;
}

.language-switcher button{
  flex:0 0 auto;
  overflow:visible;
}

@media (max-width:1050px){
  .language-switcher button img{
    width:23px;
    height:14px;
  }
}


/* Full-width search status row beneath search and filters */
@media (min-width:761px){
  .search-strip{
    display:grid;
    grid-template-columns:minmax(280px,420px) minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:12px;
    row-gap:0;
    align-items:center;
    padding:12px 18px 8px;
  }

  .search-strip > .main-search{
    grid-column:1;
    grid-row:1;
    float:none;
    width:100%;
    margin:0;
  }

  .search-strip > .filter-row{
    grid-column:2;
    grid-row:1;
    width:100%;
    align-self:center;
  }

  .search-strip > .search-status-row{
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    min-height:20px;
    box-sizing:border-box;
    padding:5px 2px 0;
    margin:0;
    font-size:12px;
    line-height:15px;
    color:var(--muted);
    overflow-wrap:anywhere;
  }

  .search-strip > .price-panel{
    grid-column:1 / -1;
  }
}

@media (max-width:760px){
  .search-strip > .search-status-row{
    width:100%;
    min-height:0;
    padding:4px 0 0;
  }
}


@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .topbar{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:56px;align-items:center;width:100%;min-height:56px;height:auto;padding:0 10px;column-gap:8px;box-sizing:border-box}
  .mobile-menu{grid-column:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:0;background:transparent;font-size:24px}
  .brand{grid-column:2;justify-self:center;align-self:center;margin:0;white-space:nowrap}
  .left-nav{display:none!important}
  .right-nav{grid-column:3;justify-self:end;display:flex;align-items:center;gap:4px;min-width:0;margin:0;padding:0;white-space:nowrap}
  .right-nav .agent-finder-link{display:none!important}
  .right-nav .nav-action,.right-nav .header-nav-item{min-height:34px;height:34px;margin:0;padding:0 7px;font-size:12px;line-height:1;white-space:nowrap}
  .language-switcher{order:99;display:flex;align-items:center;gap:2px;margin:0;padding:0;border:0}
  .language-switcher button{width:27px;height:30px;padding:2px;border-radius:5px}
  .language-switcher button img{width:20px;height:13px}
  .search-strip{display:flex!important;flex-direction:column;width:100%;min-width:0;padding:8px 10px 6px;gap:7px;box-sizing:border-box;overflow:hidden}
  .search-strip>.main-search{order:1;display:flex;width:100%;min-width:0;margin:0;float:none}
  .main-search input{min-width:0;width:100%;height:44px;font-size:14px;padding-left:13px}
  .main-search button{flex:0 0 46px;width:46px;height:44px}
  .search-strip>.filter-row{order:2;display:flex!important;flex-wrap:nowrap!important;align-items:center;width:100%;min-width:0;gap:6px;overflow-x:auto;overflow-y:hidden;padding:0 0 4px;margin:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .filter-row>*{flex:0 0 auto!important;width:auto!important;max-width:none!important;min-width:max-content;height:40px;min-height:40px;margin:0!important;padding-top:0;padding-bottom:0;white-space:nowrap}
  .filter-row select,.filter-row button{font-size:13px}
  .search-strip>.search-status-row{order:3;display:block;width:100%;min-height:18px;margin:0;padding:0 2px;box-sizing:border-box;font-size:12px;line-height:16px;overflow-wrap:anywhere}
  .search-strip>.price-panel{order:4;position:static;width:100%;max-width:100%;box-sizing:border-box}
  .map-shell,.content-wrap,main{max-width:100%;min-width:0}
}
@media (max-width:430px){
  .right-nav .add-listing-action:not(.hidden){display:none!important}
  .right-nav .nav-action{padding:0 4px;font-size:11px}
  .language-switcher button{width:24px}
  .language-switcher button img{width:18px;height:12px}
}


/* One-picture listing gallery with arrows, counter, keyboard, and swipe navigation */
.detail-gallery{position:relative;width:100%;height:min(62vh,560px);min-height:320px;background:#111;overflow:hidden;touch-action:pan-y}
.detail-gallery>img{display:block;width:100%;height:100%;object-fit:contain;background:#111}
.detail-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:58px;border:0;border-radius:7px;background:rgba(0,0,0,.54);color:#fff;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.28)}
.detail-gallery-arrow:hover,.detail-gallery-arrow:focus-visible{background:rgba(0,0,0,.78);outline:2px solid #fff;outline-offset:2px}
.detail-gallery-previous{left:14px}.detail-gallery-next{right:14px}
.detail-gallery-counter{position:absolute;right:16px;bottom:14px;z-index:4;padding:6px 10px;border-radius:16px;background:rgba(0,0,0,.68);color:#fff;font-size:13px;font-weight:800;letter-spacing:.2px}
.detail-gallery-arrow[hidden],.detail-gallery-counter[hidden]{display:none!important}
@media(max-width:760px){
  .detail-gallery{height:42vh;min-height:240px;max-height:420px}
  .detail-gallery-arrow{width:42px;height:52px;font-size:30px}
  .detail-gallery-previous{left:8px}.detail-gallery-next{right:8px}
  .detail-gallery-counter{right:10px;bottom:10px}
}


/* Parcel sales administration and listing history */
.sales-admin-dialog{width:min(720px,calc(100vw - 24px));max-height:90vh}
.sales-admin-content{padding:28px;display:grid;gap:18px}
.sales-admin-content h2{margin:0}
.sales-admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.sales-admin-content form{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.sales-admin-content label{display:grid;gap:7px;font-weight:700}
.sales-admin-content input[type=file]{padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--line);border-radius:6px;text-decoration:none;font-weight:800;color:var(--text);background:#fff}
.sales-import-status{padding:13px;border-radius:7px;background:#f1f5f9;line-height:1.55}
.sales-import-result{min-height:80px;max-height:260px;overflow:auto;padding:12px;border-radius:7px;background:#111827;color:#e5e7eb;font-size:12px;white-space:pre-wrap}
.parcel-sales-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.parcel-sales-section h3{margin:0 0 14px}
.parcel-valuation-card{display:grid;gap:4px;margin-bottom:16px;padding:16px;border-radius:9px;background:#eef6ff;border:1px solid #bfdbfe}
.parcel-valuation-card span{font-size:13px;font-weight:800;color:var(--muted)}
.parcel-valuation-card strong{font-size:30px;color:var(--blue)}
.parcel-valuation-card small{font-weight:800}
.parcel-valuation-card p{margin:4px 0 0;color:var(--muted)}
.parcel-valuation-card.unavailable{background:#f8fafc;border-color:var(--line)}
.parcel-sales-table-wrap{overflow-x:auto}
.parcel-sales-table{width:100%;border-collapse:collapse;font-size:14px}
.parcel-sales-table th,.parcel-sales-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.parcel-sales-table th{font-size:12px;text-transform:uppercase;color:var(--muted)}
.valuation-disclaimer{font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:760px){
  #salesAdminButton{display:none!important}
  .sales-admin-content{padding:20px}
  .parcel-valuation-card strong{font-size:25px}
}

.parcel-price-projections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.parcel-price-projections>div{display:grid;gap:3px;padding:11px;border-radius:7px;background:#fff;border:1px solid #bfdbfe}.parcel-price-projections span{font-size:12px;font-weight:800;color:var(--muted)}.parcel-price-projections strong{font-size:18px;color:var(--text)}.parcel-price-projections small{font-size:11px;color:var(--muted)}.parcel-sales-section h4{margin:18px 0 8px}@media(max-width:600px){.parcel-price-projections{grid-template-columns:1fr}}


/* Comparable parcel-prefix selector */
.parcel-sales-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.parcel-sales-heading h3{margin:0}
.valuation-prefix-selector{
  display:grid;
  gap:5px;
  min-width:230px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.valuation-prefix-selector select{
  min-height:38px;
  padding:0 34px 0 10px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:13px;
}
@media(max-width:760px){
  .parcel-sales-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .valuation-prefix-selector{width:100%;min-width:0}
}


/* Expanded valuation statistics */
.valuation-details-toggle{justify-self:start;margin-top:8px;padding:9px 14px;border:1px solid #93c5fd;border-radius:6px;background:#fff;color:var(--blue);font-weight:800;cursor:pointer}
.valuation-details-toggle:hover{background:#eff6ff}
.valuation-expanded-details{margin-top:12px;padding-top:14px;border-top:1px solid #bfdbfe}
.valuation-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.valuation-detail-grid>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff}
.valuation-detail-grid span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.valuation-detail-grid strong{font-size:14px;overflow-wrap:anywhere}
.parcel-sales-table th,.parcel-sales-table td{font-variant-numeric:tabular-nums}
@media(max-width:900px){.valuation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.valuation-detail-grid{grid-template-columns:1fr}.parcel-sales-table{font-size:12px}}


/* Owner-only listing modification */
.owner-listing-actions{
  display:flex;
  justify-content:flex-end;
  margin:12px 0 4px;
}
.owner-listing-actions button{
  min-height:40px;
  padding:0 16px;
  border:1px solid var(--blue);
  border-radius:7px;
  background:#fff;
  color:var(--blue);
  font-weight:800;
  cursor:pointer;
}
.owner-listing-actions button:hover{
  background:#eff6ff;
}
.image-preview img[data-existing="true"]{
  outline:2px solid #bfdbfe;
  outline-offset:1px;
}


/* Valuation raw-data export */
.valuation-card-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:8px;
}
.valuation-card-actions .valuation-details-toggle{
  margin-top:0;
}
.valuation-export-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 14px;
  border:1px solid var(--blue);
  border-radius:6px;
  background:var(--blue);
  color:#fff;
  font-weight:800;
  text-decoration:none;
}
.valuation-export-button:hover{
  filter:brightness(.96);
}


/* Existing listing image deletion */
.existing-image-item{position:relative;min-width:0}
.existing-image-item img{display:block;width:100%;height:90px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.existing-image-delete{position:absolute;top:5px;right:5px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(17,24,39,.88);color:#fff;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.existing-image-delete:hover{background:#b42318}


/* Compact centered i-sell logo */
.brand-logo-link{
  display:flex !important;
  align-items:center;
  justify-content:center;
  height:56px;
  width:154px;
  padding:2px 0;
  overflow:hidden;
  line-height:1;
}
.brand-logo-image{
  display:block;
  width:auto;
  height:45px;
  max-width:154px;
  object-fit:contain;
}
@media(max-width:1050px){
  .brand-logo-link{
    width:138px;
    height:54px;
  }
  .brand-logo-image{
    height:40px;
    max-width:138px;
  }
}
@media(max-width:760px){
  .brand-logo-link{
    width:118px;
    height:50px;
  }
  .brand-logo-image{
    height:35px;
    max-width:118px;
  }
}


/* Registration roles, verification and account administration */
.registration-name-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.account-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.account-status-grid>div{
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fafbfc;
}
.account-status-grid span{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:4px;
}
.account-ok{
  padding:12px;
  border-radius:8px;
  background:#ecfdf3;
  color:#067647;
  font-weight:700;
}
.account-warning{
  padding:12px;
  border-radius:8px;
  background:#fff4e5;
  color:#9a3412;
  font-weight:700;
}
.user-admin-dialog{
  width:min(980px,94vw);
}
.user-admin-content{
  padding:24px;
}
.user-admin-card{
  display:grid;
  grid-template-columns:2fr 1fr .7fr 2fr;
  gap:12px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.user-admin-card span{
  color:var(--muted);
}
.role-pill{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  background:#eef4ff;
  color:#175cd3!important;
  font-weight:700;
}
.user-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.user-admin-actions button{
  padding:7px 10px;
  border-radius:6px;
  border:1px solid var(--line);
  background:white;
  cursor:pointer;
}
.user-admin-actions button.danger{
  border-color:#fda29b;
  color:#b42318;
}
@media(max-width:720px){
  .registration-name-grid,
  .account-status-grid{
    grid-template-columns:1fr;
  }
  .user-admin-card{
    grid-template-columns:1fr;
  }
}


/* Commerce, pricing and listing boosts */
.boost-badge{
  position:absolute;
  left:10px;
  bottom:10px;
  padding:5px 9px;
  border-radius:999px;
  background:#7a2e0e;
  color:#fff;
  font-size:12px;
  font-weight:800;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.card-boost-button{
  width:100%;
  margin-top:10px;
  border:1px solid #c9a227;
  border-radius:7px;
  padding:9px 12px;
  background:#fff8d8;
  color:#604800;
  font-weight:800;
  cursor:pointer;
}
.commerce-dialog{width:min(900px,94vw)}
.commerce-admin-dialog{width:min(1180px,96vw)}
.commerce-content,.commerce-admin-content{padding:24px}
#commercePlans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.commerce-plan-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.commerce-plan-card strong{display:block;font-size:22px;margin:8px 0}
.commerce-plan-card small{display:block;color:var(--muted)}
.commerce-plan-card select,.commerce-plan-card button{width:100%;margin-top:8px}
.commerce-metrics{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-bottom:24px;
}
.commerce-metrics>div{
  padding:14px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fafbfc;
}
.commerce-metrics span{display:block;color:var(--muted);font-size:12px}
.commerce-metrics strong{font-size:19px}
.pricing-plan-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  margin-bottom:14px;
}
.pricing-plan-form label{display:flex;flex-direction:column;gap:5px}
.pricing-plan-form .wide{grid-column:span 2}
.checkbox-label{justify-content:flex-end}
.admin-plan-row{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 1.4fr;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.commerce-table>div{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  padding:9px 0;
  border-bottom:1px solid var(--line);
}
@media(max-width:900px){
  #commercePlans{grid-template-columns:1fr}
  .commerce-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pricing-plan-form{grid-template-columns:1fr 1fr}
  .admin-plan-row,.commerce-table>div{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .commerce-metrics,.pricing-plan-form,.admin-plan-row,.commerce-table>div{grid-template-columns:1fr}
  .pricing-plan-form .wide{grid-column:auto}
}

/* Consolidated account dropdown */
.account-menu{position:relative;display:flex;align-items:center}
.account-menu-toggle{display:flex;align-items:center;gap:8px;min-height:42px;padding:6px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-weight:700;cursor:pointer}
.account-menu-toggle:hover,.account-menu-toggle[aria-expanded="true"]{background:#f5f7fa;border-color:var(--line)}
.account-menu-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1264d8;color:#fff;font-size:12px;font-weight:900}
.account-menu-chevron{font-size:12px;color:var(--muted)}
.account-menu-panel{position:absolute;z-index:1200;top:calc(100% + 8px);right:0;width:230px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.18)}
.account-menu-item{display:flex;width:100%;align-items:center;min-height:40px;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-weight:650;text-align:left;cursor:pointer}
.account-menu-item:hover{background:#f2f6fc}
.account-menu-signout{color:#b42318}
.account-menu-divider{height:1px;margin:6px 4px;background:var(--line)}
@media(max-width:900px){.account-menu-panel{position:fixed;top:64px;right:10px;width:min(280px,calc(100vw - 20px))}}
@media(max-width:600px){#accountMenuName{display:none}.account-menu-toggle{padding:5px 7px}.account-menu-panel{top:58px}}

/* Stripe return status */
.payment-return-banner{
  position:fixed;
  z-index:2000;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  width:min(720px,calc(100vw - 24px));
  padding:13px 16px;
  border-radius:10px;
  box-shadow:0 10px 28px rgba(15,23,42,.2);
  font-weight:700;
  text-align:center;
}
.payment-return-banner.success{
  background:#ecfdf3;
  color:#067647;
  border:1px solid #abefc6;
}
.payment-return-banner.cancelled{
  background:#fff4e5;
  color:#9a3412;
  border:1px solid #fedf89;
}


/* VIP boosted listings */
.featured-badge{position:absolute;left:14px;top:58px;z-index:5;display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;color:#fff;font-size:12px;font-weight:900;box-shadow:0 5px 16px rgba(0,0,0,.24)}
.featured-badge.basic{background:linear-gradient(135deg,#c99500,#efbd22)}
.featured-badge.premium{background:linear-gradient(135deg,#7b3f00,#d78b00 45%,#ffcf45);box-shadow:0 0 0 1px rgba(255,214,90,.8),0 7px 22px rgba(150,89,0,.38)}
.boosted-card{border:2px solid #d9a400!important;box-shadow:0 10px 28px rgba(204,153,0,.24)!important}
.premium-boosted-card{border-color:#b87300!important;box-shadow:0 12px 32px rgba(183,115,0,.34)!important}
.boost-active-status{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding:11px 13px;border:1px solid #e0b52a;border-radius:8px;background:#fff8d8;color:#6b5000}
.featured-homes-section{grid-column:1/-1;margin:0 0 22px;padding:18px;border:1px solid #e6c65f;border-radius:14px;background:linear-gradient(180deg,#fffdf4,#fff)}
.featured-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.featured-section-heading h2{margin:3px 0 0}
.featured-section-kicker{color:#9b6f00;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.featured-homes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.featured-property-card{overflow:hidden;border:1px solid #e6d188;border-radius:10px;background:#fff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.featured-property-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(111,80,0,.18)}
.featured-property-card.premium{border-color:#c58914}
.featured-property-image-wrap{position:relative;aspect-ratio:16/10;overflow:hidden}
.featured-property-image-wrap img{width:100%;height:100%;object-fit:cover}
.featured-property-image-wrap .featured-badge{top:10px;left:10px}
.featured-property-body{display:flex;flex-direction:column;gap:3px;padding:10px}
.featured-property-body strong{font-size:18px}
.featured-property-body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.featured-property-body small{color:#9b6f00;font-weight:700}
@media(max-width:1050px){.featured-homes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.featured-homes-section{padding:12px}.featured-homes-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.featured-property-card{min-width:78%;scroll-snap-align:start}}


/* Mobile map gesture support */
#propertyMap{
  touch-action:none;
  overscroll-behavior:contain;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
#propertyMap .osm-tiles,
#propertyMap .osm-reference-tiles,
#propertyMap .napr-wms-tiles,
#propertyMap .osm-markers{
  touch-action:none;
}
#propertyMap .osm-controls,
#propertyMap .osm-controls *,
#propertyMap .map-search-stack,
#propertyMap .map-search-stack *,
#propertyMap .napr-layer-toggle,
#propertyMap .napr-layer-toggle *,
#propertyMap .basemap-control,
#propertyMap .basemap-control *{
  touch-action:manipulation;
}
@media(max-width:760px){
  #propertyMap{min-height:290px}
  .osm-controls button{
    width:44px;
    height:44px;
    font-size:26px;
  }
}


/* Valuation calculation controls */
.valuation-calculation-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff}
.valuation-check{display:flex;align-items:center;gap:8px;min-height:38px;font-size:13px;font-weight:800;color:var(--text)}
.valuation-check input{width:18px;height:18px;margin:0}
.valuation-statistic-selector{display:grid;gap:5px;min-width:150px;font-size:12px;font-weight:800;color:var(--muted)}
.valuation-statistic-selector select{min-height:38px;padding:0 34px 0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:13px}
@media(max-width:600px){.valuation-calculation-controls{display:grid;grid-template-columns:1fr}.valuation-statistic-selector{min-width:0}}


/* Labeled listing photo uploader */
.listing-photo-manager{display:block;border:1px solid #d9dee7;border-radius:14px;padding:14px;background:#fafbfc}
.listing-photo-manager-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.listing-photo-title{display:block;font-weight:700;margin-bottom:4px}
.listing-photo-count{white-space:nowrap;font-weight:700;background:#eef2f7;border-radius:999px;padding:5px 9px}
.listing-photo-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.listing-photo-section{border:1px solid #e1e5ec;border-radius:12px;padding:10px;background:white}
.listing-photo-section>strong{display:block;margin-bottom:3px}
.listing-photo-section>small{display:block;margin-bottom:7px}
.listing-photo-actions{display:flex;gap:7px;flex-wrap:wrap}
.photo-action-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;padding:6px 10px!important;border:1px solid #cfd6df;border-radius:9px;background:#fff;font-size:.9rem;font-weight:600;cursor:pointer}
.photo-action-button.camera{background:#f4f7fb}
.image-preview{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:10px}
.listing-photo-preview-item{position:relative;min-height:100px;border-radius:10px;overflow:hidden;background:#eef1f5;border:1px solid #dfe4eb}
.listing-photo-preview-item>img{width:100%!important;height:110px!important;object-fit:cover;display:block}
.listing-photo-label-badge{position:absolute;left:6px;bottom:6px;max-width:calc(100% - 12px);padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.listing-photo-preview-item .existing-image-delete{position:absolute;right:5px;top:5px;z-index:2}
.detail-gallery-label{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.65);color:#fff;padding:5px 9px;border-radius:999px;font-size:.82rem}
@media(max-width:700px){.listing-photo-sections{grid-template-columns:1fr}.listing-photo-manager-heading{align-items:flex-start}}

.listing-3d-tour{border:1px solid #d8e0ea;border-radius:14px;padding:14px;background:#fbfcfe}
.listing-3d-tour-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.listing-3d-tour-header small{display:block;margin-top:4px;max-width:720px}
.optional-badge{font-size:.7rem;padding:2px 6px;border-radius:999px;background:#eef2f7}
.tour-switch{display:flex!important;align-items:center;gap:7px!important}
.tour-capture-panel{margin-top:14px;border-top:1px solid #e5e9ef;padding-top:14px}
.tour-capture-intro{background:#f4f7fb;border-radius:12px;padding:12px}
.tour-capture-intro ol{margin:7px 0 0 20px;padding:0}
.tour-room-toolbar,.tour-capture-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:12px}
.tour-room-guide{margin-top:12px;border-left:4px solid #64748b;padding:8px 10px;background:#fff}
.tour-quality-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.tour-quality-status>div{background:#fff;border:1px solid #e4e8ee;border-radius:10px;padding:9px}
.tour-quality-status span{display:block;font-size:.75rem;opacity:.7}
.tour-progress-bar{height:9px;border-radius:999px;background:#e8edf3;overflow:hidden;margin-top:9px}
.tour-progress-bar span{display:block;height:100%;width:0;background:currentColor;transition:width .2s}
.tour-room-list{margin-top:12px;display:grid;gap:6px}
.tour-room-row{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:8px;padding:8px 10px;border:1px solid #e4e8ee;border-radius:9px;background:#fff}
.tour-generation-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px;border-radius:12px;background:#f4f7fb}
.tour-generation-box>div{flex:1;min-width:220px}
#tourGenerationStatus{width:100%;font-size:.85rem}
@media(max-width:700px){.listing-3d-tour-header{flex-direction:column}.tour-quality-status{grid-template-columns:1fr}.tour-room-row{grid-template-columns:1fr}}


/* Dynamic photo category groups */
.listing-photo-group{grid-column:1/-1;border:1px solid #e1e5ec;border-radius:12px;padding:10px;background:#fff}
.listing-photo-group-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.listing-photo-group-header small{display:block;margin-top:3px}
.listing-photo-subcategory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.listing-photo-subcategory{border:1px solid #e7eaf0;border-radius:10px;padding:9px;background:#fafbfc}
.listing-photo-subcategory-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.remove-photo-subcategory{border:0;background:transparent;font-size:1.2rem;line-height:1;cursor:pointer;padding:2px 5px}
@media(max-width:700px){.listing-photo-subcategory-list{grid-template-columns:1fr}.listing-photo-group-header{flex-direction:column}}


/* SAFE PHOTO UI REDESIGN — CSS only; preserves working HTML structure */
#listingForm .listing-photo-manager{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid #d8e0ea !important;
  border-radius:16px !important;
  padding:18px !important;
  margin:0 !important;
  background:#f8fafc !important;
}
#listingForm .listing-photo-manager-heading{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin:0 0 16px !important;
}
#listingForm .listing-photo-manager-heading > div{min-width:0 !important}
#listingForm .listing-photo-title{
  display:block !important;
  margin:0 0 5px !important;
  font-size:1.05rem !important;
  font-weight:750 !important;
}
#listingForm .listing-photo-manager-heading small{
  display:block !important;
  margin:0 !important;
  color:#64748b !important;
  line-height:1.45 !important;
}
#listingForm .listing-photo-count{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  min-width:68px !important;
  box-sizing:border-box !important;
  padding:7px 11px !important;
  border:1px solid #d8e0ea !important;
  border-radius:999px !important;
  background:#fff !important;
  font-weight:700 !important;
}
#listingForm .listing-photo-sections{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
}
#listingForm .listing-photo-section,
#listingForm .listing-photo-group{
  display:block !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:13px !important;
  border:1px solid #dde4ed !important;
  border-radius:13px !important;
  background:#fff !important;
}
#listingForm .listing-photo-section{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}
#listingForm .listing-photo-group{
  grid-column:1 / -1 !important;
}
#listingForm .listing-photo-section > strong,
#listingForm .listing-photo-group-header strong,
#listingForm .listing-photo-subcategory-heading strong{
  display:block !important;
  margin:0 !important;
  font-size:.98rem !important;
  line-height:1.25 !important;
}
#listingForm .listing-photo-section > small,
#listingForm .listing-photo-group-header small{
  display:block !important;
  margin:3px 0 9px !important;
  color:#64748b !important;
  line-height:1.35 !important;
}
#listingForm .listing-photo-group-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 11px !important;
}
#listingForm .listing-photo-group-header > div{min-width:0 !important}
#listingForm .listing-photo-group-header small{margin-bottom:0 !important}
#listingForm .listing-photo-subcategory-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
#listingForm .listing-photo-subcategory{
  display:block !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:11px !important;
  border:1px solid #e3e8ef !important;
  border-radius:11px !important;
  background:#f8fafc !important;
}
#listingForm .listing-photo-subcategory-heading{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  margin:0 0 9px !important;
}
#listingForm .listing-photo-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:auto !important;
}
#listingForm label.photo-action-button{
  display:inline-flex !important;
  width:auto !important;
  min-width:0 !important;
  min-height:38px !important;
  box-sizing:border-box !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:8px 12px !important;
  border:1px solid #cbd5e1 !important;
  border-radius:9px !important;
  background:#fff !important;
  font-size:.9rem !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  cursor:pointer !important;
}
#listingForm label.photo-action-button.camera{background:#f1f5f9 !important}
#listingForm .add-photo-subcategory{
  display:inline-flex !important;
  width:auto !important;
  flex:0 0 auto !important;
  min-height:36px !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  padding:7px 11px !important;
  border-radius:9px !important;
}
#listingForm .remove-photo-subcategory{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:#eef2f7 !important;
  cursor:pointer !important;
}

/* 3D tour is a separate clean card with the original working DOM location */
#listingForm .listing-3d-tour{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:14px 0 0 !important;
  padding:18px !important;
  border:1px solid #d8e0ea !important;
  border-radius:16px !important;
  background:#f8fafc !important;
}
#listingForm .listing-3d-tour-header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
}
#listingForm .listing-3d-tour-header > div{min-width:0 !important}
#listingForm .listing-3d-tour-header > div > strong{
  display:block !important;
  margin:0 0 5px !important;
  font-size:1.05rem !important;
}
#listingForm .listing-3d-tour-header small{
  display:block !important;
  margin:0 !important;
  color:#64748b !important;
  line-height:1.45 !important;
}
#listingForm label.tour-switch{
  display:flex !important;
  width:auto !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:8px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:8px 11px !important;
  border:1px solid #d8e0ea !important;
  border-radius:10px !important;
  background:#fff !important;
  font-weight:700 !important;
}
#listingForm label.tour-switch input{
  width:18px !important;
  height:18px !important;
  margin:0 !important;
}

@media(max-width:760px){
  #listingForm .listing-photo-manager{padding:13px !important}
  #listingForm .listing-photo-manager-heading,
  #listingForm .listing-photo-group-header,
  #listingForm .listing-3d-tour-header{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  #listingForm .listing-photo-count{align-self:flex-start !important}
  #listingForm .listing-photo-sections,
  #listingForm .listing-photo-subcategory-list{
    grid-template-columns:1fr !important;
  }
  #listingForm .listing-photo-group{grid-column:auto !important}
  #listingForm .add-photo-subcategory,
  #listingForm label.tour-switch{
    align-self:flex-start !important;
  }
}


/* Admin Parcel Stats */
.parcel-stats-dialog{width:min(1100px,94vw);max-height:92vh}
.parcel-stats-content{padding:6px 2px 18px}
.parcel-stats-form{margin:16px 0 8px}
.parcel-stats-form>label{display:block}
.parcel-stats-form .parcel-entry-row{display:flex;gap:8px}
.parcel-stats-form input{flex:1;min-width:0}
.parcel-stats-status{min-height:22px;margin:6px 0 10px}
.parcel-stats-result{display:grid;gap:14px}
.parcel-stats-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.parcel-stats-summary>div{
  min-width:0;
  padding:12px;
  border:1px solid #e1e6ed;
  border-radius:11px;
  background:#f8fafc;
}
.parcel-stats-summary span{
  display:block;
  margin-bottom:4px;
  color:#64748b;
  font-size:.78rem;
}
.parcel-stats-summary strong{
  display:block;
  overflow-wrap:anywhere;
}
@media(max-width:850px){
  .parcel-stats-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .parcel-stats-summary{grid-template-columns:1fr}
  .parcel-stats-form .parcel-entry-row{flex-direction:column}
}

.parcel-stats-area-field{display:block;margin-top:10px}
.parcel-stats-area-field>span{display:block;margin-bottom:5px;font-weight:650}
.parcel-stats-area-field input{width:min(260px,100%)}
.parcel-stats-area-field small{display:block;margin-top:5px;color:#64748b}
.parcel-stats-summary>div>small{display:block;margin-top:4px;color:#64748b;font-size:.72rem}

.user-permission-status{font-size:.86rem;color:#475569}
.user-permission-status strong{color:#0f172a}

.featured-property-card[data-open-featured]{cursor:pointer;}

.publisher-contact{margin:18px 0;padding:16px;border:1px solid #d9dee7;border-radius:14px}.publisher-contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.publisher-contact-actions a{text-decoration:none}.message-badge{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:#222;color:#fff;font-size:12px}.messages-dialog{width:min(980px,94vw);max-width:980px;padding:0}.messages-shell{display:grid;grid-template-columns:320px 1fr;min-height:560px}.messages-sidebar{padding:20px;border-right:1px solid #e5e7eb}.messages-thread-panel{padding:20px;display:flex;flex-direction:column}.conversation-list{display:flex;flex-direction:column;gap:8px}.conversation-item{text-align:left;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fff;position:relative}.conversation-item span,.conversation-item small{display:block}.conversation-item .message-badge{position:absolute;right:8px;top:8px}.message-thread{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px 0}.message-bubble{max-width:78%;padding:10px 12px;border-radius:12px;background:#eee}.message-bubble.mine{align-self:flex-end}.message-bubble.theirs{align-self:flex-start}.message-bubble small,.message-bubble time{display:block;font-size:11px;opacity:.65}.message-reply-form{display:flex;gap:10px;border-top:1px solid #ddd;padding-top:12px}.message-reply-form textarea{flex:1}@media(max-width:720px){.messages-shell{grid-template-columns:1fr}.messages-sidebar{border-right:0;border-bottom:1px solid #ddd;max-height:230px}.messages-thread-panel{min-height:420px}}

/* Resizable map/listings split */
.explore-divider{
  position:relative;
  z-index:20;
  width:12px;
  height:100%;
  cursor:col-resize;
  background:#f4f5f7;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  user-select:none;
  touch-action:none;
}
.explore-divider:hover,.explore-divider.dragging{background:#e7ebf0}
.split-grip{
  width:3px;
  height:44px;
  border-radius:3px;
  background:#9aa2ad;
}
.split-collapse{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:42px;
  padding:0;
  border:1px solid #b7bdc6;
  background:#fff;
  color:#40464f;
  font-size:23px;
  line-height:38px;
  cursor:pointer;
  z-index:2;
}
.split-collapse:hover{background:#f1f4f7}
.split-collapse-left{right:11px;border-radius:6px 0 0 6px}
.split-collapse-right{left:11px;border-radius:0 6px 6px 0}
.explore-layout.map-only{
  --map-width:calc(100% - 12px);
  grid-template-columns:minmax(0,1fr) 12px 0;
}
.explore-layout.listings-only{
  --map-width:0px;
  grid-template-columns:0 12px minmax(0,1fr);
}
.explore-layout.map-only .results-panel,
.explore-layout.listings-only .map-panel{visibility:hidden;overflow:hidden;padding:0}
.explore-layout.map-only .split-collapse-right,
.explore-layout.listings-only .split-collapse-left{display:none}
.explore-layout.map-only .split-collapse-left{right:11px}
.explore-layout.listings-only .split-collapse-right{left:11px}

@media(max-width:900px){
  .explore-layout,.explore-layout.map-only,.explore-layout.listings-only{
    display:block;
    height:auto;
  }
  .explore-divider{display:none}
  .explore-layout.map-only .results-panel,
  .explore-layout.listings-only .map-panel{
    visibility:visible;
  }
}


/* iSell Mortgage Estimate */
.mortgage-estimate{
  margin:18px 0;
  padding:17px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafc;
}
.mortgage-estimate-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.mortgage-estimate-heading h3{margin:0 0 4px;font-size:18px}
.mortgage-estimate-heading p{margin:0;color:var(--muted);font-size:13px}
.mortgage-estimate-heading strong{font-size:22px;white-space:nowrap}
.mortgage-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:10px;
}
.mortgage-controls label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#49515b}
.mortgage-controls select,.mortgage-controls input{
  width:100%;
  height:40px;
  border:1px solid #c8ced6;
  border-radius:5px;
  background:#fff;
  padding:0 9px;
  font:inherit;
}
.mortgage-input-suffix{position:relative}
.mortgage-input-suffix input{padding-right:28px}
.mortgage-input-suffix span{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#69727d}
.mortgage-summary{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#59616b}
.mortgage-disclaimer{margin:8px 0 0;color:var(--muted);font-size:11px}
@media(max-width:720px){
  .mortgage-estimate-heading{display:block}
  .mortgage-estimate-heading strong{display:block;margin-top:8px}
  .mortgage-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.mobile-nav-drawer{position:fixed;z-index:1600;top:58px;left:10px;right:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.22)}
.mobile-nav-drawer button{display:flex;width:100%;min-height:44px;align-items:center;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:var(--text);font-weight:750;text-align:left}.mobile-nav-drawer button:hover{background:#f4f7fb}
.mobile-nav-languages{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:8px;margin-top:8px;border-top:1px solid var(--line)}.mobile-nav-languages button{justify-content:center}
@media(min-width:761px){.mobile-nav-drawer{display:none!important}}
.publisher-message-dialog{width:min(560px,94vw);padding:0;border:0;border-radius:12px}.publisher-message-dialog form{padding:22px}.publisher-message-dialog textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--line);border-radius:7px;resize:vertical}
.dialog-form-header{display:flex;justify-content:space-between;gap:16px}.dialog-form-header h2{margin:0 0 4px}.dialog-form-header p{margin:0 0 18px;color:var(--muted)}.dialog-form-header button{border:0;background:transparent;font-size:26px}.dialog-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}

/* Header: Add listing on the left, logo remains centered */
.left-header-actions{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:center}
.brand-logo-link{grid-column:2;grid-row:1;justify-self:center}
.right-nav{grid-column:3;grid-row:1}
@media(max-width:1050px){
  .left-header-actions{display:none}
  .brand-logo-link{grid-column:2}
}

/* Daily rental applications */
.daily-rental-box{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:18px;border:1px solid #d8dee8;border-radius:14px;background:#f8fafc}.daily-rental-box h3{margin:0 0 4px}.daily-rental-box p{margin:0;color:#5d6675}.rental-application-dialog{width:min(760px,94vw);max-height:92vh}.rental-application-form{display:grid;gap:16px;padding:8px 2px}.rental-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.rental-calendar-toolbar button{min-width:42px}.rental-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.rental-cal-head{text-align:center;font-size:12px;font-weight:700;color:#687386;padding:5px}.rental-cal-empty{min-height:54px}.rental-cal-day{min-height:58px;border:1px solid #d9e0e8;border-radius:9px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}.rental-cal-day small{font-size:10px;color:#4b7a57}.rental-cal-day.blocked{background:#f1f2f4;color:#8a8f98;text-decoration:line-through;cursor:not-allowed}.rental-cal-day.blocked small,.rental-cal-day.past small{color:#8a8f98}.rental-cal-day.past{opacity:.45;cursor:not-allowed}.rental-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rental-date-grid label,.rental-application-form>.wide{display:grid;gap:6px}.rental-date-grid input,.rental-application-form input,.rental-application-form textarea{width:100%;box-sizing:border-box}.rental-price-summary{padding:12px 14px;border-radius:10px;background:#eef5ff;font-weight:700}.rental-consent{display:flex!important;align-items:flex-start;gap:9px;font-size:13px}.rental-consent input{width:auto!important;margin-top:3px}.rental-records-dialog{width:min(980px,95vw);max-height:90vh}.rental-records-shell{display:grid;grid-template-columns:minmax(260px,35%) 1fr;gap:20px;padding:12px}.rental-record-item{width:100%;display:grid;gap:4px;text-align:left;margin:0 0 8px;padding:12px;border:1px solid #dfe3e8;border-radius:10px;background:#fff}.rental-record-item span,.rental-record-item small{color:#667085}.rental-record-grid{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;margin:15px 0}.rental-record-grid span{color:#667085}.rental-document-link{display:block;margin:7px 0;padding:9px 11px;border:1px solid #dfe3e8;border-radius:8px}.rental-decision-actions{display:flex;gap:10px;margin-top:18px}@media(max-width:700px){.daily-rental-box{align-items:flex-start;flex-direction:column}.rental-date-grid,.rental-records-shell{grid-template-columns:1fr}.rental-cal-day{min-height:48px;padding:2px}.rental-cal-day small{display:none}}

/* Rental date selection + listing monthly activity */
.rental-cal-day.selected-start,.rental-cal-day.selected-end{background:#1769e0;color:#fff;border-color:#1769e0;box-shadow:0 0 0 2px rgba(23,105,224,.18)}
.rental-cal-day.selected-start small,.rental-cal-day.selected-end small{color:#fff;font-weight:700}
.rental-cal-day.selected-range{background:#dbeafe;color:#174ea6;border-color:#93c5fd}
.rental-cal-day.selected-range small{color:#174ea6;font-weight:700}
.listing-monthly-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;padding:14px;border:1px solid #dfe6ef;border-radius:12px;background:#f8fafc}
.listing-monthly-stats>div{display:grid;gap:3px}.listing-monthly-stats small{color:#667085}.listing-monthly-stats strong{font-size:24px}
.rental-listing-option{transition:opacity .15s ease}.rental-listing-option.hidden{display:none!important}
@media(max-width:600px){.listing-monthly-stats{grid-template-columns:1fr 1fr}.listing-monthly-stats strong{font-size:20px}}

.listing-activity-recent{grid-column:1/-1;border-top:1px solid #dfe6ef;padding-top:10px}.listing-activity-recent span{font-size:13px;line-height:1.6;color:#475467}

/* Service portals + secure message attachments */
.services-dialog{width:min(1050px,96vw);max-width:1050px;max-height:92vh}.services-shell{padding:26px;max-height:88vh;overflow:auto}.services-header{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.services-header h2{margin:0 0 5px}.services-header p{margin:0;color:#667085}.service-type-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.service-type-tabs button{border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer}.service-type-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}.service-provider-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-provider-card{border:1px solid #e0e4ea;border-radius:14px;padding:17px;background:#fff;box-shadow:0 5px 18px rgba(16,24,40,.05)}.service-provider-card h3{margin:5px 0 8px}.service-provider-type{display:inline-block;border-radius:999px;background:#eef4ff;padding:4px 9px;font-size:12px;font-weight:900;color:#344054}.service-provider-area{font-size:13px;color:#475467}.service-provider-meta{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.service-provider-meta span{padding:5px 8px;border-radius:7px;background:#f2f4f7;font-size:12px}.service-provider-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.service-provider-actions a,.service-provider-actions button{padding:9px 13px;border-radius:7px;font-weight:850;text-decoration:none}.service-call{background:var(--blue);color:#fff}.service-profile-form{margin-top:22px;border-top:1px solid #e5e7eb;padding-top:22px}.service-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.service-form-grid label,.service-request-dialog label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#344054}.service-form-grid input,.service-form-grid select,.service-form-grid textarea,.service-request-dialog input,.service-request-dialog textarea{width:100%;box-sizing:border-box;border:1px solid #b8c0cc;border-radius:7px;padding:10px 11px;font:inherit}.service-form-grid .wide{grid-column:1/-1}.service-form-grid .service-active{display:flex;align-items:center;gap:8px;grid-column:1/-1}.service-form-grid .service-active input{width:auto}.service-request-dialog{width:min(600px,94vw)}
.message-attachment-actions,.message-reply-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.message-attach-button{display:inline-flex!important;align-items:center!important;gap:6px!important;width:auto!important;padding:8px 10px!important;border:1px solid #d0d5dd!important;border-radius:8px!important;background:#fff!important;color:#344054!important;font-size:13px!important;font-weight:800!important;cursor:pointer}.message-attachment-summary{font-size:12px;color:#667085}.message-reply-form{align-items:flex-end;flex-wrap:wrap}.message-reply-tools{margin:0}.message-body{white-space:normal;word-break:break-word}.message-attachments{display:grid;gap:7px;margin-top:8px}.message-image-attachment{display:grid;gap:4px;text-decoration:none;color:inherit}.message-image-attachment img{display:block;max-width:260px;max-height:240px;object-fit:cover;border-radius:9px;border:1px solid rgba(0,0,0,.12)}.message-image-attachment span,.message-file-attachment{font-size:12px;word-break:break-word}.message-file-attachment{display:inline-block;padding:7px 9px;border-radius:7px;background:rgba(255,255,255,.7);color:inherit;text-decoration:none;border:1px solid rgba(0,0,0,.1)}
@media(max-width:820px){.service-provider-list{grid-template-columns:1fr 1fr}.services-header{flex-direction:column}.service-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.service-provider-list{grid-template-columns:1fr}.services-shell{padding:18px}.message-image-attachment img{max-width:100%}.right-nav>#servicesButton{display:none}}


/* Grid / compact list view toggle for the right-side results panel */
.results-view-controls{
  display:flex;
  align-items:center;
  gap:9px;
  margin-left:auto;
}
.view-toggle{
  display:inline-flex;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.view-toggle-button{
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-right:1px solid var(--line);
  background:#fff;
  color:#596273;
  font-size:20px;
  line-height:1;
}
.view-toggle-button:last-child{border-right:0}
.view-toggle-button:hover{background:#f4f7fb}
.view-toggle-button.active{
  background:#eef4ff;
  color:var(--blue);
  font-weight:800;
}

/* List view: small photo + price, bedrooms, bathrooms, area and address. */
.listing-grid.list-view{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.listing-grid.list-view .card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  min-height:118px;
}
.listing-grid.list-view .photo-wrap{
  height:100%;
  min-height:118px;
}
.listing-grid.list-view .photo-wrap img{
  width:100%;
  height:100%;
  min-height:118px;
  object-fit:cover;
}
.listing-grid.list-view .status-badge{
  max-width:128px;
  font-size:10px;
  padding:4px 6px;
}
.listing-grid.list-view .favorite{
  width:30px;
  height:30px;
  font-size:18px;
}
.listing-grid.list-view .photo-count{
  font-size:10px;
  padding:3px 5px;
}
.listing-grid.list-view .card-body{
  min-width:0;
  padding:11px 14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "price estimate"
    "facts estimate"
    "address estimate"
    "boost boost";
  column-gap:18px;
  align-content:center;
}
.listing-grid.list-view .price{
  grid-area:price;
  font-size:22px;
  margin:0 0 3px;
}
.listing-grid.list-view .listing-facts{
  grid-area:facts;
  display:flex;
  align-items:center;
  gap:12px;
  margin:2px 0 5px;
  white-space:nowrap;
}
.listing-grid.list-view .listing-facts span+span::before{
  content:"•";
  margin-right:12px;
  color:#a4acb8;
}
.listing-grid.list-view .address{
  grid-area:address;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.listing-grid.list-view .estimate-row{
  grid-area:estimate;
  min-width:180px;
  align-self:center;
  margin:0;
  padding:0 0 0 14px;
  border-top:0;
  border-left:1px solid var(--line);
}
.listing-grid.list-view .card-boost-button,
.listing-grid.list-view .boost-active-status{
  grid-area:boost;
  margin-top:8px;
}

/* Preserve the existing daily-rental/calendar UI unchanged. */
@media(max-width:700px){
  .results-view-controls{gap:5px}
  .view-toggle-button{width:36px;height:36px}
  .listing-grid.list-view .card{
    grid-template-columns:105px minmax(0,1fr);
    min-height:104px;
  }
  .listing-grid.list-view .photo-wrap,
  .listing-grid.list-view .photo-wrap img{min-height:104px}
  .listing-grid.list-view .card-body{
    padding:9px 10px;
    grid-template-columns:1fr;
    grid-template-areas:"price" "facts" "address" "estimate" "boost";
  }
  .listing-grid.list-view .price{font-size:19px}
  .listing-grid.list-view .listing-facts{gap:7px;font-size:12px}
  .listing-grid.list-view .listing-facts span+span::before{margin-right:7px}
  .listing-grid.list-view .estimate-row{
    min-width:0;
    border-left:0;
    border-top:1px solid var(--line);
    padding:7px 0 0;
    margin-top:7px;
  }
  .listing-grid.list-view .estimate-name,
  .listing-grid.list-view .value-label{font-size:11px}
  .listing-grid.list-view .estimate-value{font-size:14px}
}

.add-listing-action{background:#0b66ff!important;border-color:#0b66ff!important;color:#fff!important;font-weight:700;box-shadow:0 5px 16px rgba(11,102,255,.22)}
.add-listing-action:hover,.add-listing-action:focus-visible{background:#0756da!important;border-color:#0756da!important;color:#fff!important}
#mobileAddListing{background:#0b66ff;color:#fff;border-color:#0b66ff;font-weight:700}
.daily-rent-toggle .checkbox-line{display:flex;align-items:center;gap:.55rem;font-weight:600}.daily-rent-toggle input[type=checkbox]{width:18px;height:18px;margin:0}.daily-rent-field.hidden,#dailyRentToggleField.hidden{display:none!important}

.owner-listing-actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}
.owner-listing-actions .danger,#deleteListingButton{background:#fff;border:1px solid #c62828;color:#b71c1c}
.owner-listing-actions .danger:hover,#deleteListingButton:hover{background:#fff5f5}

.owner-listing-actions{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
  align-items:center;
  margin:.8rem 0;
}
#deleteListingButton{
  background:#fff;
  border:1px solid #c62828;
  color:#b71c1c;
}
#deleteListingButton:hover{
  background:#fff5f5;
}

.rental-manage-booking,.rental-booking-history{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border,#e3e7ec)}
.rental-modify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.rental-modify-grid label,.rental-manage-booking>form>label{display:grid;gap:.35rem;font-weight:600}
.rental-modify-grid input,.rental-manage-booking textarea{width:100%;box-sizing:border-box}
.rental-history-item{padding:.65rem 0;border-bottom:1px solid var(--border,#e3e7ec)}
.rental-history-item small{display:block;opacity:.7;margin:.15rem 0 .35rem}
.rental-history-item p{margin:.35rem 0 0}
@media(max-width:640px){.rental-modify-grid{grid-template-columns:1fr}}

.rental-payment-panel{margin-top:1rem;padding-top:.8rem;border-top:1px solid #e5e7eb}.rental-admin-dialog{width:min(1500px,96vw);max-width:1500px}.rental-admin-table-wrap{overflow:auto;max-height:65vh}.rental-admin-table{width:100%;min-width:1450px;border-collapse:collapse;font-size:.84rem}.rental-admin-table th,.rental-admin-table td{padding:.5rem;border-bottom:1px solid #e5e7eb;vertical-align:top;text-align:left}.rental-admin-table th{position:sticky;top:0;background:#fff}.rental-admin-table small{display:block;opacity:.7}.rental-owner-stripe-form{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap;margin:1rem 0}.rental-owner-stripe-form label{display:grid;gap:.25rem}

/* iSell Property Hub */
.marketplace-dialog{width:min(1080px,96vw);max-height:92vh;border:0;border-radius:18px;padding:0;overflow:auto}
.marketplace-shell{padding:26px}.marketplace-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.marketplace-summary{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px}
.mp-stat{background:#f4f7fb;border-radius:12px;padding:10px;text-align:center}.mp-stat strong{display:block;font-size:1.25rem}
.marketplace-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e4e8ef;margin:18px 0}
.marketplace-tabs button{border:0;background:transparent;padding:11px 12px;cursor:pointer}.marketplace-tabs button.active{font-weight:700;border-bottom:3px solid currentColor}
.marketplace-panel h3{margin-top:22px}.mp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mp-form textarea,.mp-form button,.mp-form label{grid-column:1/-1}.mp-form input,.mp-form select,.mp-form textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccd3dd;border-radius:9px}
.mp-list{display:grid;gap:8px;margin-top:12px}.mp-item{border:1px solid #e0e5ec;border-radius:12px;padding:12px;background:#fff}.mp-item small{color:#657080}
.mp-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:700px){.mp-two,.mp-form{grid-template-columns:1fr}.marketplace-head{display:block}.marketplace-summary{margin-top:12px}}

/* Header fix: keep Services and Property Hub readable */
.header-nav-item,
.property-hub-nav {
  white-space: nowrap;
  width: auto;
  min-width: max-content;
}


/* Mobile landscape map visibility fix.
   Phones in landscape are often 761-900px wide, so they matched the <=900px
   stacked layout but missed the <=760px rule that gives the map a height. */
@media (max-width:900px) and (orientation:landscape){
  .explore-layout,
  .explore-layout.map-only,
  .explore-layout.listings-only{
    display:block;
    height:auto;
    overflow:visible;
  }

  .map-panel,
  .explore-layout.listings-only .map-panel{
    display:block;
    visibility:visible;
    width:100%;
    height:clamp(260px,55vh,420px);
    min-height:260px;
    overflow:hidden;
    padding:0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  #propertyMap{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:260px;
  }

  .results-panel{
    overflow:visible;
  }
}


/* Fancy services + review scores */
.services-dialog{background:#f7f9fc}.services-shell{background:linear-gradient(180deg,#fff 0,#f7f9fc 210px)}
.services-eyebrow,.messages-eyebrow{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:850;color:#667085;margin-bottom:5px}
.services-trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}.services-trust-strip span{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:750;color:#475467}
.service-provider-list{margin-top:18px}.service-provider-card{position:relative;border:1px solid #e3e8ef;border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.service-provider-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.11);border-color:#c8d7ef}
.service-card-top{display:flex;gap:12px;align-items:flex-start}.service-provider-avatar{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#0b66ff,#5b8cff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:850;letter-spacing:.04em;box-shadow:0 6px 18px rgba(11,102,255,.2);flex:0 0 auto}.service-card-title{min-width:0}.service-card-title h3{margin:3px 0 5px}.service-provider-type{display:inline-flex;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:#46607f}
.service-rating-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.service-stars{color:#f5a623;letter-spacing:1px;font-size:15px;white-space:nowrap}.service-rating-row strong{font-size:13px}.service-review-link{border:0;background:transparent;padding:0;color:#52647a;font-size:12px;text-decoration:underline;cursor:pointer}
.service-provider-description{color:#596579;line-height:1.5;min-height:44px}.service-provider-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.service-provider-meta span{background:#f4f7fb;border-radius:9px;padding:7px 9px;font-size:12px;font-weight:700;color:#475467}.service-provider-actions{display:grid;grid-template-columns:90px 1fr;gap:9px}.service-provider-actions>*{min-height:42px;display:flex;align-items:center;justify-content:center}
.service-profile-cta{border-radius:999px!important;padding-inline:16px!important}
.service-review-dialog{width:min(620px,94vw);border:0;border-radius:20px;padding:0}.service-review-shell{padding:26px}.service-review-shell h2{margin:0 0 8px}.service-review-summary{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:#475467}.star-rating-input{display:flex;gap:4px;margin:12px 0}.star-rating-input button{border:0;background:transparent;color:#d0d5dd;font-size:34px;line-height:1;padding:2px;cursor:pointer}.star-rating-input button.selected{color:#f5a623}.service-review-shell input,.service-review-shell textarea{width:100%;box-sizing:border-box;margin:7px 0;padding:11px 12px;border:1px solid #d8dee8;border-radius:10px;font:inherit}.service-review-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.service-review-list{display:grid;gap:10px;margin-top:20px}.service-review-list article{border-top:1px solid #edf0f4;padding-top:12px}.service-review-list article>div{display:flex;align-items:center;gap:8px}.service-review-list p{margin:6px 0;color:#475467}.service-review-list small{color:#7a8594}

/* Fancy messaging */
.messages-dialog{width:min(1080px,96vw);max-width:1080px;border:0;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 25px 80px rgba(15,23,42,.24)}.messages-shell{grid-template-columns:340px minmax(0,1fr);min-height:650px;background:#fff}.messages-sidebar{background:#f8fafc;padding:18px 12px;border-right:1px solid #e6eaf0}.messages-sidebar-head{display:flex;justify-content:space-between;align-items:flex-start;padding:4px 7px 14px}.messages-sidebar-head h2{margin:0;font-size:24px}.messages-lock{font-size:11px;background:#eef6f0;color:#3c6b49;border-radius:999px;padding:6px 8px;font-weight:750}
.conversation-list{display:grid;gap:5px}.conversation-item{position:relative;display:grid!important;grid-template-columns:42px minmax(0,1fr);gap:10px;width:100%;border:0!important;border-radius:13px!important;padding:11px!important;background:transparent!important;text-align:left!important}.conversation-item:hover,.conversation-item.active{background:#eef4ff!important}.conversation-avatar,.thread-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e8efff;color:#2459a9;font-weight:850}.conversation-avatar{width:42px;height:42px}.conversation-copy{min-width:0;display:block}.conversation-topline{display:flex;justify-content:space-between;gap:8px;align-items:center}.conversation-context,.conversation-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-context{font-size:11px;color:#8090a3;margin:2px 0}.conversation-copy small{font-size:12px;color:#5f6b7a}.message-badge{font-style:normal;background:#0b66ff}
.messages-thread-panel{display:flex;flex-direction:column;min-width:0;background:#fff}.message-thread-heading{min-height:72px;border-bottom:1px solid #e8ebf0;padding:12px 18px;display:flex;align-items:center}.message-thread-heading>div{display:flex;align-items:center;gap:11px}.thread-avatar{width:42px;height:42px}.message-thread-heading strong,.message-thread-heading small{display:block}.message-thread-heading small{margin-top:2px;color:#7a8594;font-size:12px}
.message-thread{flex:1;padding:22px 18px;background:linear-gradient(180deg,#fbfcfe,#f7f9fc);overflow:auto}.message-row{display:flex;margin:7px 0}.message-row.mine{justify-content:flex-end}.message-row.theirs{justify-content:flex-start}.message-bubble{max-width:min(72%,620px);border-radius:16px;padding:10px 12px;box-shadow:0 2px 7px rgba(15,23,42,.05)}.message-bubble.mine{background:#0b66ff;color:#fff;border-bottom-right-radius:5px}.message-bubble.theirs{background:#fff;border:1px solid #e1e6ed;color:#182230;border-bottom-left-radius:5px}.message-bubble small{display:block;font-weight:750;margin-bottom:4px}.message-bubble time{display:block;margin-top:6px;font-size:10px;opacity:.7}.message-body{line-height:1.45}.message-image-attachment img{border-radius:10px}.message-file-attachment{display:inline-flex;margin-top:5px;border-radius:9px;padding:8px 10px;background:rgba(127,127,127,.1)}
.message-reply-form{padding:12px 14px 14px;border-top:1px solid #e7ebf0;background:#fff}.message-reply-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8dee8;border-radius:14px;padding:12px 13px;resize:none;font:inherit;outline:none}.message-reply-form textarea:focus{border-color:#8ab4ff;box-shadow:0 0 0 3px rgba(11,102,255,.08)}.message-composer-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px}.message-reply-tools{display:flex;align-items:center;gap:7px}.message-attach-button{width:34px;height:34px;border-radius:9px;background:#f3f5f8;display:flex;align-items:center;justify-content:center;cursor:pointer}.message-send-button{border-radius:10px!important;min-width:100px}.message-empty-state{text-align:center;color:#718096;padding:90px 20px}.message-empty-state>div{font-size:42px}.message-empty-state h3{color:#344054;margin:10px 0 4px}.message-empty-state p{margin:0}.message-empty-mini{padding:20px;color:#7a8594;text-align:center}
@media(max-width:720px){.messages-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.messages-shell{grid-template-columns:1fr;min-height:100dvh}.messages-sidebar{max-height:36vh}.messages-thread-panel{min-height:64vh}.message-bubble{max-width:86%}.service-provider-actions{grid-template-columns:1fr 1.5fr}}

/* Sponsored / product placement */
.sponsored-placement{border:1px solid #dce3ec;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 6px 22px rgba(15,23,42,.07);min-width:0}.sponsored-placement>a{display:block;color:inherit;text-decoration:none}.sponsored-media{position:relative;aspect-ratio:4/3;background:#eef2f7;overflow:hidden}.sponsored-media img,.sponsored-media video{width:100%;height:100%;display:block;object-fit:cover}.sponsored-label{position:absolute;top:9px;left:9px;background:rgba(17,24,39,.78);color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.sponsored-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}.sponsored-copy h3{margin:0;font-size:16px}.sponsored-cta{color:#0b66ff;font-size:12px;font-weight:800;white-space:nowrap}.listing-grid.list-view .sponsored-placement{display:grid;grid-template-columns:150px 1fr;min-height:118px}.listing-grid.list-view .sponsored-placement>a{display:contents}.listing-grid.list-view .sponsored-media{aspect-ratio:auto;height:100%;min-height:118px}.listing-grid.list-view .sponsored-copy{align-items:center}
.placement-admin-dialog{width:min(1180px,96vw);max-height:94vh;border:0;border-radius:18px;padding:0}.placement-admin-shell{padding:26px;max-height:90vh;overflow:auto}.placement-admin-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.placement-admin-head h2{margin:0 0 5px}.placement-admin-head p{margin:0;color:#667085}.placement-admin-grid{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:22px;margin-top:22px}.placement-form{display:grid;gap:11px;padding:18px;border:1px solid #e1e6ed;border-radius:16px;background:#f9fafc}.placement-form h3{margin:0 0 4px}.placement-form label{display:grid;gap:5px;font-size:12px;font-weight:750;color:#475467}.placement-form input,.placement-form select{width:100%;box-sizing:border-box;height:42px;padding:0 10px;border:1px solid #d4dbe5;border-radius:9px;background:#fff}.placement-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.placement-upload-row,.placement-form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.placement-active{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.placement-active input{width:auto;height:auto}.placement-preview{min-height:90px;border:1px dashed #c9d2de;border-radius:12px;padding:8px}.placement-preview .sponsored-placement{max-width:300px}.placement-campaigns-head{display:flex;justify-content:space-between;gap:12px;align-items:end}.placement-campaigns-head h3{margin:0}.placement-campaigns-head span{font-size:11px;color:#7a8594}.placement-admin-list{display:grid;gap:10px;margin-top:12px}.placement-admin-card{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:16px;align-items:center;border:1px solid #e2e7ee;border-radius:13px;padding:14px;background:#fff}.placement-admin-card>div:first-child strong,.placement-admin-card>div:first-child span{display:block}.placement-admin-card>div:first-child span{font-size:12px;color:#788394;margin-top:3px}.placement-metrics{display:grid;grid-template-columns:auto auto;column-gap:6px;row-gap:1px;text-align:right}.placement-metrics span{font-size:10px;color:#8993a1}.placement-admin-actions{display:flex;gap:6px}
@media(max-width:800px){.placement-admin-grid{grid-template-columns:1fr}.placement-admin-head{flex-direction:column}.placement-admin-card{grid-template-columns:1fr}.placement-metrics{text-align:left;grid-template-columns:auto 1fr}.listing-grid.list-view .sponsored-placement{grid-template-columns:105px 1fr}}

/* Daily rental guest reviews */
.daily-rental-card-rating{display:flex;align-items:center;gap:5px;margin-top:7px;font-size:12px;color:#5f6b7a}.daily-rental-card-rating strong{color:#263446}.rental-review-stars{color:#f5a623;letter-spacing:1px;white-space:nowrap}
.daily-rental-reviews{margin:16px 0;padding:18px;border:1px solid #e0e6ee;border-radius:15px;background:#fff}.daily-rental-review-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.daily-rental-review-head h3{margin:2px 0 0}.daily-rental-review-head>span{font-size:12px;color:#667085}.daily-rental-review-list{display:grid;gap:12px;margin-top:12px}.daily-rental-review-list article{border-top:1px solid #edf0f4;padding-top:11px}.daily-rental-review-list article>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.daily-rental-review-list p{margin:7px 0;color:#475467;line-height:1.45}.daily-rental-review-list small{color:#7a8594}
.rental-review-panel{margin:16px 0;padding:16px;border:1px solid #dfe6ef;border-radius:14px;background:#f9fbfe}.rental-review-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.rental-review-panel-head h4{margin:2px 0}.rental-review-form{display:grid;gap:9px;margin-top:10px}.rental-review-form input,.rental-review-form textarea{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #d4dce7;border-radius:9px;font:inherit}.rental-review-input-stars{display:flex;gap:2px}.rental-review-input-stars button{border:0;background:transparent;color:#d0d5dd;font-size:30px;line-height:1;padding:2px;cursor:pointer}.rental-review-input-stars button.selected{color:#f5a623}.rental-review-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.rental-review-save-status{font-size:12px;color:#667085}
.rental-action-notice{position:fixed;z-index:5000;top:18px;left:50%;transform:translate(-50%,-18px);opacity:0;pointer-events:none;max-width:min(520px,92vw);padding:13px 17px;border-radius:12px;background:#153e2b;color:#fff;box-shadow:0 12px 35px rgba(15,23,42,.22);font-weight:750;transition:opacity .18s ease,transform .18s ease;text-align:center}.rental-action-notice.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:600px){.daily-rental-review-head,.rental-review-panel-head,.rental-review-actions{align-items:flex-start;flex-direction:column}.rental-action-notice{top:10px}}

/* Mobile messaging: list -> thread navigation, no overlap */
.message-mobile-back{display:none}
@media(max-width:720px){
  .messages-dialog{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    overflow:hidden!important;
  }
  .messages-dialog::backdrop{background:rgba(15,23,42,.34)}
  .messages-dialog>.close.messages-close{
    position:absolute;
    top:calc(env(safe-area-inset-top) + 10px);
    right:14px;
    z-index:50;
  }
  .messages-shell{
    display:block!important;
    min-height:0!important;
    height:100dvh!important;
    overflow:hidden!important;
    background:#fff;
  }
  .messages-sidebar{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    padding-top:calc(env(safe-area-inset-top) + 26px)!important;
    padding-bottom:calc(env(safe-area-inset-bottom) + 18px)!important;
    border-right:0!important;
    background:#f8fafc!important;
    z-index:2;
  }
  .messages-thread-panel{
    display:none!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    background:#fff!important;
    z-index:3;
    overflow:hidden!important;
  }
  .messages-shell.mobile-thread-open .messages-sidebar{display:none!important}
  .messages-shell.mobile-thread-open .messages-thread-panel{display:flex!important}
  .message-thread-heading{
    flex:0 0 auto!important;
    min-height:68px!important;
    padding:calc(env(safe-area-inset-top) + 8px) 58px 8px 10px!important;
    box-sizing:border-box!important;
    background:#fff!important;
    position:relative;
    z-index:5;
  }
  .message-mobile-back{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    margin-right:4px;
    border:0;
    border-radius:50%;
    background:#f1f4f8;
    color:#2f65c9;
    font-size:32px;
    line-height:1;
    cursor:pointer;
  }
  .message-thread-heading>div{min-width:0;flex:1}
  .message-thread-heading strong,
  .message-thread-heading small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .message-thread{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding:16px 12px 20px!important;
    -webkit-overflow-scrolling:touch;
  }
  .message-reply-form{
    flex:0 0 auto!important;
    position:relative!important;
    padding:10px 10px calc(env(safe-area-inset-bottom) + 10px)!important;
    background:#fff!important;
    z-index:6;
  }
  .message-reply-form textarea{
    min-height:74px!important;
    max-height:130px!important;
  }
  .message-composer-footer{
    align-items:center!important;
    flex-wrap:nowrap!important;
  }
  .message-reply-tools{flex:0 0 auto}
  .message-send-button{flex:0 0 auto;min-width:96px!important}
  .conversation-list{gap:6px!important}
  .conversation-item{
    min-height:92px!important;
    grid-template-columns:50px minmax(0,1fr)!important;
    padding:12px!important;
    box-sizing:border-box!important;
  }
  .conversation-avatar{width:50px!important;height:50px!important}
  .conversation-copy{min-width:0!important}
  .conversation-copy small,
  .conversation-context{max-width:100%}
  .message-bubble{max-width:84%!important}
}

/* Payment routing admin */
.payment-routing-dialog{width:min(1180px,96vw);max-height:94vh;border:0;border-radius:18px;padding:0}.payment-routing-shell{padding:26px;max-height:90vh;overflow:auto}.payment-routing-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.payment-routing-head h2{margin:0 0 5px}.payment-routing-head p{margin:0;color:#667085}.payment-routing-order{background:#eef4ff;color:#315b9a;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:750;white-space:nowrap}.payment-routing-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.payment-routing-panel{border:1px solid #e1e7ef;border-radius:15px;background:#fff;padding:17px}.payment-routing-panel h3{margin:0 0 12px}.payment-user-tags-panel{grid-column:1/-1}.payment-routing-form{display:grid;gap:10px}.payment-routing-form label,.payment-user-tags-panel>label{display:grid;gap:5px;font-size:12px;font-weight:750;color:#475467}.payment-routing-form input,.payment-routing-form select,.payment-user-tags-panel input,.payment-user-tags-panel select{width:100%;box-sizing:border-box;height:41px;border:1px solid #d4dce6;border-radius:9px;padding:0 10px;background:#fff}.payment-external-fields{display:grid;gap:10px;padding:12px;border-radius:11px;background:#f7f9fc}.payment-external-fields small{color:#697586}.payment-routing-checks{display:flex;gap:18px}.payment-routing-checks label{display:flex;grid-template-columns:none;align-items:center;gap:7px}.payment-routing-checks input{width:auto;height:auto}.payment-routing-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.payment-routing-actions span{font-size:12px;color:#667085}.payment-routing-list{display:grid;gap:8px;margin-top:14px}.payment-route-card{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e6eaf0;border-radius:11px;padding:11px;background:#fafbfd}.payment-route-card strong,.payment-route-card span,.payment-route-card small{display:block}.payment-route-card span,.payment-route-card small{font-size:11px;color:#6f7a89;margin-top:2px}.payment-user-summary{margin-top:12px;padding:12px;border-radius:10px;background:#f7f9fc}.payment-user-summary strong,.payment-user-summary span{display:block}.payment-user-summary span{font-size:12px;color:#707b8a;margin-top:2px}
@media(max-width:800px){.payment-routing-columns{grid-template-columns:1fr}.payment-user-tags-panel{grid-column:auto}.payment-routing-head{flex-direction:column}.payment-routing-order{white-space:normal}.payment-routing-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.payment-routing-shell{max-height:100dvh;padding:20px 14px}}

/* iSell Gemini AI Support */
.ai-support-launcher{position:fixed;right:22px;bottom:22px;z-index:950;display:flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:12px 16px;background:#111827;color:#fff;font-weight:800;box-shadow:0 12px 30px rgba(17,24,39,.22);cursor:pointer}.ai-support-dot{width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.15)}.ai-support-dialog{width:min(430px,calc(100vw - 24px));height:min(650px,82dvh);max-height:82dvh;padding:0;border:0;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.28)}.ai-support-dialog::backdrop{background:rgba(15,23,42,.35)}.ai-support-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid #e5e7eb;background:#fff}.ai-support-head strong,.ai-support-head small{display:block}.ai-support-head small{margin-top:2px;color:#667085}.ai-support-close{width:34px;height:34px;border-radius:50%;border:0;background:#f2f4f7;font-size:22px;cursor:pointer}.ai-support-messages{height:calc(100% - 176px);overflow:auto;padding:16px;background:#f7f9fc}.ai-support-row{display:flex;margin:8px 0}.ai-support-row.mine{justify-content:flex-end}.ai-support-bubble{max-width:84%;white-space:pre-wrap;line-height:1.42;border-radius:15px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;color:#1f2937}.ai-support-row.mine .ai-support-bubble{background:#111827;color:#fff;border-color:#111827}.ai-support-bubble.pending{opacity:.65;font-style:italic}.ai-support-notice{margin:8px 14px 0;padding:9px 10px;border-radius:9px;background:#fff4e5;color:#8a4b08;font-size:12px}.ai-support-form{display:flex;gap:8px;padding:11px 12px;background:#fff;border-top:1px solid #e5e7eb}.ai-support-form textarea{flex:1;resize:none;border:1px solid #d0d5dd;border-radius:12px;padding:10px;font:inherit;min-height:44px;max-height:100px}.ai-support-form button{align-self:flex-end;height:44px}.ai-support-foot{padding:0 14px 10px;background:#fff;color:#7a8492;font-size:10px;text-align:center}@media(max-width:600px){.ai-support-launcher{right:14px;bottom:14px}.ai-support-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.ai-support-messages{height:calc(100dvh - 176px)}}


/* Desktop viewport-fit layout
   Keep the whole iSell explorer inside the visible browser viewport.
   Only the listings/results pane scrolls; the map stays fixed to the
   remaining height below the header and search/filter strip. */
@media (min-width:761px){
  html,
  body{
    height:100%;
    min-height:0;
    overflow:hidden;
  }

  body{
    display:flex;
    flex-direction:column;
    height:100dvh;
    min-height:100dvh;
  }

  .topbar,
  .search-strip{
    flex:0 0 auto;
  }

  .explore-layout{
    flex:1 1 auto;
    min-height:0;
    height:auto!important;
    overflow:hidden!important;
  }

  .map-panel{
    min-height:0;
    height:auto;
    overflow:hidden;
  }

  .results-panel{
    min-height:0;
    height:auto;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
}


/* Restore phone/mobile landscape explorer.
   This MUST come after the desktop viewport-fit rules because many phones
   exceed 760 CSS px in landscape. */
@media (max-width:900px) and (orientation:landscape){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body{
    display:block!important;
    height:auto!important;
    min-height:100%!important;
  }

  .topbar,
  .search-strip{
    flex:none!important;
  }

  .explore-layout,
  .explore-layout.map-only,
  .explore-layout.listings-only{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .explore-divider{
    display:none!important;
  }

  .map-panel,
  .explore-layout.listings-only .map-panel{
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    height:clamp(260px,55vh,420px)!important;
    min-height:260px!important;
    overflow:hidden!important;
    padding:0!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }

  #propertyMap{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:260px!important;
  }

  .results-panel,
  .explore-layout.map-only .results-panel{
    display:block!important;
    visibility:visible!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}


/* Mobile listing/photo rendering fix.
   Use a stable aspect ratio instead of fixed inherited heights so property
   photos remain correctly sized after portrait/landscape rotation. */
@media (max-width:900px){
  .listing-grid:not(.list-view) .card .photo-wrap{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16 / 10;
    overflow:hidden!important;
    background:#e9ecef;
  }

  .listing-grid:not(.list-view) .card .photo-wrap > img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center center!important;
  }

  /* Keep sponsored media aligned with normal property-card imagery. */
  .listing-grid:not(.list-view) .sponsored-placement-card .sponsored-media,
  .listing-grid:not(.list-view) .sponsored-placement-card .photo-wrap{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16 / 10;
    overflow:hidden!important;
  }

  .listing-grid:not(.list-view) .sponsored-placement-card img,
  .listing-grid:not(.list-view) .sponsored-placement-card video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center center!important;
  }

  /* Property-detail gallery also gets predictable image sizing on phones. */
  .gallery img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* Preserve the intentionally compact thumbnail dimensions in List view. */
@media (max-width:900px){
  .listing-grid.list-view .photo-wrap{
    aspect-ratio:auto!important;
    height:100%!important;
    min-height:104px!important;
  }

  .listing-grid.list-view .photo-wrap > img{
    width:100%!important;
    height:100%!important;
    min-height:104px!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* Mobile-only listing-card photo navigation. Multiple-photo cards can be
   swiped left/right or changed with the edge arrows without opening detail. */
.mobile-card-photo-nav{display:none}
@media (hover:none) and (pointer:coarse){
  .listing-grid:not(.list-view) .photo-wrap[data-open]{touch-action:pan-y;}
  .listing-grid:not(.list-view) .mobile-card-photo-nav{
    display:flex;
    position:absolute;
    top:50%;
    z-index:8;
    width:36px;
    height:48px;
    margin-top:-24px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:8px;
    background:rgba(17,24,39,.48);
    color:#fff;
    font-size:25px;
    line-height:1;
    text-shadow:0 1px 2px rgba(0,0,0,.35);
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .listing-grid:not(.list-view) .mobile-card-photo-prev{left:8px}
  .listing-grid:not(.list-view) .mobile-card-photo-next{right:8px}
  .listing-grid:not(.list-view) .mobile-card-photo-nav:active{background:rgba(17,24,39,.72)}
  .listing-grid:not(.list-view) .listing-card-image{will-change:transform,opacity}
}


/* Full-screen property image viewer */
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.96);
  touch-action:pan-y;
  user-select:none;
}
.image-lightbox-stage{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:56px 58px;
  box-sizing:border-box;
}
.image-lightbox-image{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  -webkit-user-drag:none;
  user-select:none;
}
.image-lightbox-close,
.image-lightbox-arrow{
  position:absolute;
  z-index:2;
  border:0;
  background:rgba(20,20,20,.58);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.image-lightbox-close{
  top:max(14px,env(safe-area-inset-top));
  right:max(14px,env(safe-area-inset-right));
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:34px;
  line-height:1;
}
.image-lightbox-arrow{
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:58px;
  border-radius:8px;
  font-size:30px;
}
.image-lightbox-prev{left:12px}
.image-lightbox-next{right:12px}
.image-lightbox-counter{
  position:absolute;
  left:50%;
  bottom:max(16px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  padding:6px 10px;
  border-radius:999px;
  background:rgba(20,20,20,.65);
  color:#fff;
  font-size:13px;
  font-weight:800;
}
html.image-lightbox-open,
body.image-lightbox-open{overflow:hidden!important}

@media (max-width:760px), (pointer:coarse){
  .image-lightbox-stage{padding:52px 8px 48px}
  .image-lightbox-arrow{
    width:40px;
    height:52px;
    background:rgba(20,20,20,.48);
  }
  .image-lightbox-prev{left:4px}
  .image-lightbox-next{right:4px}
  #detailGalleryImage{cursor:zoom-in}
}


/* Full-screen image zoom controls */
.image-lightbox{touch-action:none}
.image-lightbox-image{
  transform-origin:center center;
  transition:transform .08s linear;
  cursor:zoom-in;
  will-change:transform;
}
.image-lightbox-zoom-controls{
  position:absolute;
  right:max(14px,env(safe-area-inset-right));
  bottom:max(16px,env(safe-area-inset-bottom));
  z-index:3;
  display:flex;
  align-items:center;
  gap:5px;
  padding:5px;
  border-radius:10px;
  background:rgba(20,20,20,.65);
}
.image-lightbox-zoom-controls button{
  min-width:38px;
  height:34px;
  border:0;
  border-radius:7px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
}
.image-lightbox-zoom-reset{
  min-width:58px!important;
  font-size:12px!important;
}
@media (max-width:760px), (pointer:coarse){
  .image-lightbox-zoom-controls{
    right:50%;
    transform:translateX(50%);
    bottom:max(14px,env(safe-area-inset-bottom));
  }
}


/* Keep full-screen photo above the open listing dialog.
   Native modal dialog enters the browser top layer, which z-index alone cannot beat. */
dialog.image-lightbox{
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(0,0,0,.96)!important;
  color:#fff;
  overflow:hidden!important;
  z-index:2147483647!important;
}
dialog.image-lightbox::backdrop{
  background:rgba(0,0,0,.96)!important;
}


/* Desktop/Windows: always show the entire portrait image.
   Fit against both viewport dimensions; never crop to width. */
@media (min-width:761px) and (pointer:fine){
  #detailGallery,
  .detail-gallery{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#111!important;
  }

  #detailGalleryImage,
  .detail-gallery>img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  dialog.image-lightbox .image-lightbox-stage{
    width:100vw!important;
    height:100vh!important;
    padding:56px 64px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }

  dialog.image-lightbox .image-lightbox-image{
    width:auto!important;
    height:auto!important;
    max-width:calc(100vw - 128px)!important;
    max-height:calc(100vh - 112px)!important;
    object-fit:contain!important;
    object-position:center center!important;
    flex:0 0 auto!important;
  }
}


/* Friendlier daily-booking administration */
.rental-admin-dialog{
  width:min(1180px,calc(100vw - 28px));
  max-height:94vh;
}
.rental-admin-content{padding:28px;display:grid;gap:20px}
.rental-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.rental-admin-head h2{margin:3px 0 6px}
.rental-admin-metrics{margin:0}
.rental-admin-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1.4fr) minmax(180px,.8fr) minmax(180px,.8fr);
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
}
.rental-admin-toolbar label{display:grid;gap:6px;font-weight:800;font-size:12px}
.rental-admin-toolbar input,
.rental-admin-toolbar select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}
.rental-admin-cards{display:grid;gap:12px}
.rental-admin-card{
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  padding:16px;
  box-shadow:0 2px 8px rgba(15,23,42,.06);
}
.rental-admin-card.has-issue{border-color:#f59e0b}
.rental-admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.rental-admin-card-head h3{margin:3px 0 0;font-size:18px}
.rental-admin-booking-id{font-size:12px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.rental-admin-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:900;text-transform:capitalize;white-space:nowrap}
.rental-admin-status.status-approved,.rental-admin-status.status-confirmed,.rental-admin-status.status-completed{background:#dcfce7;color:#166534}
.rental-admin-status.status-pending,.rental-admin-status.status-modification-requested{background:#fef3c7;color:#92400e}
.rental-admin-status.status-rejected,.rental-admin-status.status-cancelled{background:#fee2e2;color:#991b1b}
.rental-admin-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.rental-admin-card-grid>div{display:grid;gap:3px;min-width:0}
.rental-admin-card-grid span{font-size:11px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.rental-admin-card-grid b{font-size:13px;overflow-wrap:anywhere}
.rental-admin-card-grid small{color:#64748b;overflow-wrap:anywhere}
.rental-admin-card-error{margin-top:12px;padding:9px 11px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:12px}
.rental-admin-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.rental-admin-card-actions button{min-height:38px}
.rental-admin-owner-settings,
.rental-admin-technical{border:1px solid var(--line);border-radius:11px;background:#fff}
.rental-admin-owner-settings>summary,
.rental-admin-technical>summary{cursor:pointer;padding:14px 16px;font-weight:900}
.rental-admin-owner-settings>p,
.rental-admin-owner-settings>form,
.rental-admin-technical>.rental-admin-table-wrap{margin:0 16px 16px}
.rental-admin-empty{padding:28px}
@media(max-width:900px){
  .rental-admin-content{padding:20px}
  .rental-admin-toolbar{grid-template-columns:1fr}
  .rental-admin-card-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .rental-admin-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}
  .rental-admin-content{padding:16px}
  .rental-admin-head{padding-right:42px}
  .rental-admin-card-grid{grid-template-columns:1fr}
  .rental-admin-card-actions .primary,
  .rental-admin-card-actions .secondary{flex:1 1 140px}
}


/* Fancy rental records + live unread notifications */
.account-notification-badge{
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;line-height:1;
}
.message-badge.attention,.account-notification-badge.attention,.rental-message-unread.attention{animation:isellNotificationPulse 1.05s ease-in-out infinite}
@keyframes isellNotificationPulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.14);filter:brightness(1.2)}}
.account-toast-host{position:fixed;right:18px;top:78px;z-index:2147483000;display:grid;gap:8px;width:min(360px,calc(100vw - 30px))}
.account-toast{border:0;border-radius:12px;padding:13px 15px;text-align:left;box-shadow:0 10px 30px rgba(0,0,0,.2);font-weight:800;background:#fff;color:#111827}
.account-toast.message{border-left:5px solid #2563eb}.account-toast.booking{border-left:5px solid #16a34a}

.rental-records-dialog{width:min(1120px,calc(100vw - 24px));max-height:94vh}
.rental-records-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 14px}
.rental-records-header h2{margin:3px 0 4px}.rental-records-header p{margin:0;color:#64748b}
.rental-records-shell{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:0;min-height:620px;border-top:1px solid var(--line)}
.rental-records-list-panel{background:#f8fafc;border-right:1px solid var(--line);padding:12px;overflow:auto}
#rentalRecordsList{display:grid;gap:9px}
.rental-record-card{position:relative;width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px;border:1px solid #dbe2ea;border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:.16s ease}
.rental-record-card:hover,.rental-record-card.selected{border-color:#2563eb;box-shadow:0 4px 14px rgba(37,99,235,.12);transform:translateY(-1px)}
.rental-record-state-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:1000;font-size:17px;color:#fff}
.state-active .rental-record-state-icon{background:#16a34a}.state-active{border-left:4px solid #16a34a}
.state-passed .rental-record-state-icon{background:#94a3b8}.state-passed{border-left:4px solid #94a3b8}
.state-upcoming .rental-record-state-icon{background:#eab308;color:#422006}.state-upcoming{border-left:4px solid #eab308}
.state-cancelled .rental-record-state-icon{background:#dc2626}.state-cancelled{border-left:4px solid #dc2626}
.rental-record-card-copy{display:grid;gap:3px;min-width:0}.rental-record-card-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rental-record-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.rental-record-card-top>b{font-size:11px;color:#64748b;text-transform:uppercase}
.rental-record-state-label{font-size:11px;font-weight:900;text-transform:capitalize}.rental-record-dates{font-size:12px;font-weight:700;color:#334155}.rental-record-card-copy small{color:#64748b;text-transform:capitalize}
.rental-message-unread{display:inline-flex;align-items:center;gap:3px;min-width:28px;padding:5px 7px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px;font-weight:900}
.rental-booking-new-dot{position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px #fee2e2}
.rental-record-card.has-unread-message{box-shadow:0 0 0 2px rgba(37,99,235,.12)}
#rentalRecordDetail{padding:24px;overflow:auto;background:#fff}
.rental-record-placeholder{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#64748b}.rental-record-placeholder>span{font-size:46px}.rental-record-placeholder h3{margin:10px 0 5px;color:#334155}

.rental-inline-messages{margin-top:18px;border:1px solid #dbe2ea;border-radius:13px;overflow:hidden;background:#f8fafc}
.rental-inline-messages-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;background:#fff;border-bottom:1px solid #e2e8f0}
.rental-inline-messages-head h4{display:flex;align-items:center;gap:8px;margin:2px 0 0}
.rental-inline-thread{height:260px;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.rental-inline-message{display:flex}.rental-inline-message.mine{justify-content:flex-end}.rental-inline-message.theirs{justify-content:flex-start}
.rental-inline-message>div{max-width:min(78%,560px);padding:9px 11px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px rgba(15,23,42,.05)}
.rental-inline-message.mine>div{background:#eaf2ff;border-color:#bfdbfe}.rental-inline-message p{margin:3px 0 5px;line-height:1.4}.rental-inline-message small,.rental-inline-message time{display:block;font-size:10px;color:#64748b}
.rental-inline-message-form{display:grid;gap:8px;padding:12px;border-top:1px solid #e2e8f0;background:#fff}.rental-inline-message-form textarea{width:100%;box-sizing:border-box;resize:vertical}.rental-inline-message-form>div{display:flex;align-items:center;justify-content:flex-end;gap:10px}.rental-inline-message-status{margin-right:auto;font-size:12px;color:#64748b}

@media(max-width:760px){
  .rental-records-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}
  .rental-records-header{padding:17px 54px 12px 16px}.rental-records-header .secondary-button{display:none}
  .rental-records-shell{grid-template-columns:1fr;min-height:0}.rental-records-list-panel{border-right:0;border-bottom:1px solid var(--line);max-height:42vh}
  #rentalRecordDetail{padding:16px}.rental-inline-thread{height:220px}.rental-inline-message>div{max-width:88%}
}

.rental-owner-calendar-dialog{width:min(980px,calc(100vw - 24px));max-height:94vh}
.rental-owner-calendar-shell{padding:26px;display:grid;gap:16px}
.rental-owner-calendar-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.rental-owner-calendar-head h2{margin:3px 0 5px}
.rental-owner-calendar-legend{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.rental-owner-calendar-legend span{font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px}
.rental-owner-calendar-legend .available{background:#dcfce7;color:#166534}.rental-owner-calendar-legend .custom{background:#dbeafe;color:#1d4ed8}.rental-owner-calendar-legend .blocked{background:#fee2e2;color:#991b1b}.rental-owner-calendar-legend .booked{background:#e2e8f0;color:#334155}
.rental-owner-calendar-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px}.rental-owner-calendar-nav strong{text-align:center;font-size:18px}.rental-owner-calendar-nav button{height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:25px}
.rental-owner-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.owner-cal-head{text-align:center;color:#64748b;font-size:11px;font-weight:900;padding:4px}
.owner-cal-day{position:relative;min-height:86px;border:1px solid #dbe2ea;border-radius:10px;background:#fff;padding:8px;text-align:left;display:flex;flex-direction:column;gap:3px;cursor:pointer}.owner-cal-day b{font-size:14px}.owner-cal-day small{font-weight:900}.owner-cal-day em{font-style:normal;font-size:10px;font-weight:900;margin-top:auto}
.owner-cal-day.available{background:#f0fdf4;border-color:#bbf7d0}.owner-cal-day.custom{background:#eff6ff;border-color:#93c5fd}.owner-cal-day.blocked{background:#fef2f2;border-color:#fecaca}.owner-cal-day.booked{background:#f1f5f9;border-color:#cbd5e1}
.owner-cal-day.custom small{color:#1d4ed8}.owner-cal-day.blocked em{color:#b91c1c}.owner-cal-day.booked em{color:#475569}.owner-cal-day.selected{outline:3px solid #0b66ff;outline-offset:1px;box-shadow:0 0 0 4px rgba(11,102,255,.1)}
.rental-owner-selection{padding:12px 14px;border-radius:10px;background:#f8fafc;display:flex;justify-content:space-between;gap:12px;align-items:center}.rental-owner-selection span{font-size:12px;color:#64748b}
.rental-owner-calendar-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.rental-owner-calendar-actions label{display:grid;gap:5px;font-size:12px;font-weight:900}.rental-owner-calendar-actions input{height:40px;min-width:140px;border:1px solid var(--line);border-radius:8px;padding:0 10px}.rental-owner-calendar-actions button{min-height:40px}.rental-owner-calendar-actions .danger{background:#b91c1c;color:#fff;border-color:#b91c1c}
@media(max-width:720px){.rental-owner-calendar-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}.rental-owner-calendar-shell{padding:16px}.rental-owner-calendar-head{display:grid}.rental-owner-calendar-legend{justify-content:flex-start}.rental-owner-calendar-grid{gap:3px}.owner-cal-day{min-height:68px;padding:5px}.owner-cal-day small{font-size:10px}.owner-cal-day em{font-size:8px}.rental-owner-selection{display:grid}.rental-owner-calendar-actions{display:grid;grid-template-columns:1fr 1fr}.rental-owner-calendar-actions label{grid-column:1/-1}.rental-owner-calendar-actions input{width:100%;box-sizing:border-box}}


/* Main daily-rental availability and My Listings filters */
.filter-row .main-date-filter{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:4px 8px;
  border:1px solid #d0d5dd;
  border-radius:8px;
  background:#fff;
}
.filter-row .main-date-filter span{
  font-size:11px;
  font-weight:800;
  color:#667085;
  white-space:nowrap;
}
.filter-row .main-date-filter input{
  border:0;
  outline:0;
  min-width:126px;
  background:transparent;
  font:inherit;
  color:inherit;
}
.filter-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 11px;
  border:1px solid #d0d5dd;
  border-radius:8px;
  background:#fff;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.filter-toggle input{margin:0;accent-color:#0b66ff}
.filter-toggle:has(input:checked){
  border-color:#0b66ff;
  background:#eef6ff;
  color:#084fc7;
}
.filter-toggle.disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){
  .filter-row .main-date-filter{
    flex:1 1 calc(50% - 6px);
    min-width:145px;
  }
  .filter-row .main-date-filter input{min-width:0;width:100%}
  .filter-toggle{flex:1 1 auto;justify-content:center}
}

#datesFilterButton.active{
  border-color:#0b66ff!important;
  background:#eef6ff!important;
  color:#084fc7!important;
}
.dates-filter-panel{
  align-items:end;
  gap:10px;
}
.dates-filter-panel label{
  display:grid;
  gap:5px;
  min-width:155px;
  font-size:11px;
  font-weight:800;
  color:#667085;
}
.dates-filter-panel label input{
  min-height:38px;
  border:1px solid #d0d5dd;
  border-radius:7px;
  padding:6px 8px;
  background:#fff;
}
@media(max-width:760px){
  .dates-filter-panel{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:8px;
  }
  .dates-filter-panel label{min-width:0}
  .dates-filter-panel #applyDateFilters,
  .dates-filter-panel #clearDateFilters{min-height:38px}
}


/* My Listings moved next to Add Listing in the main header */
.left-header-actions{
  display:flex;
  align-items:center;
  gap:9px;
}
.header-my-listings{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:8px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.header-my-listings input{
  margin:0;
  accent-color:#0b66ff;
}
.header-my-listings:has(input:checked){
  background:#eef6ff;
  border-color:#0b66ff;
  color:#084fc7;
}
.header-my-listings.disabled{
  opacity:.5;
  cursor:not-allowed;
}
@media(max-width:760px){
  .header-my-listings{display:none!important}
}


/* Keep search filter popups above the map/list resize splitter */
.search-strip{
  position:relative;
  z-index:1200;
}
#pricePanel,
#builtYearPanel,
#datesFilterPanel{
  position:relative;
  z-index:1210;
}
#datesFilterPanel{
  isolation:isolate;
}
.explore-layout{
  position:relative;
  z-index:1;
}
.explore-divider{
  z-index:20!important;
}


/* Compact search filter popups: overlay directly below the filter bar */
.search-strip{
  position:relative;
  z-index:1200;
  padding-bottom:0!important;
}

#pricePanel,
#builtYearPanel,
#datesFilterPanel{
  position:absolute!important;
  top:calc(100% - 2px);
  left:0;
  width:auto;
  max-width:min(720px,calc(100vw - 24px));
  margin:0!important;
  padding:10px 12px!important;
  background:#fff;
  border:1px solid #d9dee7;
  border-radius:8px;
  box-shadow:0 10px 28px rgba(15,23,42,.16);
  z-index:1210!important;
}

#datesFilterPanel{
  left:30%;
  transform:translateX(-8%);
  display:flex;
  align-items:end;
  gap:8px;
  min-width:520px;
}

#datesFilterPanel.hidden,
#pricePanel.hidden,
#builtYearPanel.hidden{
  display:none!important;
}

#datesFilterPanel label{
  min-width:150px;
  margin:0;
}

#datesFilterPanel label span{
  display:block;
  margin:0 0 4px;
  font-size:11px;
  line-height:1.1;
}

#datesFilterPanel input{
  min-height:38px!important;
  height:38px!important;
  padding:5px 8px!important;
}

#datesFilterPanel > span{
  align-self:center;
  margin-top:15px;
}

#datesFilterPanel button{
  min-height:38px;
  height:38px;
  padding:0 18px;
}

.main-search-status{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

.explore-layout{
  margin-top:0!important;
}

@media(max-width:900px){
  #datesFilterPanel{
    left:8px;
    right:8px;
    transform:none;
    min-width:0;
    width:auto;
    max-width:none;
    flex-wrap:wrap;
  }
}

@media(max-width:600px){
  #datesFilterPanel{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:7px;
  }
  #datesFilterPanel label{min-width:0}
  #datesFilterPanel #applyDateFilters,
  #datesFilterPanel #clearDateFilters{
    grid-column:auto;
  }
}


/* Filter popup anchoring: Price, Dates and Built year sit under their own button */
#pricePanel,
#builtYearPanel,
#datesFilterPanel{
  left:8px;
  right:auto!important;
  transform:none!important;
  width:max-content;
  max-width:calc(100vw - 16px);
}
#pricePanel{min-width:360px}
#builtYearPanel{min-width:390px}
#datesFilterPanel{min-width:520px}

@media(max-width:700px){
  #pricePanel,
  #builtYearPanel,
  #datesFilterPanel{
    left:8px!important;
    right:8px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    transform:none!important;
  }
}


/* Mobile filter popups: reliable bottom-sheet behavior */
@media (max-width:700px), (pointer:coarse) and (max-width:900px){
  #pricePanel,
  #builtYearPanel,
  #datesFilterPanel{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    max-height:min(70dvh,520px);
    overflow:auto;
    transform:none!important;
    margin:0!important;
    padding:14px!important;
    border-radius:14px!important;
    box-shadow:0 18px 48px rgba(15,23,42,.28)!important;
    z-index:2147482000!important;
    background:#fff!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  #pricePanel:not(.hidden),
  #builtYearPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:1fr auto 1fr;
    gap:10px;
    align-items:center;
  }

  #pricePanel button,
  #builtYearPanel button{
    grid-column:1 / -1;
    min-height:44px;
  }

  #datesFilterPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px;
    align-items:stretch;
  }

  #datesFilterPanel > span{
    display:none!important;
  }

  #datesFilterPanel label{
    min-width:0!important;
    width:100%;
    display:grid;
    gap:5px;
  }

  #datesFilterPanel label input{
    width:100%!important;
    min-height:44px!important;
    height:44px!important;
    box-sizing:border-box;
    font-size:16px!important;
  }

  #datesFilterPanel #applyDateFilters,
  #datesFilterPanel #clearDateFilters{
    width:100%;
    min-height:44px;
    height:44px;
  }

  #datesFilterPanel #applyDateFilters{grid-row:auto}
  #datesFilterPanel #clearDateFilters{grid-row:auto}

  .search-strip{
    overflow:visible!important;
  }
}

/* Prevent browser-level page pinch zoom while preserving map and image-viewer gestures. */
html,body{
  touch-action:pan-x pan-y;
}
#propertyMap,
#imageLightbox,
.image-lightbox,
#detailGallery,
#detailGalleryImage{
  touch-action:auto;
}


/* Mobile: keep filter popups close to the button that opened them */
@media (max-width:700px), (pointer:coarse) and (max-width:900px){
  #pricePanel,
  #builtYearPanel,
  #datesFilterPanel{
    position:fixed!important;
    right:auto!important;
    bottom:auto!important;
    margin:0!important;
    max-height:min(58dvh,420px)!important;
    overflow:auto;
    border-radius:12px!important;
    padding:12px!important;
    box-shadow:0 12px 34px rgba(15,23,42,.24)!important;
    z-index:2147482000!important;
  }

  #pricePanel:not(.hidden),
  #builtYearPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:1fr auto 1fr;
    gap:8px;
    align-items:center;
  }

  #datesFilterPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:1fr;
    gap:8px;
    align-items:stretch;
  }

  #pricePanel input,
  #builtYearPanel input,
  #datesFilterPanel input{
    min-height:42px!important;
    height:42px!important;
    font-size:16px!important;
  }

  #pricePanel button,
  #builtYearPanel button,
  #datesFilterPanel button{
    min-height:42px!important;
    height:42px!important;
  }
}


/* Smaller mobile filter cards aligned to the tapped control */
@media (max-width:700px), (pointer:coarse) and (max-width:900px){
  #pricePanel,
  #builtYearPanel,
  #datesFilterPanel{
    padding:9px!important;
    border-radius:10px!important;
    max-height:min(44dvh,300px)!important;
    overflow:auto!important;
    box-shadow:0 9px 24px rgba(15,23,42,.20)!important;
  }

  #pricePanel:not(.hidden),
  #builtYearPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:1fr 14px 1fr!important;
    gap:5px!important;
    align-items:center!important;
  }

  #pricePanel input,
  #builtYearPanel input{
    min-width:0!important;
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    padding:5px 7px!important;
    font-size:15px!important;
    box-sizing:border-box!important;
  }

  #pricePanel > span,
  #builtYearPanel > span{
    text-align:center!important;
    margin:0!important;
    font-size:15px!important;
  }

  #pricePanel button,
  #builtYearPanel button{
    grid-column:1 / -1!important;
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 10px!important;
  }

  #datesFilterPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    align-items:stretch!important;
  }

  #datesFilterPanel label{
    display:grid!important;
    grid-template-columns:62px 1fr!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
  }

  #datesFilterPanel label span{
    margin:0!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }

  #datesFilterPanel label input{
    min-width:0!important;
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    padding:4px 6px!important;
    font-size:14px!important;
    box-sizing:border-box!important;
  }

  #datesFilterPanel > span{
    display:none!important;
  }

  #datesFilterPanel #applyDateFilters,
  #datesFilterPanel #clearDateFilters{
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 10px!important;
  }

  #datesFilterPanel #applyDateFilters{
    margin-top:1px!important;
  }
}


/* Final compact mobile filter placement: immediately under and centered on trigger */
@media (max-width:700px), (pointer:coarse) and (max-width:900px){
  #pricePanel,
  #builtYearPanel,
  #datesFilterPanel{
    padding:7px!important;
    border-radius:9px!important;
    max-height:min(40dvh,260px)!important;
  }
  #pricePanel:not(.hidden),
  #builtYearPanel:not(.hidden){
    grid-template-columns:1fr 12px 1fr!important;
    gap:4px!important;
  }
  #pricePanel input,
  #builtYearPanel input,
  #datesFilterPanel label input{
    height:36px!important;
    min-height:36px!important;
    font-size:14px!important;
  }
  #pricePanel button,
  #builtYearPanel button,
  #datesFilterPanel button{
    height:36px!important;
    min-height:36px!important;
  }
  #datesFilterPanel:not(.hidden){
    gap:5px!important;
  }
  #datesFilterPanel label{
    grid-template-columns:58px 1fr!important;
    gap:5px!important;
  }
}



/* ============================================================
   FINAL MOBILE FILTER POPOVER NORMALIZATION
   Compact, fully visible, and aligned to the tapped filter.
   ============================================================ */
@media (max-width:700px), (pointer:coarse) and (max-width:900px){
  #pricePanel,
  #builtYearPanel,
  #datesFilterPanel{
    position:fixed!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    padding:8px!important;
    border:1px solid #d7dde6!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 10px 26px rgba(15,23,42,.22)!important;
    z-index:2147482000!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    max-height:none!important;
  }

  #pricePanel.hidden,
  #builtYearPanel.hidden,
  #datesFilterPanel.hidden{
    display:none!important;
  }

  /* Price and Built Year are one compact row + Apply */
  #pricePanel:not(.hidden),
  #builtYearPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)!important;
    grid-template-rows:34px 34px!important;
    gap:6px 4px!important;
    align-items:center!important;
  }

  #pricePanel input,
  #builtYearPanel input{
    width:100%!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    padding:4px 7px!important;
    margin:0!important;
    border:1px solid #cfd6df!important;
    border-radius:6px!important;
    font-size:14px!important;
    line-height:1!important;
    box-sizing:border-box!important;
  }

  #pricePanel > span,
  #builtYearPanel > span{
    display:block!important;
    width:12px!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    font-size:14px!important;
    line-height:34px!important;
  }

  #pricePanel button,
  #builtYearPanel button{
    grid-column:1 / -1!important;
    width:100%!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 10px!important;
    margin:0!important;
    border-radius:6px!important;
    font-size:14px!important;
  }

  /* Dates: two tight rows, then Apply/Clear side by side */
  #datesFilterPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto auto auto!important;
    gap:6px!important;
    align-items:center!important;
  }

  #datesFilterPanel > span{
    display:none!important;
  }

  #datesFilterPanel label{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:6px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  #datesFilterPanel label span{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  #datesFilterPanel label input{
    width:100%!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    padding:3px 6px!important;
    margin:0!important;
    border:1px solid #cfd6df!important;
    border-radius:6px!important;
    font-size:13px!important;
    line-height:1!important;
    box-sizing:border-box!important;
  }

  #datesFilterPanel #applyDateFilters,
  #datesFilterPanel #clearDateFilters{
    grid-column:auto!important;
    width:100%!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 8px!important;
    margin:0!important;
    border-radius:6px!important;
    font-size:14px!important;
  }
}

/* ============================================================
   MOBILE LANDSCAPE MAP
   The previous 55vh rule collapses to ~260px on short phones.
   Give landscape phones a useful map canvas and let the page scroll.
   ============================================================ */
@media (max-width:950px) and (orientation:landscape){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  .explore-layout,
  .explore-layout.map-only,
  .explore-layout.listings-only{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .explore-divider{
    display:none!important;
  }

  .map-panel,
  .explore-layout.map-only .map-panel,
  .explore-layout.listings-only .map-panel{
    display:block!important;
    visibility:visible!important;
    position:relative!important;
    width:100%!important;
    height:clamp(360px,72vw,520px)!important;
    min-height:360px!important;
    max-height:520px!important;
    overflow:hidden!important;
    padding:0!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }

  #propertyMap{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:360px!important;
  }

  .results-panel{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}


/* MOBILE ONLY: restore the simpler inline filter panels */
@media (max-width:760px), (pointer:coarse) and (max-width:900px){
  .search-strip{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    overflow:visible!important;
  }

  .search-strip > .main-search{order:1!important}
  .search-strip > .filter-row{order:2!important;width:100%!important}
  .search-strip > .search-status-row{order:3!important}

  /* Remove More from mobile filters only */
  #moreButton{display:none!important}

  #pricePanel,
  #builtYearPanel,
  #datesFilterPanel{
    order:4!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    max-height:none!important;
    margin:8px 0 0!important;
    padding:8px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    border:1px solid #d7dde6!important;
    border-radius:8px!important;
    background:#fff!important;
    box-shadow:0 4px 12px rgba(15,23,42,.10)!important;
    z-index:auto!important;
  }

  #pricePanel.hidden,
  #builtYearPanel.hidden,
  #datesFilterPanel.hidden{
    display:none!important;
  }

  /* Classic price / built-year panel */
  #pricePanel:not(.hidden),
  #builtYearPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
  }

  #pricePanel input,
  #builtYearPanel input{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    padding:5px 8px!important;
    margin:0!important;
    font-size:16px!important;
    box-sizing:border-box!important;
  }

  #pricePanel > span,
  #builtYearPanel > span{
    display:block!important;
    width:16px!important;
    margin:0!important;
    text-align:center!important;
    line-height:38px!important;
  }

  #pricePanel button,
  #builtYearPanel button{
    grid-column:auto!important;
    width:auto!important;
    min-width:78px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 14px!important;
    margin:0!important;
    font-size:14px!important;
    border-radius:6px!important;
  }

  /* Dates: compact single-row layout where possible */
  #datesFilterPanel:not(.hidden){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) auto auto!important;
    align-items:end!important;
    gap:6px!important;
  }

  #datesFilterPanel > span{
    display:block!important;
    align-self:center!important;
    text-align:center!important;
    margin:18px 0 0!important;
    font-size:14px!important;
  }

  #datesFilterPanel label{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  #datesFilterPanel label span{
    display:block!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  #datesFilterPanel label input{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    padding:4px 6px!important;
    margin:0!important;
    font-size:16px!important;
    box-sizing:border-box!important;
  }

  #datesFilterPanel #applyDateFilters,
  #datesFilterPanel #clearDateFilters{
    grid-column:auto!important;
    width:auto!important;
    min-width:66px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 10px!important;
    margin:0!important;
    font-size:13px!important;
    border-radius:6px!important;
  }
}

/* Narrow phones: stack only as much as needed */
@media (max-width:430px){
  #pricePanel:not(.hidden),
  #builtYearPanel:not(.hidden){
    grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)!important;
  }

  #pricePanel button,
  #builtYearPanel button{
    grid-column:1 / -1!important;
    width:100%!important;
  }

  #datesFilterPanel:not(.hidden){
    grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)!important;
  }

  #datesFilterPanel #applyDateFilters{
    grid-column:1 / 2!important;
    width:100%!important;
  }

  #datesFilterPanel #clearDateFilters{
    grid-column:3 / 4!important;
    width:100%!important;
  }
}


/* Mobile landscape: large usable map, but leave the next content visible for scrolling */
@media (max-width:950px) and (orientation:landscape){
  .map-panel,
  .explore-layout.map-only .map-panel,
  .explore-layout.listings-only .map-panel{
    height:calc(100dvh - 118px)!important;
    min-height:280px!important;
    max-height:430px!important;
  }

  #propertyMap{
    height:100%!important;
    min-height:280px!important;
  }

  .results-panel{
    scroll-margin-top:8px;
  }
}


/* Mobile account dropdown must overlay filters, map, and listing content */
@media (max-width:900px){
  .topbar{
    position:relative!important;
    z-index:10000!important;
    overflow:visible!important;
    isolation:auto!important;
  }

  .right-nav{
    position:relative!important;
    z-index:10010!important;
    overflow:visible!important;
  }

  #accountMenu,
  .account-menu{
    z-index:10020!important;
    overflow:visible!important;
  }

  #accountMenuPanel,
  #accountDropdown,
  .account-menu-panel,
  .account-dropdown,
  .account-menu-dropdown,
  #accountMenu .menu-panel,
  #accountMenu .dropdown-menu,
  .account-menu .dropdown-menu{
    z-index:10030!important;
  }

  .search-strip{
    position:relative!important;
    z-index:1200!important;
  }

  #pricePanel,
  #builtYearPanel,
  #datesFilterPanel{
    z-index:1210!important;
  }

  .explore-layout{
    position:relative!important;
    z-index:1!important;
  }
}

#accountMenu{z-index:10030!important;}

#accountMenuToggle{z-index:10030!important;}

#accountMenuInitials{z-index:10030!important;}

#accountMenuName{z-index:10030!important;}

#accountNotificationBadge{z-index:10030!important;}

#accountMenuPanel{z-index:10030!important;}

#accountStatusButton{z-index:10030!important;}

#servicesAccountButton{z-index:10030!important;}

#accountAdminDivider{z-index:10030!important;}

#mobileAccountAction{z-index:10030!important;}

#accountStatusDialog{z-index:10030!important;}

#accountStatusContent{z-index:10030!important;}


/* Windows + desktop account menu must stay above the filter/search bar */
.topbar{
  position:relative!important;
  z-index:10000!important;
  overflow:visible!important;
}
.topbar .right-nav{
  position:relative!important;
  z-index:10010!important;
  overflow:visible!important;
}
.account-menu{
  z-index:10030!important;
}
.search-strip{
  position:relative!important;
  z-index:1200!important;
}
#pricePanel,#builtYearPanel,#datesFilterPanel{
  z-index:1210!important;
}
.explore-layout{
  position:relative!important;
  z-index:1!important;
}

/* More filter is no longer used */
#moreButton{
  display:none!important;
}


/* ============================================================
   MOBILE HEADER REORDER
   Hamburger | Add listing | centered logo | User | compact flags
   ============================================================ */
@media (max-width:760px){
  .topbar{
    position:relative!important;
    display:grid!important;
    grid-template-columns:40px auto minmax(54px,1fr) auto auto!important;
    grid-template-rows:58px!important;
    align-items:center!important;
    column-gap:7px!important;
    width:100%!important;
    min-height:58px!important;
    height:58px!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  /* Three-line menu first, at far left */
  #mobileMenu,
  .mobile-menu{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;
    font-size:25px!important;
    line-height:1!important;
  }

  /* Add Listing immediately after hamburger */
  .left-header-actions{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-self:start!important;
    min-width:0!important;
    margin:0!important;
  }

  #addListingButton{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 9px!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1!important;
    white-space:nowrap!important;
    border-radius:5px!important;
  }

  /* Logo owns the center column and stays visually centered */
  .brand{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    margin:0!important;
  }

  .brand-logo{
    display:block!important;
    width:auto!important;
    max-width:56px!important;
    height:40px!important;
    max-height:40px!important;
    object-fit:contain!important;
  }

  .left-nav{
    display:contents!important;
  }

  .right-nav{
    grid-column:4 / 6!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
  }

  /* User/account control comes before flags */
  .account-menu-wrap,
  .user-menu-wrap,
  .account-menu-container{
    order:1!important;
    flex:0 0 auto!important;
  }

  .account-menu-trigger,
  #accountMenuButton,
  #userMenuButton{
    min-width:0!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 6px!important;
  }

  .account-menu-avatar{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    font-size:13px!important;
  }

  .message-badge{
    min-width:19px!important;
    height:19px!important;
    padding:0 5px!important;
    font-size:10px!important;
  }

  /* Flags follow user menu and are intentionally smaller on phones */
  .language-switcher{
    order:2!important;
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
  }

  .language-switcher button{
    width:25px!important;
    height:28px!important;
    min-width:25px!important;
    padding:2px!important;
    margin:0!important;
    border-radius:5px!important;
  }

  .language-switcher button img{
    width:19px!important;
    height:12px!important;
    object-fit:cover!important;
  }

  /* Header-only actions not part of requested mobile row */
  .right-nav .agent-finder-link,
  .right-nav > .add-listing-action{
    display:none!important;
  }
}

@media (max-width:430px){
  .topbar{
    grid-template-columns:36px auto minmax(42px,1fr) auto auto!important;
    column-gap:4px!important;
    padding:0 5px!important;
  }
  #addListingButton{
    height:34px!important;
    min-height:34px!important;
    padding:0 7px!important;
    font-size:12px!important;
  }
  .brand-logo{
    max-width:48px!important;
    height:36px!important;
  }
  .account-menu-avatar{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    font-size:12px!important;
  }
  .language-switcher{
    gap:1px!important;
  }
  .language-switcher button{
    width:22px!important;
    min-width:22px!important;
    height:26px!important;
    padding:1px!important;
  }
  .language-switcher button img{
    width:17px!important;
    height:11px!important;
  }
}

/* Human takeover + Support Room */
.ai-support-human-actions{padding:7px 12px 0;background:#fff}.ai-support-human-actions button{width:100%}
.ai-support-launcher.human-waiting{background:#b42318}.ai-support-launcher.human-waiting .ai-support-dot{background:#fff;animation:isellNotificationPulse 1s infinite}
.ai-support-launcher.human-active{background:#067647}.ai-support-dialog.human-active .ai-support-head{background:#ecfdf3;border-color:#abefc6}
.support-sender{display:block;font-weight:900;color:#067647;margin-bottom:3px}
.support-room-dialog{width:min(1180px,calc(100vw - 24px));height:min(820px,92dvh);max-width:none;max-height:92dvh;padding:0;border:0;border-radius:16px;overflow:hidden}
.support-room-dialog::backdrop{background:rgba(15,23,42,.4)}
.support-room-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e5e7eb}.support-room-head strong,.support-room-head small{display:block}.support-room-head small{color:#667085;margin-top:2px}
.support-room-shell{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100% - 68px)}
.support-room-list-pane{background:#f8fafc;border-right:1px solid #e5e7eb;overflow:auto;padding:12px}.support-room-list-title{font-weight:900;margin:4px 4px 10px}
.support-room-list{display:grid;gap:8px}.support-room-card{display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;width:100%;padding:12px;border:1px solid #dbe2ea;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.support-room-card.selected{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12)}.support-room-card small,.support-room-card em{display:block;margin-top:3px;color:#667085;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-state-dot{width:10px;height:10px;margin-top:4px;border-radius:50%;background:#3b82f6}.state-needs_human .support-state-dot{background:#dc2626;animation:isellNotificationPulse 1s infinite}.state-human .support-state-dot{background:#16a34a}.state-ai .support-state-dot{background:#2563eb}
.support-room-thread-pane{min-width:0;position:relative}.support-room-empty{display:grid;place-items:center;height:100%;color:#64748b}.support-room-thread-pane #supportRoomThread{height:100%;display:grid;grid-template-rows:auto 1fr auto}.support-thread-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #e5e7eb}.support-thread-head strong,.support-thread-head small{display:block}.support-thread-head small{color:#667085;margin-top:3px}.support-thread-actions{display:flex;gap:7px;flex-wrap:wrap}.support-thread-messages{overflow:auto;padding:16px;background:#f8fafc}.support-thread-message{max-width:78%;margin:8px 0;padding:10px 12px;border-radius:13px;background:#fff;border:1px solid #e5e7eb}.support-thread-message.user{margin-left:auto;background:#111827;color:#fff}.support-thread-message.human{background:#ecfdf3;border-color:#abefc6}.support-thread-message.ai{background:#eff6ff;border-color:#bfdbfe}.support-thread-message.system{max-width:100%;text-align:center;background:transparent;border:0;color:#667085;font-size:12px}.support-thread-message small{display:block;font-weight:800;margin-bottom:3px;opacity:.75}.support-reply-form{display:flex;gap:8px;padding:12px;border-top:1px solid #e5e7eb}.support-reply-form textarea{flex:1;resize:none;border:1px solid #d0d5dd;border-radius:10px;padding:10px;font:inherit}
@media(max-width:760px){.support-room-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.support-room-shell{grid-template-columns:1fr;height:calc(100% - 68px)}.support-room-list-pane{max-height:34dvh;border-right:0;border-bottom:1px solid #e5e7eb}.support-room-thread-pane{min-height:0}.support-thread-head{align-items:flex-start;flex-direction:column}.support-thread-message{max-width:88%}}

/* Listing ownership/removal reports */
.report-listing-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0;padding:12px;border:1px solid #fecaca;border-radius:12px;background:#fffafa}.report-listing-action small{color:#667085}.danger-outline{border:1px solid #dc2626!important;color:#b42318!important;background:#fff!important}
.report-listing-dialog{width:min(620px,calc(100vw - 24px));padding:0;border:0;border-radius:16px}.report-listing-dialog form{display:grid;gap:13px;padding:20px}.report-listing-dialog label{display:grid;gap:6px}.report-listing-dialog input,.report-listing-dialog select,.report-listing-dialog textarea{font:inherit;padding:10px;border:1px solid #d0d5dd;border-radius:9px}.report-upload-box{padding:13px;border:1px dashed #98a2b3;border-radius:11px;background:#f8fafc}.report-upload-box small,.report-privacy-note{color:#667085;font-size:12px}
.listing-reports-dialog{width:min(980px,calc(100vw - 24px));max-height:92dvh;padding:0;border:0;border-radius:16px}.listing-reports-list{display:grid;gap:12px;padding:16px;max-height:calc(92dvh - 70px);overflow:auto;background:#f8fafc}.listing-report-card{padding:15px;border:1px solid #dbe2ea;border-left:5px solid #eab308;border-radius:12px;background:#fff}.listing-report-card.status-approved{border-left-color:#16a34a}.listing-report-card.status-rejected{border-left-color:#dc2626}.listing-report-card.status-reviewing{border-left-color:#2563eb}.listing-report-card-head{display:flex;justify-content:space-between;gap:12px}.listing-report-card-head strong,.listing-report-card-head small{display:block}.listing-report-card-head small{color:#667085;margin-top:3px}.listing-report-docs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.listing-report-docs a{padding:7px 9px;border-radius:8px;background:#eff6ff;color:#1d4ed8;text-decoration:none}.listing-report-card label{display:grid;gap:5px}.listing-report-card textarea{font:inherit;padding:9px;border:1px solid #d0d5dd;border-radius:8px}.listing-report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:600px){.report-listing-dialog,.listing-reports-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0}.listing-reports-list{max-height:calc(100dvh - 70px)}}

.daily-access-status{margin:0 0 14px;padding:12px 14px;border-radius:11px;font-weight:800}.daily-access-status.active{background:#ecfdf3;border:1px solid #abefc6;color:#067647}.daily-access-status.expired{background:#fff1f2;border:1px solid #fecdd3;color:#b42318}

/* Support Room responsive layout hard-fix — desktop + mobile */
.support-room-dialog{
  width:min(1100px,calc(100vw - 32px))!important;
  height:min(780px,calc(100dvh - 32px))!important;
  max-width:1100px!important;
  max-height:calc(100dvh - 32px)!important;
  margin:auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:16px!important;
}
.support-room-dialog .support-room-head{
  height:64px!important;min-height:64px!important;
  box-sizing:border-box!important;
}
.support-room-shell{
  display:grid!important;
  grid-template-columns:minmax(230px,280px) minmax(0,1fr)!important;
  height:calc(100% - 64px)!important;
  min-height:0!important;
  overflow:hidden!important;
}
.support-room-list-pane,.support-room-thread-pane{
  min-width:0!important;min-height:0!important;height:100%!important;
  overflow:hidden!important;
}
.support-room-list-pane{display:flex!important;flex-direction:column!important;}
.support-room-list-title{flex:0 0 auto!important;}
.support-room-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;}
.support-room-thread-pane{display:block!important;}
#supportRoomThread{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
#supportRoomThread.hidden{display:none!important;}
.support-thread-head{
  flex:0 0 auto!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;flex-wrap:wrap!important;
  padding:12px 14px!important;
}
.support-thread-head>div:first-child{min-width:0!important;flex:1 1 180px!important;}
.support-thread-actions{display:flex!important;gap:8px!important;flex:0 1 auto!important;flex-wrap:wrap!important;}
.support-thread-actions button{white-space:nowrap!important;}
.support-thread-messages{
  flex:1 1 0!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:14px!important;
}
.support-thread-message{max-width:min(78%,720px)!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
.support-reply-form{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:10px!important;
  padding:12px 14px!important;
  border-top:1px solid #e4e7ec!important;
  background:#fff!important;
  position:relative!important;
  z-index:3!important;
}
.support-reply-form textarea{
  display:block!important;width:100%!important;min-width:0!important;
  min-height:48px!important;max-height:120px!important;
  resize:vertical!important;box-sizing:border-box!important;
  font-size:16px!important;
}
.support-reply-form button{min-height:48px!important;padding-inline:20px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}

@media (max-width:700px){
  .support-room-dialog{
    width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;
    border-radius:0!important;margin:0!important;
  }
  .support-room-dialog .support-room-head{height:56px!important;min-height:56px!important;padding:9px 12px!important;}
  .support-room-shell{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(118px,28%) minmax(0,1fr)!important;
    height:calc(100% - 56px)!important;
  }
  .support-room-list-pane{border-right:0!important;border-bottom:1px solid #e4e7ec!important;}
  .support-room-list-title{padding:8px 10px!important;}
  .support-room-list{display:flex!important;overflow-x:auto!important;overflow-y:auto!important;gap:8px!important;padding:8px!important;}
  .support-room-card{min-width:210px!important;max-width:260px!important;flex:0 0 auto!important;}
  .support-thread-head{padding:8px 10px!important;gap:7px!important;}
  .support-thread-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .support-thread-actions button{min-width:0!important;padding:8px 5px!important;font-size:12px!important;}
  .support-thread-messages{padding:10px!important;}
  .support-thread-message{max-width:92%!important;}
  .support-reply-form{padding:8px 10px max(8px,env(safe-area-inset-bottom))!important;gap:7px!important;}
  .support-reply-form textarea{min-height:44px!important;max-height:88px!important;}
  .support-reply-form button{min-height:44px!important;padding-inline:14px!important;}
}
@media (max-width:430px){
  .support-room-shell{grid-template-rows:minmax(105px,24%) minmax(0,1fr)!important;}
  .support-room-card{min-width:185px!important;}
  .support-thread-actions button{font-size:11px!important;}
}

.admin-menu-group{width:100%}
.admin-menu-toggle{display:flex!important;align-items:center;justify-content:space-between;width:100%;font-weight:800}
.admin-submenu{padding:2px 0 4px 12px;border-left:2px solid #e4e7ec;margin-left:12px}
.admin-submenu-item{padding-left:14px!important;font-size:.95em!important}
.admin-submenu-chevron{transition:transform .18s ease}
.admin-menu-toggle[aria-expanded="true"] .admin-submenu-chevron{transform:rotate(180deg)}
.user-portal-permissions{grid-column:1/-1;padding:10px 0;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0}
.user-portal-permissions-title{display:block;margin-bottom:8px}
.user-portal-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}
.user-portal-permissions-title{grid-column:1/-1}
.portal-permission-check{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}
.portal-permission-check input{width:17px;height:17px;flex:0 0 auto}
@media(max-width:700px){.user-portal-permissions{grid-template-columns:1fr}.admin-submenu{margin-left:8px;padding-left:8px}}

/* Compact per-user portal permissions */
.user-portal-permissions{
  display:block!important;
  grid-column:1/-1;
  padding:0!important;
  border:1px solid #e4e7ec!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.user-portal-permissions-title{
  display:flex!important;
  grid-column:auto!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0!important;
  padding:9px 11px!important;
  cursor:pointer!important;
  font-weight:750!important;
  list-style:none!important;
  user-select:none!important;
}
.user-portal-permissions-title::-webkit-details-marker{display:none!important}
.user-portal-permissions-title::before{
  content:'▸';font-size:12px;line-height:1;transition:transform .15s ease;flex:0 0 auto;
}
.user-portal-permissions[open]>.user-portal-permissions-title::before{transform:rotate(90deg)}
.user-portal-permissions-title>span:first-child{margin-right:auto}
.portal-permission-count{
  font-size:11px!important;font-weight:800!important;
  padding:2px 7px!important;border-radius:999px!important;
  background:#f2f4f7!important;color:#475467!important;
}
.user-portal-permissions-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 14px!important;
  padding:9px 11px 11px!important;
  border-top:1px solid #eaecf0!important;
}
.portal-permission-check{margin:0!important}
@media(max-width:700px){
  .user-portal-permissions-grid{grid-template-columns:1fr!important;gap:8px!important}
}

.daily-rental-portal-dialog{width:min(980px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;overflow:hidden}
.daily-rental-portal-content{padding:22px;max-height:calc(100dvh - 42px);overflow:auto}
.daily-rental-portal-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
.daily-rental-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.daily-rental-plan-card{min-width:0}
.daily-rental-plan-card.preferred{outline:2px solid currentColor;outline-offset:2px}
.daily-rental-plan-card select{width:100%;margin-bottom:8px}
.daily-payment-note{margin-top:14px;padding-top:12px;border-top:1px solid #e4e7ec}
.daily-rental-monetization-choices{border:1px solid #e4e7ec;border-radius:12px;padding:12px!important;background:#f9fafb}
.daily-rental-monetization-choices>label{display:grid;gap:5px;margin:8px 0}
.daily-rental-monetization-choices select{width:100%}
@media(max-width:700px){.daily-rental-plan-grid{grid-template-columns:1fr}.daily-rental-portal-dialog{width:100vw;height:100dvh;max-height:none;margin:0;border-radius:0}.daily-rental-portal-content{max-height:100dvh;padding:16px}}

.user-credit-grants{display:block;grid-column:1/-1;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden;background:#fff}
.user-credit-grants>summary{cursor:pointer}
.user-credit-grants-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;border-top:1px solid #eaecf0}
.user-credit-grants-grid>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:9px;border:1px solid #eaecf0;border-radius:9px}
.user-credit-grants-grid>div strong{grid-column:1/-1}
.user-credit-grants>small{display:block;padding:0 10px 10px;color:#667085}
.daily-rental-credit-panel{margin:12px 0;padding:12px;border:1px solid #d0d5dd;border-radius:12px;background:#f9fafb}
.daily-credit-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:9px}
.daily-credit-assign{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center}
.daily-credit-assign select{width:100%}
.daily-rental-credit-panel small{display:block;margin-top:8px;color:#667085}
@media(max-width:700px){.user-credit-grants-grid{grid-template-columns:1fr}.daily-credit-assign{grid-template-columns:1fr}.daily-credit-assign button{width:100%}}

/* VIP section spans the entire listings panel; heading and results follow below. */
.results-panel > .featured-homes-section{width:100%;margin:0 0 20px;min-width:0}
.results-panel > .results-heading{width:100%}
@media (min-width: 761px){
  .results-panel > .featured-homes-section .featured-homes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .results-panel > .featured-homes-section .featured-property-card{min-width:0}
  .results-panel > .featured-homes-section .featured-property-image-wrap{aspect-ratio:16/9}
  .results-panel > .featured-homes-section .featured-property-body{padding:12px 14px}
}
/* Purple labels distinguish rental properties; gold halo marks premium VIP. */
#propertyMap .osm-price-marker.rental-price-marker{background:#7138b8;color:#fff;border-color:#f3eaff}
#propertyMap .osm-price-marker.vip-price-marker{box-shadow:0 0 0 4px rgba(255,197,43,.92),0 0 0 9px rgba(255,197,43,.3),0 3px 12px rgba(0,0,0,.32);z-index:8}
#propertyMap .osm-price-marker.vip-price-marker:hover,#propertyMap .osm-price-marker.vip-price-marker.active{box-shadow:0 0 0 4px #ffc52b,0 0 0 10px rgba(255,197,43,.45),0 5px 16px rgba(0,0,0,.38);z-index:12}

/* Desktop VIP: single horizontal scroll row, matching the mobile carousel. */
@media (min-width: 761px){
  .results-panel > .featured-homes-section .featured-homes-grid{
    display:flex;
    flex-wrap:nowrap;
    grid-template-columns:none;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    padding:2px 2px 12px;
    min-width:0;
  }
  .results-panel > .featured-homes-section .featured-property-card{
    flex:0 0 clamp(210px, 42%, 320px);
    width:clamp(210px, 42%, 320px);
    min-width:0;
    scroll-snap-align:start;
  }
}

/* Schools layer and community review portal */
.education-layer-toggle{position:absolute;right:12px;top:132px;z-index:55;background:white;border-radius:8px;padding:7px 10px;box-shadow:0 2px 9px #0002;font-size:13px;display:flex;gap:6px;align-items:center}
.osm-education-markers{position:absolute;inset:0;pointer-events:none;z-index:9}
.education-map-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:#fff;border:2px solid #7c3aed;border-radius:20px;padding:5px 8px;color:#5b21b6;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 2px 8px #0004;cursor:pointer}
.school-dialog{width:min(640px,94vw);max-height:85dvh;overflow-y:auto;border:0;border-radius:15px;padding:24px}
.school-dialog .close{float:right;font-size:24px}.school-dialog input,.school-dialog textarea,.school-dialog select{max-width:100%;padding:9px;border:1px solid #ccd2da;border-radius:7px}
#schoolSearch{width:100%;box-sizing:border-box;margin:8px 0 16px}.school-search-item,.nearby-school-item{display:flex;flex-direction:column;text-align:left;width:100%;gap:4px;padding:10px;background:#fff;border:0;border-bottom:1px solid #eee;cursor:pointer}.school-search-item:hover,.nearby-school-item:hover{background:#f5f3ff}.school-search-item small,.nearby-school-item span{color:#555}.school-stars{font-size:21px;color:#6d28d9;font-weight:700}.school-reviews article{border-bottom:1px solid #ddd;padding:10px 0}.school-review-status{color:#6d28d9}.nearby-schools{padding:14px 0}.school-portal-link{margin-top:10px}
@media(max-width:767px){.education-layer-toggle,.school-portal-map-button{display:none}.school-dialog{padding:16px}}

/* Rental map labels: white fill, purple text. VIP gold halo retained. */
#propertyMap .osm-price-marker.rental-price-marker{background:#fff;color:#7138b8;border-color:#e6d7f7}
#propertyMap .osm-price-marker.rental-price-marker:hover,#propertyMap .osm-price-marker.rental-price-marker.active{background:#fff;color:#7138b8;border-color:#7138b8}
.neighborhood-overview{padding:16px 0}.neighborhood-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0}.neighborhood-stat{border:1px solid #e2e5eb;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px;background:#fff}.neighborhood-stat>span{font-weight:700;font-size:13px}.neighborhood-stat strong{font-size:26px;color:#7138b8}.neighborhood-stat small{color:#626a75;font-size:12px}

/* Schools checkbox belongs to the map-layer selector, not a floating overlay. */
#propertyMap .basemap-control .education-layer-toggle{position:static;display:inline-flex;align-items:center;gap:5px;box-shadow:none;border:0;padding:2px 5px;margin:0;background:transparent;white-space:nowrap;font-size:12px;cursor:pointer;z-index:auto}
#propertyMap .basemap-control .education-layer-toggle input{margin:0;accent-color:#7138b8;cursor:pointer}
#propertyMap .school-portal-map-button,#propertyMap .mobile-schools-portal{display:none!important}
@media(max-width:767px){#propertyMap .basemap-control .education-layer-toggle{display:none}}

/* School markers must never cover clickable property price markers on desktop. */
#propertyMap .osm-education-markers{z-index:4;pointer-events:none}
#propertyMap .osm-markers{z-index:5;pointer-events:none}
#propertyMap .osm-price-marker{pointer-events:auto;cursor:pointer}

/* Windows mouse: grab cursor only over empty map; price labels stay clickable. */
#propertyMap{cursor:default}
#propertyMap.dragging{cursor:grabbing}
#propertyMap .osm-price-marker{cursor:pointer!important}

.school-admin-editor{margin:16px 0;padding:12px;border:1px solid #d7d4ed;border-radius:10px}.school-admin-editor summary{cursor:pointer;font-weight:700}.school-admin-editor form{display:grid;gap:10px;margin-top:12px}.school-admin-editor label{display:grid;gap:4px}.school-admin-editor input{width:100%;box-sizing:border-box}.school-admin-status{min-height:1.2em;color:#5b21b6}
.neighborhood-stat{appearance:none;text-align:left;cursor:pointer;width:100%;font:inherit}.neighborhood-stat:hover,.neighborhood-stat:focus-visible{border-color:#7138b8;box-shadow:0 3px 12px rgba(0,0,0,.08);outline:none}.neighborhood-places-modal{position:fixed;inset:0;background:rgba(20,24,32,.5);z-index:10050;display:none;align-items:center;justify-content:center;padding:18px}.neighborhood-places-modal.open{display:flex}.neighborhood-places-panel{background:#fff;border-radius:16px;width:min(680px,100%);max-height:min(78vh,760px);display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.22)}.neighborhood-places-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e6e8ee}.neighborhood-places-head h3{margin:0 0 3px}.neighborhood-places-head small{color:#69717d}.neighborhood-places-close{border:0;background:#f0f1f5;border-radius:50%;width:36px;height:36px;font-size:25px;cursor:pointer}.neighborhood-places-list{overflow:auto;padding:6px 20px 18px}.neighborhood-place-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #eceef2}.neighborhood-place-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.neighborhood-place-row b{font-size:14px}.neighborhood-place-row span,.neighborhood-place-row small{font-size:12px;color:#69717d}.neighborhood-place-row>strong{white-space:nowrap;color:#7138b8;font-size:13px}@media(max-width:640px){.neighborhood-places-modal{align-items:flex-end;padding:0}.neighborhood-places-panel{width:100%;max-height:82vh;border-radius:16px 16px 0 0}.neighborhood-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Neighborhood category details must sit above the native listing dialog.
   A modal <dialog> enters the browser top layer; ordinary z-index cannot do this. */
dialog.neighborhood-places-modal{
  width:100vw!important;max-width:none!important;height:100vh!important;max-height:none!important;
  margin:0!important;padding:18px!important;border:0!important;background:transparent!important;
  overflow:hidden!important;box-sizing:border-box;align-items:center;justify-content:center;
}
dialog.neighborhood-places-modal[open]{display:flex!important;}
dialog.neighborhood-places-modal::backdrop{background:rgba(20,24,32,.5);}
@media(max-width:640px){
  dialog.neighborhood-places-modal{padding:0!important;align-items:flex-end;}
}
/* Neighborhood POI map layers: lightweight, collision-aware markers. */
#propertyMap .neighborhood-layer-menu{position:relative;display:inline-block;font-size:12px;z-index:60}
#propertyMap .neighborhood-layer-menu summary{cursor:pointer;font-weight:800;white-space:nowrap;list-style:none;padding:2px 5px}
#propertyMap .neighborhood-layer-menu summary::-webkit-details-marker{display:none}
#propertyMap .neighborhood-layer-options{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;background:#fff;border:1px solid #d1d5db;border-radius:10px;box-shadow:0 8px 24px #0003;padding:7px;display:grid;gap:2px;z-index:90}
#propertyMap .neighborhood-layer-options label{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:7px;cursor:pointer;white-space:nowrap}
#propertyMap .neighborhood-layer-options label:hover{background:#f3f4f6}
#propertyMap .osm-neighborhood-markers{position:absolute;inset:0;pointer-events:none;z-index:3}
#propertyMap .neighborhood-map-marker{position:absolute;transform:translate(-50%,-50%);width:auto;height:22px;max-width:160px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;display:flex;align-items:center;gap:4px;font-size:15px;line-height:1;cursor:pointer;pointer-events:auto;color:#111827;text-align:left;white-space:nowrap;overflow:visible;text-shadow:0 1px 2px rgba(255,255,255,.95),0 0 3px rgba(255,255,255,.9)}
#propertyMap .neighborhood-map-marker-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;background:transparent;border:0;box-shadow:none;font-size:15px;line-height:20px}
#propertyMap .neighborhood-map-marker-name{display:block;max-width:132px;overflow:hidden;text-overflow:ellipsis;font-size:10px;line-height:12px;font-weight:700;letter-spacing:-.05px}
#propertyMap .neighborhood-map-marker:hover{transform:translate(-50%,-50%) scale(1.08);z-index:5}
@media(max-width:767px){#propertyMap .neighborhood-map-marker-name{max-width:104px;font-size:9px;line-height:11px}}
.neighborhood-map-place-panel{max-width:430px}.neighborhood-place-detail{padding:16px 18px 20px;display:grid;gap:6px}
.mobile-neighborhood-option{display:flex;align-items:center;gap:7px}.mobile-neighborhood-check{display:inline-block;min-width:12px;font-weight:900}
@media(max-width:767px){#propertyMap .neighborhood-layer-menu{display:none}}

/* Neighborhood score */
.neighborhood-score-card{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;text-align:left;gap:2px 12px;margin:10px 0 12px;padding:12px 14px;border:1px solid #d9c9ee;border-radius:13px;background:#faf7ff;cursor:pointer}.neighborhood-score-card>span{font-size:13px;font-weight:800}.neighborhood-score-card>strong{grid-row:1/3;grid-column:2;font-size:30px;color:#7138b8}.neighborhood-score-card>strong small{font-size:12px;color:#69717d}.neighborhood-score-card>em{font-size:12px;font-style:normal;color:#69717d}.neighborhood-score-detail{padding:14px 20px 20px}.neighborhood-score-big{display:flex;align-items:baseline;gap:4px;font-size:38px;font-weight:900;color:#7138b8;margin-bottom:12px}.neighborhood-score-big small{font-size:14px;color:#69717d}.neighborhood-score-big span{margin-left:auto;font-size:14px;color:#111827}.neighborhood-score-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid #eceef2}.neighborhood-score-row span{font-weight:700}.neighborhood-score-row span small{font-weight:500;color:#69717d;margin-left:5px}.neighborhood-score-row strong{color:#7138b8}.neighborhood-score-panel{max-width:520px}

/* Collapsible nearest-schools panel */
.nearby-schools-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 0;background:transparent;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.nearby-schools-toggle strong{font-size:1.17em}.nearby-schools-chevron{width:16px;color:#6d28d9;font-size:12px}.nearby-schools-content[hidden]{display:none!important}.nearby-schools-content>small{display:block;margin:0 0 6px;color:#555}

/* 2026-10-03: stable chat scrolling + input-first upload/action layout */
.messages-dialog{
  height:min(820px,92dvh);
  max-height:92dvh;
}
.messages-shell{
  height:100%;
  min-height:0!important;
  overflow:hidden;
}
.messages-sidebar{
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.messages-sidebar-head{flex:0 0 auto}
.conversation-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-right:3px;
}
.messages-thread-panel{
  min-height:0;
  overflow:hidden;
}
.message-thread-heading{flex:0 0 auto}
.message-thread{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.message-reply-form{
  flex:0 0 auto;
  display:block!important;
  width:100%;
  box-sizing:border-box;
  position:relative;
  z-index:6;
}
.message-reply-form textarea{
  display:block;
  width:100%!important;
  min-width:0;
  min-height:88px;
  max-height:180px;
  overflow-y:auto;
}
.message-composer-footer{
  display:flex!important;
  width:100%;
  min-width:0;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.message-reply-tools{
  flex:1 1 220px;
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
}
.message-send-button{
  flex:0 0 auto;
  margin-left:auto;
  white-space:nowrap;
}

/* Reusable input-first pattern for forms with uploads. */
#publisherMessageForm>label,
#serviceRequestForm>label{
  width:100%;
  box-sizing:border-box;
}
#publisherMessageForm textarea,
#serviceRequestForm textarea{
  width:100%;
  box-sizing:border-box;
  min-height:110px;
}
#publisherMessageForm .message-attachment-actions,
#serviceRequestForm .message-attachment-actions{
  width:100%;
  box-sizing:border-box;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
#publisherMessageForm .dialog-form-actions,
#serviceRequestForm .dialog-form-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.rental-inline-message-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
}
.rental-inline-message-form textarea{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.rental-inline-message-form>div{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
#listingForm .listing-photo-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
}
#listingForm .listing-photo-actions .photo-action-button{
  flex:0 1 auto!important;
  max-width:100%!important;
  white-space:normal!important;
}

@media(max-width:720px){
  .messages-dialog{
    height:100dvh!important;
    max-height:100dvh!important;
  }
  .messages-sidebar{
    overflow:hidden!important;
  }
  .conversation-list{
    overflow-y:auto!important;
    padding-bottom:calc(env(safe-area-inset-bottom) + 14px)!important;
  }
  .messages-thread-panel{
    height:100%!important;
    min-height:0!important;
  }
  .message-thread{
    padding-bottom:14px!important;
  }
  .message-reply-form{
    display:block!important;
    padding:9px 10px calc(env(safe-area-inset-bottom) + 9px)!important;
  }
  .message-reply-form textarea{
    width:100%!important;
    min-height:96px!important;
    max-height:150px!important;
    margin:0!important;
  }
  .message-composer-footer{
    margin-top:7px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:8px!important;
  }
  .message-reply-tools{
    flex:1 1 auto!important;
    min-width:0!important;
    flex-wrap:wrap!important;
  }
  .message-attach-button{
    flex:0 0 auto!important;
  }
  .message-attachment-summary{
    min-width:0;
    max-width:42vw;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .message-send-button{
    flex:0 0 auto!important;
    min-width:92px!important;
    margin-left:auto!important;
  }
  #publisherMessageForm textarea,
  #serviceRequestForm textarea{
    min-height:130px;
  }
  #publisherMessageForm .message-attachment-actions,
  #serviceRequestForm .message-attachment-actions,
  #publisherMessageForm .dialog-form-actions,
  #serviceRequestForm .dialog-form-actions{
    gap:7px;
  }
  #publisherMessageForm .message-attach-button,
  #serviceRequestForm .message-attach-button,
  #listingForm .photo-action-button{
    min-height:38px;
  }
}

/* School review form: reserve the full row for review text, actions below. */
#schoolReviewForm{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 12px;
  align-items:end;
  margin-top:18px;
}
#schoolReviewForm h3{
  grid-column:1 / -1;
  margin:0 0 4px;
}
#schoolReviewForm label:has(textarea){
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
  min-width:0;
}
#schoolReviewForm textarea[name="comment"]{
  display:block;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:110px;
  resize:vertical;
}
#schoolReviewForm label:has(select[name="rating"]){
  grid-column:1;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
}
#schoolReviewForm select[name="rating"]{
  min-height:40px;
}
#schoolReviewForm > button[type="submit"]{
  grid-column:2;
  min-height:40px;
  white-space:nowrap;
  justify-self:end;
}
#schoolReviewForm .school-review-status{
  grid-column:1 / -1;
  margin:0;
}
@media (max-width:600px){
  #schoolReviewForm{
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px;
  }
  #schoolReviewForm textarea[name="comment"]{
    min-height:120px;
  }
  #schoolReviewForm > button[type="submit"]{
    max-width:100%;
  }
}


/* iSell light/dark theme --------------------------------------------------- */
:root{color-scheme:light;--page-bg:#fff;--surface:#fff;--surface-2:#f5f7fa;--text:#2a2a2a;--text-strong:#0f172a;--theme-muted:#68707b;--theme-line:#d8dce2;--input-bg:#fff;--shadow-theme:rgba(15,23,42,.18)}
html[data-theme="dark"]{color-scheme:dark;--page-bg:#0b1220;--surface:#111827;--surface-2:#172033;--text:#e5e7eb;--text-strong:#f8fafc;--theme-muted:#aab4c3;--theme-line:#334155;--input-bg:#0f172a;--shadow-theme:rgba(0,0,0,.48);--ink:#e5e7eb;--muted:#aab4c3;--line:#334155;--soft:#172033;--deep:#f8fafc}
html[data-theme="dark"] body{background:var(--page-bg);color:var(--text)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .search-strip,html[data-theme="dark"] .results-panel,html[data-theme="dark"] .card,html[data-theme="dark"] .account-menu-panel,html[data-theme="dark"] dialog,html[data-theme="dark"] .dialog-shell,html[data-theme="dark"] .modal-content,html[data-theme="dark"] .property-modal-content,html[data-theme="dark"] .listing-entry-form,html[data-theme="dark"] .account-shell,html[data-theme="dark"] .services-shell,html[data-theme="dark"] .service-provider-card{background:var(--surface)!important;color:var(--text)!important;border-color:var(--theme-line)!important}
html[data-theme="dark"] .topbar a,html[data-theme="dark"] .nav-action,html[data-theme="dark"] .header-nav-item,html[data-theme="dark"] .account-menu-toggle,html[data-theme="dark"] .account-menu-item,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4,html[data-theme="dark"] .price,html[data-theme="dark"] .meta{color:var(--text)!important}
html[data-theme="dark"] .account-menu-signout{color:#fda4af!important}
html[data-theme="dark"] .account-menu-toggle:hover,html[data-theme="dark"] .account-menu-toggle[aria-expanded="true"],html[data-theme="dark"] .account-menu-item:hover,html[data-theme="dark"] .admin-submenu,html[data-theme="dark"] .service-provider-meta span{background:var(--surface-2)!important}
html[data-theme="dark"] .account-menu-divider,html[data-theme="dark"] .estimate-row{border-color:var(--theme-line)!important;background-color:var(--theme-line)}
html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select,html[data-theme="dark"] .filter-button,html[data-theme="dark"] .filter-row select,html[data-theme="dark"] .main-search,html[data-theme="dark"] .main-search input,html[data-theme="dark"] .main-search button,html[data-theme="dark"] .price-panel,html[data-theme="dark"] .price-panel input{background:var(--input-bg)!important;color:var(--text)!important;border-color:#475569!important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#8491a3}
html[data-theme="dark"] .address,html[data-theme="dark"] .results-heading p,html[data-theme="dark"] .form-status,html[data-theme="dark"] .muted,html[data-theme="dark"] small,html[data-theme="dark"] label,html[data-theme="dark"] .service-provider-area{color:var(--theme-muted)!important}
html[data-theme="dark"] .photo-wrap{background:#1f2937}
html[data-theme="dark"] .status-badge{background:rgba(17,24,39,.94);color:#f8fafc}
html[data-theme="dark"] .brand .brand-i{color:#f8fafc!important}
html[data-theme="dark"] .account-tabs button{background:var(--surface)!important;color:var(--text)!important}
html[data-theme="dark"] .secondary,html[data-theme="dark"] .secondary-button{background:#1e293b!important;color:#e5e7eb!important;border-color:#475569!important}
html[data-theme="dark"] .map-search-stack .address-map-search,html[data-theme="dark"] .map-search-stack .napr-parcel-search,html[data-theme="dark"] .map-search,html[data-theme="dark"] .leaflet-control-layers,html[data-theme="dark"] .leaflet-control-zoom a,html[data-theme="dark"] .leaflet-popup-content-wrapper,html[data-theme="dark"] .leaflet-popup-tip{background:#111827!important;color:#e5e7eb!important;border-color:#475569!important}
html[data-theme="dark"] .leaflet-control-layers label,html[data-theme="dark"] .leaflet-control-layers-base label,html[data-theme="dark"] .leaflet-control-layers-overlays label{color:#e5e7eb!important}
html[data-theme="dark"] .poi-name-label{color:#f8fafc!important;text-shadow:0 1px 2px #000,0 0 3px #000}
html[data-theme="dark"] .message-thread,html[data-theme="dark"] .conversation-list,html[data-theme="dark"] .messages-list,html[data-theme="dark"] .message-composer,html[data-theme="dark"] .neighborhood-overview,html[data-theme="dark"] .neighborhood-score-card{background:var(--surface)!important;color:var(--text)!important;border-color:var(--theme-line)!important}
html[data-theme="dark"] .conversation-item:hover,html[data-theme="dark"] .conversation-item.active{background:var(--surface-2)!important}
html[data-theme="dark"] ::-webkit-scrollbar{width:10px;height:10px}html[data-theme="dark"] ::-webkit-scrollbar-track{background:#0f172a}html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#475569;border-radius:10px;border:2px solid #0f172a}
.theme-toggle-item{gap:9px}.theme-toggle-item span:first-child{width:20px;text-align:center}

/* 2026-10-04 comprehensive dark-theme audit: nested cards, popups, forms and controls */
html[data-theme="dark"]{
  --theme-card:#111827;
  --theme-card-2:#172033;
  --theme-card-3:#1e293b;
  --theme-border:#334155;
  --theme-control:#0f172a;
  --theme-subtle:#94a3b8;
}
/* Common controls/buttons that previously retained white backgrounds. */
html[data-theme="dark"] button:not(.primary):not(.save-search):not(.danger):not(.featured-badge),
html[data-theme="dark"] .close,
html[data-theme="dark"] .results-heading select,
html[data-theme="dark"] .view-toggle button,
html[data-theme="dark"] .map-controls button,
html[data-theme="dark"] .osm-controls button,
html[data-theme="dark"] .basemap-control select,
html[data-theme="dark"] .rental-owner-calendar-nav button{
  background:var(--theme-card-3)!important;color:#e5e7eb!important;border-color:#475569!important;
}
html[data-theme="dark"] button:hover:not(:disabled){border-color:#64748b}
html[data-theme="dark"] .close{box-shadow:0 2px 12px rgba(0,0,0,.5)}

/* VIP / featured properties: keep gold identity on dark surfaces. */
html[data-theme="dark"] .featured-homes-section{background:linear-gradient(180deg,#17170f,#111827)!important;border-color:#9a7414!important;color:#f8fafc!important}
html[data-theme="dark"] .featured-property-card{background:#172033!important;border-color:#725a1c!important;color:#f8fafc!important}
html[data-theme="dark"] .featured-property-body{background:#172033!important;color:#f8fafc!important}
html[data-theme="dark"] .featured-property-body strong,html[data-theme="dark"] .featured-property-body span{color:#f1f5f9!important}
html[data-theme="dark"] .featured-property-body small{color:#e7c45c!important}

/* Listing detail and all nested listing cards. */
html[data-theme="dark"] .gallery,html[data-theme="dark"] .detail-body{background:var(--theme-card)!important;color:#e5e7eb!important}
html[data-theme="dark"] .detail-address,html[data-theme="dark"] .detail-description{color:#cbd5e1!important}
html[data-theme="dark"] .detail-parcel{background:#172554!important;color:#dbeafe!important;border-left-color:#3b82f6!important}
html[data-theme="dark"] .estimate-explainer,
html[data-theme="dark"] .parcel-valuation-card,
html[data-theme="dark"] .parcel-price-projections>div,
html[data-theme="dark"] .parcel-stats-summary>div{background:var(--theme-card-2)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .daily-rental-box,
html[data-theme="dark"] .daily-rental-reviews,
html[data-theme="dark"] .rental-review-panel,
html[data-theme="dark"] .rental-price-summary,
html[data-theme="dark"] .report-listing-action{background:var(--theme-card-2)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .daily-rental-box p,html[data-theme="dark"] .daily-rental-review-list p{color:#cbd5e1!important}
html[data-theme="dark"] .rental-cal-day{background:var(--theme-card-2)!important;color:#e5e7eb!important;border-color:#475569!important}
html[data-theme="dark"] .rental-cal-day.blocked{background:#252b36!important;color:#94a3b8!important}
html[data-theme="dark"] .danger-outline{background:#29181b!important;color:#fda4af!important;border-color:#7f1d1d!important}

/* Messages: sidebar, thread, composer, bubbles, attachments and empty states. */
html[data-theme="dark"] .messages-shell,
html[data-theme="dark"] .messages-sidebar,
html[data-theme="dark"] .messages-sidebar-head,
html[data-theme="dark"] .messages-thread-panel,
html[data-theme="dark"] .message-thread-heading,
html[data-theme="dark"] .conversation-list,
html[data-theme="dark"] .message-thread,
html[data-theme="dark"] .message-reply-form,
html[data-theme="dark"] .message-composer-footer{background:var(--theme-card)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .conversation-item{background:transparent!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .conversation-item:hover,html[data-theme="dark"] .conversation-item.active{background:var(--theme-card-2)!important}
html[data-theme="dark"] .message-bubble,html[data-theme="dark"] .message-item>div,html[data-theme="dark"] .message-attachment-card{background:var(--theme-card-2)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .message-item.mine .message-bubble,html[data-theme="dark"] .message-bubble.mine{background:#1d4ed8!important;color:#fff!important}

/* Schools: search/results, ratings, reviews and admin editor. */
html[data-theme="dark"] .school-dialog{background:var(--theme-card)!important;color:#e5e7eb!important}
html[data-theme="dark"] .school-search-item,html[data-theme="dark"] .nearby-school-item{background:var(--theme-card)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .school-search-item:hover,html[data-theme="dark"] .nearby-school-item:hover{background:var(--theme-card-2)!important}
html[data-theme="dark"] .school-search-item small,html[data-theme="dark"] .nearby-school-item span,html[data-theme="dark"] .nearby-schools-content>small{color:#aab4c3!important}
html[data-theme="dark"] .school-reviews article,html[data-theme="dark"] .school-admin-editor{border-color:var(--theme-border)!important}
html[data-theme="dark"] #schoolReviewForm,html[data-theme="dark"] #schoolReviewForm label{color:#e5e7eb!important}
html[data-theme="dark"] .education-layer-toggle,html[data-theme="dark"] .education-map-marker{background:var(--theme-card-2)!important;color:#c4b5fd!important;border-color:#7c3aed!important}

/* Neighborhood dialogs/cards/layer menu. */
html[data-theme="dark"] .neighborhood-stat,html[data-theme="dark"] .neighborhood-places-panel,html[data-theme="dark"] .neighborhood-score-card,html[data-theme="dark"] .neighborhood-score-detail{background:var(--theme-card-2)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .neighborhood-places-head,html[data-theme="dark"] .neighborhood-place-row,html[data-theme="dark"] .neighborhood-score-row{border-color:var(--theme-border)!important}
html[data-theme="dark"] .neighborhood-places-close{background:var(--theme-card-3)!important;color:#e5e7eb!important}
html[data-theme="dark"] .neighborhood-score-big span{color:#e5e7eb!important}
html[data-theme="dark"] #propertyMap .neighborhood-layer-options{background:var(--theme-card)!important;color:#e5e7eb!important;border-color:#475569!important}
html[data-theme="dark"] #propertyMap .neighborhood-layer-options label:hover{background:var(--theme-card-2)!important}

/* Rental records, owner calendar, booking and monetization portals. */
html[data-theme="dark"] .rental-records-list-panel,html[data-theme="dark"] #rentalRecordDetail,html[data-theme="dark"] .rental-inline-messages,html[data-theme="dark"] .rental-inline-messages-head,html[data-theme="dark"] .rental-inline-message-form,html[data-theme="dark"] .rental-owner-selection,html[data-theme="dark"] .daily-rental-monetization-choices,html[data-theme="dark"] .daily-rental-credit-panel{background:var(--theme-card-2)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .rental-record-card,html[data-theme="dark"] .rental-record-item,html[data-theme="dark"] .rental-inline-message>div,html[data-theme="dark"] .owner-cal-day{background:var(--theme-card)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .owner-cal-day.available{background:#10271c!important;border-color:#166534!important}html[data-theme="dark"] .owner-cal-day.custom{background:#12233f!important;border-color:#1d4ed8!important}html[data-theme="dark"] .owner-cal-day.blocked{background:#321b20!important;border-color:#991b1b!important}html[data-theme="dark"] .owner-cal-day.booked{background:#252f3d!important;border-color:#475569!important}

/* Reports, payments, admin cards and account surfaces. */
html[data-theme="dark"] .listing-reports-list,html[data-theme="dark"] .report-upload-box,html[data-theme="dark"] .payment-external-fields,html[data-theme="dark"] .payment-user-summary{background:var(--theme-card-2)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .listing-report-card,html[data-theme="dark"] .payment-routing-panel,html[data-theme="dark"] .payment-route-card,html[data-theme="dark"] .user-credit-grants,html[data-theme="dark"] .rental-admin-card,html[data-theme="dark"] .rental-admin-technical{background:var(--theme-card)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .listing-report-docs a{background:#172554!important;color:#93c5fd!important}
html[data-theme="dark"] .payment-routing-order{background:#172554!important;color:#bfdbfe!important}
html[data-theme="dark"] .account-toast{background:var(--theme-card-3)!important;color:#f8fafc!important;border:1px solid #475569!important}

/* AI support popup. */
html[data-theme="dark"] .ai-support-head,html[data-theme="dark"] .ai-support-form,html[data-theme="dark"] .ai-support-foot{background:var(--theme-card)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .ai-support-messages{background:#0f172a!important}
html[data-theme="dark"] .ai-support-bubble{background:var(--theme-card-2)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] .ai-support-row.mine .ai-support-bubble{background:#1d4ed8!important;color:#fff!important;border-color:#2563eb!important}
html[data-theme="dark"] .ai-support-close{background:var(--theme-card-3)!important;color:#e5e7eb!important}

/* Popup/filter panels and generic form surfaces. */
html[data-theme="dark"] #pricePanel,html[data-theme="dark"] #builtYearPanel,html[data-theme="dark"] #datesFilterPanel,html[data-theme="dark"] .filter-panel,html[data-theme="dark"] .dropdown-menu,html[data-theme="dark"] .popover,html[data-theme="dark"] .tooltip-panel{background:var(--theme-card)!important;color:#e5e7eb!important;border-color:var(--theme-border)!important}
html[data-theme="dark"] hr{border-color:var(--theme-border)!important}
html[data-theme="dark"] table,html[data-theme="dark"] th,html[data-theme="dark"] td{border-color:var(--theme-border)!important;color:#e5e7eb}

/* 2026-10-04: compact iSell property price markers (Zillow-inspired map density, original iSell styling). */
#propertyMap .osm-price-marker{
  min-width:52px;height:28px;padding:0 9px;border:1px solid rgba(255,255,255,.96);border-radius:14px;
  background:#1264e3;color:#fff;box-shadow:0 2px 6px rgba(15,23,42,.28);
  font-size:11px;font-weight:900;line-height:26px;letter-spacing:-.15px;overflow:visible;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease;
}
#propertyMap .osm-price-marker::after{
  content:"";position:absolute;left:50%;bottom:-4px;width:7px;height:7px;
  background:inherit;border-right:1px solid rgba(255,255,255,.96);border-bottom:1px solid rgba(255,255,255,.96);
  transform:translateX(-50%) rotate(45deg);border-radius:0 0 2px 0;z-index:-1;
}
#propertyMap .osm-price-marker:hover,#propertyMap .osm-price-marker.active{
  background:#0b4fb9;color:#fff;border-color:#fff;box-shadow:0 3px 10px rgba(15,23,42,.38);z-index:12;
}
#propertyMap .osm-price-marker.active{transform:translate(-50%,-50%) scale(1.12)!important}
#propertyMap .osm-price-marker.rental-price-marker{background:#7138b8;color:#fff;border-color:#fff}
#propertyMap .osm-price-marker.rental-price-marker:hover,#propertyMap .osm-price-marker.rental-price-marker.active{background:#552590;color:#fff;border-color:#fff}
#propertyMap .osm-price-marker.vip-price-marker{
  background:#b77900;color:#fff;border-color:#ffe08a;
  box-shadow:0 0 0 2px rgba(255,197,43,.55),0 2px 7px rgba(15,23,42,.32);z-index:8;
}
#propertyMap .osm-price-marker.vip-price-marker::after{border-color:#ffe08a}
#propertyMap .osm-price-marker.vip-price-marker:hover,#propertyMap .osm-price-marker.vip-price-marker.active{
  background:#946200;border-color:#fff1bd;box-shadow:0 0 0 3px rgba(255,197,43,.68),0 4px 11px rgba(15,23,42,.38);z-index:14;
}
html[data-theme="dark"] #propertyMap .osm-price-marker{border-color:#dbeafe;box-shadow:0 2px 7px rgba(0,0,0,.48)}
html[data-theme="dark"] #propertyMap .osm-price-marker::after{border-color:#dbeafe}
html[data-theme="dark"] #propertyMap .osm-price-marker.rental-price-marker{border-color:#eadcff}
html[data-theme="dark"] #propertyMap .osm-price-marker.vip-price-marker{border-color:#ffe08a}
@media(max-width:767px){
  #propertyMap .osm-price-marker{min-width:48px;height:27px;padding:0 8px;border-radius:14px;font-size:10.5px;line-height:25px}
}

/* 2026-10-04: map layer dark-mode + transparent neighborhood amenities */
html[data-theme="dark"] #propertyMap .basemap-control,
html[data-theme="dark"] #propertyMap .basemap-control select,
html[data-theme="dark"] #propertyMap .neighborhood-layer-options{
  background:#111827!important;
  color:#f8fafc!important;
  border-color:#475569!important;
  box-shadow:0 4px 14px rgba(0,0,0,.42)!important;
}
html[data-theme="dark"] #propertyMap .basemap-control label,
html[data-theme="dark"] #propertyMap .neighborhood-layer-menu summary,
html[data-theme="dark"] #propertyMap .neighborhood-layer-options label{color:#f8fafc!important}
html[data-theme="dark"] #propertyMap .neighborhood-layer-options label:hover{background:#1e293b!important}
html[data-theme="dark"] #propertyMap .basemap-control select option{background:#111827;color:#f8fafc}

/* POIs float directly over the map: no category tile/label box in either theme. */
#propertyMap .neighborhood-map-marker,
#propertyMap .neighborhood-map-marker:hover,
#propertyMap .neighborhood-map-marker:focus,
#propertyMap .neighborhood-map-marker:focus-visible,
#propertyMap .neighborhood-map-marker-icon,
#propertyMap .neighborhood-map-marker-name{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
}
#propertyMap .neighborhood-map-marker-name{
  padding:0!important;
  color:#fff!important;
  text-shadow:-1px -1px 1px rgba(0,0,0,.9),1px -1px 1px rgba(0,0,0,.9),-1px 1px 1px rgba(0,0,0,.9),1px 1px 1px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.95)!important;
}
#propertyMap .neighborhood-map-marker-icon{
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 2px rgba(0,0,0,.65));
}


/* 2026-10-04: listing activity card dark-mode completion */
html[data-theme="dark"] .listing-monthly-stats{background:var(--theme-card-2)!important;border-color:var(--theme-border)!important;color:#e5e7eb!important;box-shadow:none!important}
html[data-theme="dark"] .listing-monthly-stats>div{background:transparent!important;color:#e5e7eb!important}
html[data-theme="dark"] .listing-monthly-stats small{color:#aab4c3!important}
html[data-theme="dark"] .listing-monthly-stats strong{color:#f8fafc!important}
html[data-theme="light"] .listing-monthly-stats{background:#f8fafc;border-color:#dfe6ef;color:#101828}
/* iSell 3D terrain + height-aware buildings (MapLibre/OpenFreeMap) */
.isell-map-3d{position:absolute;inset:0;z-index:3;display:none;background:#dbe7ef}
.map-3d-active .isell-map-3d{display:block}
.map-3d-active .osm-tiles,.map-3d-active .osm-reference-tiles,.map-3d-active .napr-wms-tiles,.map-3d-active .napr-parcel-highlight,.map-3d-active .osm-education-markers,.map-3d-active .osm-neighborhood-markers,.map-3d-active .osm-markers,.map-3d-active>.osm-controls,.map-3d-active>.osm-attribution{visibility:hidden;pointer-events:none}
.map-3d-active .basemap-control,.map-3d-active .mobile-basemap-control{z-index:30}
.isell-3d-price-marker{appearance:none;border:2px solid #fff;border-radius:18px;background:#fff;color:#172033;box-shadow:0 2px 9px rgba(0,0,0,.35);padding:5px 9px;font:800 12px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:nowrap;cursor:pointer}
.isell-3d-price-marker:hover{background:#0b63ce;color:#fff;transform:scale(1.06)}
.isell-3d-price-marker.rental-price-marker{border-color:#8b5cf6}.isell-3d-price-marker.vip-price-marker{box-shadow:0 0 0 3px rgba(245,158,11,.5),0 3px 12px rgba(0,0,0,.35)}
@media(max-width:760px){.isell-3d-price-marker{font-size:11px;padding:4px 7px}.maplibregl-ctrl-bottom-right{bottom:52px}}

.isell-3d-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;max-width:360px;padding:14px 18px;border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 4px 20px rgba(0,0,0,.16);color:#243244;text-align:center;font:600 14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.isell-3d-error{border:1px solid #efb0b0;color:#8b1e1e}.isell-map-3d .maplibregl-map{width:100%;height:100%}
/* 3D map v4: dedicated MapLibre canvas host; terrain is non-critical/disabled. */
.isell-map-3d{overflow:hidden;contain:layout paint}
.isell-maplibre-host,.isell-maplibre-host.maplibregl-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;background:#eef2f5}
.isell-maplibre-host .maplibregl-canvas-container,.isell-maplibre-host canvas.maplibregl-canvas{width:100%;height:100%}
/* iSell Property Intelligence */
.property-intelligence{margin:18px 0;padding:18px;border:1px solid #dbe4ef;border-radius:16px;background:var(--theme-card,#fff)}.pi-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.pi-head h3{margin:0 0 4px}.pi-head p{margin:0;color:#64748b}.pi-badge{padding:7px 10px;border-radius:999px;background:#e2e8f0;font-weight:800;white-space:nowrap}.pi-badge.good{background:#dcfce7;color:#166534}.pi-badge.high{background:#fee2e2;color:#991b1b}.pi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.pi-grid>div,.pi-invest>div{padding:12px;border-radius:12px;background:#f8fafc}.pi-grid small,.pi-grid strong{display:block}.pi-grid strong{font-size:17px;margin-top:3px}.pi-details{margin-top:12px;border-top:1px solid #e2e8f0;padding-top:10px}.pi-details summary{cursor:pointer;font-weight:800}.pi-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}.pi-comp{display:grid;width:100%;grid-template-columns:1fr auto;text-align:left;gap:2px 8px;padding:9px;border:0;border-bottom:1px solid #e2e8f0;background:transparent}.pi-comp span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-comp small{grid-column:1/-1;color:#64748b}.pi-invest{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.pi-invest label{font-size:12px;color:#64748b}.pi-invest input{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:8px}.pi-history{display:flex;gap:8px;overflow:auto;padding-top:10px}.pi-history span{min-width:120px;padding:9px;background:#f8fafc;border-radius:10px}.pi-history b,.pi-history small{display:block}.pi-ai-search{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0}.pi-ai-search input{min-width:260px;flex:1;padding:9px 11px;border:1px solid #cbd5e1;border-radius:10px}.pi-ai-search button{padding:9px 12px;border-radius:10px}.pi-ai-search small{width:100%;color:#64748b}html[data-theme="dark"] .property-intelligence,html[data-theme="dark"] .pi-grid>div,html[data-theme="dark"] .pi-invest>div,html[data-theme="dark"] .pi-history span{background:#111827;color:#e5e7eb;border-color:#374151}@media(max-width:700px){.pi-grid{grid-template-columns:repeat(2,1fr)}.pi-columns,.pi-invest{grid-template-columns:1fr}.pi-ai-search input{min-width:0;width:100%}}
/* New Developments */
.dev-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dev-grid textarea,.dev-grid button{grid-column:1/-1}.dev-grid label{display:grid;gap:5px;font-size:13px}.development-list{display:grid;gap:14px;margin-top:16px}.development-card{border:1px solid #dfe5ec;border-radius:14px;padding:14px;background:#fff}.development-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.development-badge{font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px;background:#eef4ff}.development-metrics{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0;font-size:13px}.development-subforms{display:grid;grid-template-columns:1fr 1fr;gap:12px}.development-subforms form{display:grid;gap:8px;border-top:1px solid #eef1f5;padding-top:10px}.development-unit-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.development-unit-table th,.development-unit-table td{padding:7px;border-bottom:1px solid #eef1f5;text-align:left}.osm-development-marker,.isell-3d-development-marker{border:0;border-radius:12px;background:#172554;color:#fff;font-weight:800;padding:7px 10px;cursor:pointer;box-shadow:0 2px 8px #0003;white-space:nowrap}.osm-development-marker{position:absolute;z-index:9;transform:translate(-50%,-50%)}.isell-3d-development-marker:before,.osm-development-marker:before{content:'🏗';margin-right:5px}@media(max-width:700px){.dev-grid,.development-subforms{grid-template-columns:1fr}.development-unit-table{display:block;overflow-x:auto}}

/* Independent New Developments portal */
.development-portal-dialog{width:min(1180px,96vw);max-width:1180px;max-height:92vh;}
.development-portal-dialog .development-portal-shell{padding:24px;overflow:auto;max-height:88vh;}
.development-portal-dialog .development-portal-panel{display:block!important;padding:0;}
@media(max-width:720px){.development-portal-dialog{width:96vw}.development-portal-dialog .development-portal-shell{padding:14px}.development-portal-dialog .dev-grid{grid-template-columns:1fr}}

/* Public new-development listing cards + visitor detail portal */
.development-listing-card{border:1px solid #cbd5e1;position:relative;overflow:hidden}.development-listing-card .development-listing-image{height:190px;background:#e2e8f0;position:relative;cursor:pointer}.development-listing-card .development-listing-image img{width:100%;height:100%;object-fit:cover;display:block}.development-listing-card .development-listing-image.no-image{display:grid;place-items:center;font-size:52px}.development-listing-badge{position:absolute;left:10px;top:10px;background:#172554;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.development-listing-card .developer-link{border:0;background:none;padding:0;color:#1d4ed8;text-decoration:underline;cursor:pointer;font:inherit}.development-listing-card .dev-listing-stats{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0;font-size:13px}.development-listing-card .dev-listing-price{font-size:24px;font-weight:800}.development-listing-card .dev-view-button{width:100%;margin-top:10px}.development-detail-dialog{width:min(1120px,96vw);max-width:1120px;max-height:92vh}.development-detail-content{padding:24px;max-height:86vh;overflow:auto}.development-detail-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px}.development-detail-hero img{width:100%;height:360px;object-fit:cover;border-radius:16px;background:#e2e8f0}.development-detail-summary{display:grid;align-content:start;gap:10px}.development-detail-summary h2{margin:0}.development-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.development-detail-actions a,.development-detail-actions button{min-height:42px}.development-detail-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 12px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.development-detail-tabs button{border:0;background:#f1f5f9;border-radius:999px;padding:8px 12px;cursor:pointer}.development-detail-tabs button.active{background:#172554;color:#fff}.development-detail-panel.hidden{display:none}.development-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.development-plan-public{border:1px solid #e2e8f0;border-radius:12px;padding:12px}.development-plan-public img{width:100%;height:160px;object-fit:contain;background:#f8fafc;border-radius:8px}.development-company-box{border:1px solid #e2e8f0;border-radius:14px;padding:16px}.development-unit-public-table{width:100%;border-collapse:collapse}.development-unit-public-table th,.development-unit-public-table td{padding:9px;border-bottom:1px solid #e2e8f0;text-align:left}.dev-status-available{font-weight:700}.dev-status-reserved{opacity:.7}.dev-status-sold{opacity:.55}.development-company-projects{display:grid;gap:8px;margin-top:12px}.development-company-projects button{text-align:left;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer}@media(max-width:720px){.development-detail-hero{grid-template-columns:1fr}.development-detail-hero img{height:230px}.development-detail-content{padding:14px}.development-unit-public-table{display:block;overflow-x:auto}}
.development-manage-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.development-manage-actions button,.development-manage-actions select{min-height:38px}.osm-development-marker,.isell-3d-development-marker{display:flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px}.osm-development-marker img,.isell-3d-development-marker img{width:34px;height:34px;object-fit:cover;border-radius:50%}.osm-development-marker:before,.isell-3d-development-marker:before{content:none!important}


/* ==========================================================================
   2. MAP / MAP-TOOLS UI
   ========================================================================== */
/* IMPORTANT: propertyMap positioning is controlled by the main stylesheet. Do not override #propertyMap position/inset here. */
.map-tool-controls{position:absolute;left:12px;top:12px;z-index:60;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 120px)}.map-tool-controls button{display:flex;align-items:center;gap:6px;border:1px solid rgba(17,24,39,.15);background:rgba(255,255,255,.97);color:#111827;border-radius:9px;padding:8px 10px;font:700 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 2px 10px rgba(15,23,42,.12);cursor:pointer}.map-tool-controls button.active{background:#111827;color:#fff;border-color:#111827}.map-tool-result{position:absolute;left:12px;top:58px;z-index:59;width:min(340px,calc(100% - 24px));background:rgba(255,255,255,.98);color:#1f2937;border:1px solid rgba(17,24,39,.12);border-radius:11px;padding:11px 12px;box-shadow:0 8px 24px rgba(15,23,42,.16);font:13px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif}.map-tool-result.hidden{display:none}.map-tool-result strong{display:block;margin-bottom:7px}.map-tool-result>div{display:grid;grid-template-columns:88px 1fr;gap:7px;margin-top:5px}.map-tool-result>div>span{color:#667085}.map-tool-result>div>b{font-weight:700;overflow-wrap:anywhere}.map-tool-result small{display:block;color:#667085;margin-top:5px}.map-tool-result a{color:#175cd3;font-weight:700;text-decoration:none}.map-tool-result .map-measure-big{display:block;font-size:22px;font-weight:800}.map-measure-overlay{position:absolute;inset:0;z-index:45;width:100%;height:100%;pointer-events:none;overflow:visible}.map-ruler-line{fill:none;stroke:#111827;stroke-width:3;stroke-linecap:round;stroke-dasharray:8 5}.map-area-shape{fill:rgba(17,24,39,.16);stroke:#111827;stroke-width:3;stroke-linejoin:round}.map-measure-point{fill:#fff;stroke:#111827;stroke-width:3}.map-info-point{fill:#2563eb;stroke:#fff;stroke-width:3}.map-measure-label rect{fill:#111827;stroke:#fff;stroke-width:1}.map-measure-label text{fill:#fff;font:700 12px system-ui,-apple-system,"Segoe UI",sans-serif}#propertyMap.map-tool-active{cursor:crosshair}@media(max-width:720px){.map-tool-controls{left:8px;top:8px;gap:4px;max-width:calc(100% - 86px)}.map-tool-controls button{padding:8px}.map-tool-controls button span:last-child{display:none}.map-tool-result{left:8px;top:52px;width:min(320px,calc(100% - 16px));font-size:12px}}

/* Mobile map-tool responsiveness */
@media (max-width: 760px) {
  .map-tool-controls {
    left: 8px;
    right: 8px;
    top: 8px;
    z-index: 70;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    max-width: none;
    width: auto;
    pointer-events: auto;
  }

  .map-tool-controls button {
    min-width: 0;
    min-height: 44px;
    width: 100%;
    padding: 8px 6px;
    justify-content: center;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
  }

  .map-tool-controls button span:first-child {
    font-size: 18px;
    line-height: 1;
  }

  .map-tool-controls button span:last-child {
    display: inline;
    font-size: 11px;
    white-space: nowrap;
  }

  .map-tool-result {
    left: 8px;
    right: 8px;
    top: 62px;
    width: auto;
    max-width: none;
    box-sizing: border-box;
    z-index: 69;
    max-height: 42vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    pointer-events: auto;
  }

  .map-tool-result > div {
    grid-template-columns: 78px minmax(0,1fr);
  }

  .map-measure-overlay {
    pointer-events: none;
  }
}

/* Very narrow phones */
@media (max-width: 430px) {
  .map-tool-controls {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
  }

  .map-tool-controls button {
    min-height: 42px;
    padding: 7px 4px;
    border-radius: 8px;
  }

  .map-tool-controls button span:last-child {
    font-size: 10px;
  }

  .map-tool-result {
    top: 58px;
    font-size: 12px;
  }
}


/* Keep map tool controls tappable after pinch/zoom on mobile browsers */
.map-tool-controls{
  pointer-events:auto!important;
  isolation:isolate;
}
.map-tool-controls button{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  position:relative;
  z-index:1;
}
@media (max-width:760px){
  .map-tool-controls{
    z-index:80!important;
  }
  .map-tool-result{
    z-index:79!important;
  }
}


/* Two-finger pinch recovery: map controls must own their next tap independently
   of the map canvas gesture state. */
#propertyMap .map-tool-controls,
#propertyMap .map-tool-controls *,
#propertyMap .map-tool-result,
#propertyMap .map-tool-result *{
  touch-action:manipulation!important;
  -webkit-user-select:none;
  user-select:none;
}


/* Listing markers must not break two-finger map gestures on touch devices. */
@media (pointer:coarse) {
  #propertyMap .osm-price-marker {
    touch-action:none!important;
  }
}


/* Mobile interaction contract:
   - tap listing marker => listing details
   - drag anywhere (including over marker) => pan map
   - two-finger gesture anywhere (including over marker) => pinch zoom
   The JS map handler performs marker hit-testing for taps. */
@media (pointer:coarse) {
  #propertyMap .osm-price-marker {
    pointer-events:none!important;
    touch-action:none!important;
  }
}


/* Native map controls must remain independently tappable on mobile,
   including while Info/Ruler/Area is active and immediately after pinch zoom. */
#propertyMap .osm-controls,
#propertyMap .napr-layer-toggle,
#propertyMap .basemap-control{
  pointer-events:auto!important;
  z-index:95!important;
}
#propertyMap .osm-controls *,
#propertyMap .napr-layer-toggle *,
#propertyMap .basemap-control *{
  pointer-events:auto!important;
  touch-action:manipulation!important;
}


/* Mobile map-layer selector:
   preserve the browser's native select picker while isolating it from map gestures. */
#propertyMap .basemap-control,
#propertyMap .basemap-control select{
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
#propertyMap .basemap-control select{
  position:relative;
  z-index:2;
}


/* Reliable touch-first map layer selector for phones/tablets. */
.mobile-layer-picker{display:none}
@media (pointer:coarse), (max-width:760px){
  #propertyMap .basemap-control select{display:none!important}
  #propertyMap .basemap-control{
    overflow:visible!important;
    z-index:110!important;
  }
  #propertyMap .mobile-layer-picker{
    display:block;
    position:relative;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #propertyMap .mobile-layer-current{
    min-width:92px;
    min-height:36px;
    padding:6px 28px 6px 10px;
    border:1px solid #aeb4bc;
    border-radius:6px;
    background:#fff;
    color:#111827;
    font-size:12px;
    font-weight:800;
    text-align:left;
    position:relative;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #propertyMap .mobile-layer-current::after{
    content:"▾";
    position:absolute;
    right:9px;
    top:50%;
    transform:translateY(-50%);
  }
  #propertyMap .mobile-layer-menu{
    position:absolute;
    right:0;
    top:calc(100% + 5px);
    min-width:132px;
    padding:5px;
    background:#fff;
    border:1px solid #c8cdd4;
    border-radius:8px;
    box-shadow:0 7px 22px rgba(0,0,0,.22);
    z-index:130;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #propertyMap .mobile-layer-menu[hidden]{display:none!important}
  #propertyMap .mobile-layer-option{
    display:block;
    width:100%;
    min-height:38px;
    padding:7px 10px;
    border:0;
    border-radius:5px;
    background:#fff;
    color:#111827;
    text-align:left;
    font-size:13px;
    font-weight:700;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #propertyMap .mobile-layer-option.active{
    background:#eef2f7;
    font-weight:900;
  }
}


/* Keep the custom layer dropdown visible and above the map when open. */
@media (pointer:coarse), (max-width:760px){
  #propertyMap .basemap-control,
  #propertyMap .mobile-layer-picker{
    overflow:visible!important;
  }
  #propertyMap .mobile-layer-menu:not([hidden]){
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* Mobile map layer selector: standalone sibling, not nested inside LABEL. */
.mobile-basemap-control{display:none}
@media (pointer:coarse), (max-width:760px){
  #propertyMap .basemap-control{display:none!important}
  #propertyMap .mobile-basemap-control{
    display:block!important;
    position:absolute;
    right:12px;
    top:142px;
    z-index:180!important;
    overflow:visible!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #propertyMap .mobile-basemap-current{
    display:block;
    min-width:108px;
    min-height:40px;
    padding:8px 30px 8px 11px;
    border:1px solid #aeb4bc;
    border-radius:7px;
    background:#fff;
    color:#111827;
    box-shadow:0 2px 8px rgba(0,0,0,.18);
    font-size:12px;
    font-weight:800;
    text-align:left;
    position:relative;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #propertyMap .mobile-basemap-current::after{
    content:"▾";
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
  }
  #propertyMap .mobile-basemap-menu{
    position:absolute;
    right:0;
    top:calc(100% + 6px);
    width:148px;
    padding:6px;
    border:1px solid #c8cdd4;
    border-radius:9px;
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.25);
    z-index:190!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #propertyMap .mobile-basemap-menu[hidden]{display:none!important}
  #propertyMap .mobile-basemap-control.open .mobile-basemap-menu{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  #propertyMap .mobile-basemap-option{
    display:block;
    width:100%;
    min-height:42px;
    padding:8px 10px;
    border:0;
    border-radius:6px;
    background:#fff;
    color:#111827;
    font-size:13px;
    font-weight:700;
    text-align:left;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  #propertyMap .mobile-basemap-option.active{
    background:#eef2f7;
    font-weight:900;
  }
}

/* Sponsored video mobile playback */
.sponsored-video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#000;
}
.sponsored-video.autoplay-blocked{
  pointer-events:auto;
}


/* Compact mobile Map selector with Parcel folded into the same menu.
   Desktop map selector / parcel checkbox remain unchanged. */
@media (pointer:coarse), (max-width:760px){
  /* Parcel is now inside the layer menu on mobile. */
  #propertyMap .napr-layer-toggle{
    display:none!important;
  }

  /* Keep selector visible inside the short mobile map. */
  #propertyMap .mobile-basemap-control{
    display:block!important;
    right:10px!important;
    top:auto!important;
    bottom:10px!important;
    z-index:180!important;
    overflow:visible!important;
  }

  #propertyMap .mobile-basemap-current{
    min-width:94px!important;
    min-height:36px!important;
    padding:6px 27px 6px 9px!important;
    border-radius:7px!important;
    font-size:12px!important;
  }

  /* Open UPWARD so it never falls below the map window. */
  #propertyMap .mobile-basemap-menu{
    top:auto!important;
    bottom:calc(100% + 6px)!important;
    right:0!important;
    width:218px!important;
    max-width:calc(100vw - 24px)!important;
    padding:5px!important;
    border-radius:9px!important;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px;
    z-index:190!important;
  }

  #propertyMap .mobile-basemap-menu[hidden]{
    display:none!important;
  }

  #propertyMap .mobile-basemap-control.open .mobile-basemap-menu{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
  }

  /* Parcel consumes one full row above the map-type choices. */
  #propertyMap .mobile-parcel-option{
    grid-column:1 / -1;
    width:100%;
    min-height:34px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:6px 9px;
    border:0;
    border-radius:6px;
    background:#fff;
    color:#111827;
    font-size:12px;
    font-weight:800;
    text-align:left;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  #propertyMap .mobile-parcel-option.active{
    background:#eef6ff;
  }

  #propertyMap .mobile-parcel-check{
    display:inline-flex;
    width:18px;
    height:18px;
    align-items:center;
    justify-content:center;
    border:1px solid #98a2b3;
    border-radius:5px;
    background:#fff;
    color:#0b66ff;
    font-size:14px;
    line-height:1;
    flex:0 0 18px;
  }

  #propertyMap .mobile-parcel-option.active .mobile-parcel-check{
    border-color:#0b66ff;
  }

  #propertyMap .mobile-basemap-option{
    min-height:34px!important;
    padding:6px 8px!important;
    font-size:12px!important;
    white-space:nowrap;
  }
}


/* Desktop/Windows: use the same compact Layers selector as mobile.
   Parcel lives inside the Layers menu together with the basemap choices. */
@media (min-width:761px) and (pointer:fine){
  #propertyMap .napr-layer-toggle,
  #propertyMap .basemap-control{
    display:none!important;
  }

  #propertyMap .mobile-basemap-control{
    display:block!important;
    position:absolute;
    right:12px!important;
    top:94px!important;
    bottom:auto!important;
    z-index:180!important;
    overflow:visible!important;
    pointer-events:auto!important;
  }

  #propertyMap .mobile-basemap-current{
    display:block!important;
    min-width:104px!important;
    min-height:38px!important;
    padding:7px 29px 7px 10px!important;
    border:1px solid #aeb4bc!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#111827!important;
    box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
    font-size:12px!important;
    font-weight:800!important;
    text-align:left!important;
    position:relative!important;
    cursor:pointer!important;
  }

  #propertyMap .mobile-basemap-current::after{
    content:"▾";
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
  }

  #propertyMap .mobile-basemap-menu{
    position:absolute!important;
    right:0!important;
    top:calc(100% + 6px)!important;
    bottom:auto!important;
    width:218px!important;
    padding:5px!important;
    border:1px solid #c8cdd4!important;
    border-radius:9px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(0,0,0,.25)!important;
    grid-template-columns:1fr 1fr!important;
    gap:4px!important;
    z-index:190!important;
    pointer-events:auto!important;
  }

  #propertyMap .mobile-basemap-menu[hidden]{
    display:none!important;
  }

  #propertyMap .mobile-basemap-control.open .mobile-basemap-menu{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
  }

  #propertyMap .mobile-parcel-option{
    grid-column:1 / -1!important;
    width:100%!important;
    min-height:34px!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:6px 9px!important;
    border:0!important;
    border-radius:6px!important;
    background:#fff!important;
    color:#111827!important;
    font-size:12px!important;
    font-weight:800!important;
    text-align:left!important;
    cursor:pointer!important;
  }

  #propertyMap .mobile-parcel-option.active{
    background:#eef6ff!important;
  }

  #propertyMap .mobile-parcel-check{
    display:inline-flex!important;
    width:18px!important;
    height:18px!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #98a2b3!important;
    border-radius:5px!important;
    background:#fff!important;
    color:#0b66ff!important;
    font-size:14px!important;
    line-height:1!important;
    flex:0 0 18px!important;
  }

  #propertyMap .mobile-parcel-option.active .mobile-parcel-check{
    border-color:#0b66ff!important;
  }

  #propertyMap .mobile-basemap-option{
    display:block!important;
    width:100%!important;
    min-height:34px!important;
    padding:6px 8px!important;
    border:0!important;
    border-radius:6px!important;
    background:#fff!important;
    color:#111827!important;
    font-size:12px!important;
    font-weight:700!important;
    text-align:left!important;
    white-space:nowrap!important;
    cursor:pointer!important;
  }

  #propertyMap .mobile-basemap-option:hover,
  #propertyMap .mobile-basemap-option.active{
    background:#eef2f7!important;
    font-weight:900!important;
  }
}


/* Compact single-button map tools selector */
#propertyMap .map-tool-controls.compact-map-tools{
  position:absolute!important;
  left:10px!important;
  top:10px!important;
  right:auto!important;
  width:auto!important;
  max-width:none!important;
  display:block!important;
  z-index:100!important;
}

#propertyMap .compact-map-tools .map-tools-toggle{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:auto!important;
  min-width:84px!important;
  min-height:40px!important;
  padding:8px 11px!important;
  justify-content:center!important;
  border-radius:9px!important;
}
#propertyMap .compact-map-tools .map-tools-toggle.active{
  background:#111827!important;
  color:#fff!important;
}
#propertyMap .compact-map-tools .map-tools-chevron{
  font-size:10px!important;
  margin-left:2px!important;
}

#propertyMap .compact-map-tools .map-tools-menu{
  position:absolute!important;
  left:0!important;
  top:calc(100% + 5px)!important;
  width:132px!important;
  padding:5px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(17,24,39,.14)!important;
  border-radius:10px!important;
  box-shadow:0 9px 24px rgba(15,23,42,.18)!important;
  z-index:101!important;
}
#propertyMap .compact-map-tools .map-tools-menu.hidden{
  display:none!important;
}
#propertyMap .compact-map-tools .map-tools-menu button{
  width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  padding:7px 9px!important;
  box-shadow:none!important;
  border-radius:7px!important;
}
#propertyMap .compact-map-tools .map-tools-menu button span:last-child{
  display:inline!important;
}
#propertyMap .compact-map-tools .map-tools-menu button.active{
  background:#111827!important;
  color:#fff!important;
}

#propertyMap .map-tool-result{
  top:58px!important;
}

@media(max-width:760px){
  #propertyMap .map-tool-controls.compact-map-tools{
    left:8px!important;
    top:8px!important;
  }
  #propertyMap .compact-map-tools .map-tools-toggle{
    min-width:78px!important;
    min-height:38px!important;
    padding:7px 9px!important;
  }
  #propertyMap .compact-map-tools .map-tools-toggle span:last-child{
    display:inline!important;
  }
  #propertyMap .compact-map-tools .map-tools-menu{
    width:122px!important;
  }
  #propertyMap .map-tool-result{
    top:54px!important;
  }
}

/* Compact neighborhood category controls in the map Layers menu. */
#propertyMap .mobile-neighborhood-option,#propertyMap .mobile-education-option{min-height:28px!important;padding:3px 5px!important;font-size:10px!important;line-height:1.05!important;gap:3px!important;border-radius:5px!important}
#propertyMap .mobile-neighborhood-option>span:last-child,#propertyMap .mobile-education-option>span:last-child{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#propertyMap .mobile-neighborhood-check,#propertyMap .mobile-education-check{min-width:11px!important;width:11px!important;font-size:10px!important}
@media (min-width:761px) and (pointer:fine){#propertyMap .mobile-basemap-menu{width:190px!important;padding:4px!important;gap:2px!important}#propertyMap .mobile-neighborhood-option,#propertyMap .mobile-education-option{min-height:27px!important;padding:3px 4px!important;font-size:10px!important}}
@media (pointer:coarse), (max-width:760px){#propertyMap .mobile-basemap-menu{width:138px!important;padding:4px!important}#propertyMap .mobile-neighborhood-option,#propertyMap .mobile-education-option{min-height:27px!important;padding:3px 4px!important;font-size:10px!important}}

/* 2026-10-03: extra-compact Layers panel, optimized for phones. */
@media (pointer:coarse), (max-width:760px){
  #propertyMap .mobile-basemap-control{right:7px!important;top:54px!important}
  #propertyMap .mobile-basemap-current{min-width:92px!important;min-height:32px!important;height:32px!important;padding:4px 24px 4px 8px!important;font-size:11px!important;border-radius:7px!important}
  #propertyMap .mobile-basemap-current::after{right:8px!important;font-size:10px!important}
  #propertyMap .mobile-basemap-menu{width:196px!important;padding:3px!important;gap:2px!important;border-radius:8px!important;top:calc(100% + 4px)!important;grid-template-columns:1fr 1fr!important}
  #propertyMap .mobile-neighborhood-option,#propertyMap .mobile-education-option{min-width:0!important;width:100%!important;min-height:23px!important;height:23px!important;padding:1px 4px!important;font-size:9px!important;line-height:1!important;gap:2px!important;border-radius:4px!important}
  #propertyMap .mobile-neighborhood-check,#propertyMap .mobile-education-check{min-width:8px!important;width:8px!important;font-size:8px!important;line-height:1!important}
  #propertyMap .mobile-neighborhood-option>span:last-child,#propertyMap .mobile-education-option>span:last-child{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #propertyMap .mobile-parcel-option{grid-column:1/-1!important;min-height:25px!important;height:25px!important;padding:2px 6px!important;gap:5px!important;font-size:10px!important;border-radius:4px!important}
  #propertyMap .mobile-parcel-check{width:15px!important;height:15px!important;flex-basis:15px!important;font-size:11px!important;border-radius:4px!important}
  #propertyMap .mobile-basemap-option{min-height:25px!important;height:25px!important;padding:2px 6px!important;font-size:10px!important;border-radius:4px!important}
}
@media (max-width:380px){
  #propertyMap .mobile-basemap-menu{width:184px!important}
  #propertyMap .mobile-neighborhood-option,#propertyMap .mobile-education-option{font-size:8.5px!important;padding-left:3px!important;padding-right:3px!important}
}

/* 2026-10-03 mobile control-position fix.
   Keep the closed Layers button beside (never underneath) the zoom control.
   The menu expands independently below it and scrolls if the map is short. */
@media (pointer:coarse), (max-width:760px){
  #propertyMap .mobile-basemap-control{
    right:58px!important;
    top:12px!important;
    bottom:auto!important;
    z-index:220!important;
  }
  #propertyMap .mobile-basemap-current{
    min-width:92px!important;
    min-height:36px!important;
    height:36px!important;
    padding:5px 25px 5px 9px!important;
    line-height:1.15!important;
    position:relative!important;
    z-index:222!important;
  }
  #propertyMap .mobile-basemap-menu{
    top:calc(100% + 5px)!important;
    bottom:auto!important;
    right:0!important;
    width:210px!important;
    max-width:calc(100vw - 20px)!important;
    max-height:min(330px, calc(100vh - 105px))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    z-index:221!important;
  }
  #propertyMap .osm-controls{
    z-index:210!important;
  }
}

/* 2026-10-03 desktop layer panel fit fix.
   Desktop only: give the two POI columns enough room for full labels.
   Mobile sizing/positioning intentionally unchanged. */
@media (min-width:761px) and (pointer:fine){
  #propertyMap .mobile-basemap-menu{
    width:252px!important;
    box-sizing:border-box!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:4px!important;
    row-gap:3px!important;
    padding:5px!important;
  }
  #propertyMap .mobile-neighborhood-option,
  #propertyMap .mobile-education-option{
    min-width:0!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding-left:4px!important;
    padding-right:4px!important;
    font-size:10px!important;
  }
  #propertyMap .mobile-neighborhood-option>span:last-child,
  #propertyMap .mobile-education-option>span:last-child{
    min-width:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
}

/* 2026-10-04: mobile/touch layer selector follows site dark mode. */
html[data-theme="dark"] #propertyMap .mobile-layer-current,
html[data-theme="dark"] #propertyMap .mobile-layer-menu,
html[data-theme="dark"] #propertyMap .mobile-basemap-current,
html[data-theme="dark"] #propertyMap .mobile-basemap-menu,
html[data-theme="dark"] #propertyMap .mobile-basemap-option{
  background:#111827!important;
  color:#f8fafc!important;
  border-color:#475569!important;
}
html[data-theme="dark"] #propertyMap .mobile-layer-menu,
html[data-theme="dark"] #propertyMap .mobile-basemap-menu{box-shadow:0 10px 28px rgba(0,0,0,.48)!important}
html[data-theme="dark"] #propertyMap .mobile-basemap-option:hover,
html[data-theme="dark"] #propertyMap .mobile-basemap-option.active{background:#1e293b!important;color:#fff!important}


/* ==========================================================================
   3. DESIGNER OVERRIDE WORKSPACE
   Add future designer changes below. Keeping overrides here makes it easy to
   share just static/isell-theme.css and merge a redesigned version later.
   ========================================================================== */

/* --- BRAND / TYPOGRAPHY -------------------------------------------------- */

/* --- HEADER / NAVIGATION ------------------------------------------------ */

/* --- SEARCH / FILTERS --------------------------------------------------- */

/* --- LISTING CARDS ------------------------------------------------------ */

/* --- NEW DEVELOPMENTS --------------------------------------------------- */

/* --- MAP / MAP MARKERS / CONTROLS -------------------------------------- */

/* --- PROPERTY DETAILS / 3D / MEDIA ------------------------------------- */

/* --- SERVICES / SCHOOLS / PARCEL / PUBLIC SEO PAGES -------------------- */

/* --- PROPERTY HUB / USER PORTALS --------------------------------------- */

/* --- ADMIN -------------------------------------------------------------- */

/* --- MOBILE / RESPONSIVE ------------------------------------------------ */

/* New development floor-plan previews and overlapping map selector */
.development-floorplan-inset{position:absolute;right:10px;bottom:10px;width:92px;height:72px;border:2px solid #fff;border-radius:10px;background:#fff;box-shadow:0 3px 12px #0004;overflow:hidden}.development-floorplan-inset img{width:100%!important;height:100%!important;object-fit:contain!important;background:#fff}.development-map-chooser{position:fixed;z-index:100000;width:min(330px,calc(100vw - 20px));max-height:min(420px,70vh);overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 12px 36px #0004;padding:10px;display:grid;gap:7px}.development-map-chooser>strong{padding:4px 6px}.development-map-chooser button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:9px;cursor:pointer}.development-map-chooser button:hover{background:#f8fafc}.development-map-chooser button>span:last-child{display:grid;gap:2px}.development-map-chooser small{color:#64748b}.development-overlap-marker{outline:2px solid #fff;box-shadow:0 0 0 2px #172554,0 3px 12px #0004!important}

/* Development marker click reliability across all 2D basemaps, including Hybrid. */
#propertyMap .osm-development-marker{pointer-events:auto!important;cursor:pointer!important;z-index:15!important}
#propertyMap .osm-reference-tiles{pointer-events:none!important;z-index:3!important}
#propertyMap .osm-markers{z-index:10!important}

/* New Development: clickable blueprint thumbnails */
.dev-blueprint-thumb-link{display:inline-flex;align-items:center;justify-content:center;width:72px;height:52px;border:1px solid #d7deea;border-radius:7px;overflow:hidden;background:#fff;vertical-align:middle;cursor:zoom-in}
.dev-blueprint-thumb{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.dev-blueprint-thumb-link:hover{box-shadow:0 2px 10px rgba(0,0,0,.16);transform:translateY(-1px)}
@media(max-width:700px){.dev-blueprint-thumb-link{width:58px;height:44px}}

/* --- NEW DEVELOPMENT MANAGEMENT PORTAL — polished dashboard UI ---------- */
.development-portal-dialog .development-portal-shell{background:#f6f8fc}
.development-portal-dialog .development-portal-panel>h2{font-size:26px;margin:0 0 16px;color:#0f172a}
.development-list{gap:20px}
.development-card{border:1px solid #e2e8f0;border-radius:20px;padding:20px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.08)}
.development-card-head{padding-bottom:14px;border-bottom:1px solid #eef2f7;align-items:center}
.development-card-head strong{font-size:21px;color:#0f172a}.development-card-head>div>div{color:#64748b;margin-top:4px}
.development-badge{padding:7px 12px;background:#eef4ff;color:#1e3a8a;border:1px solid #dbe7ff}
.development-metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:14px 0}
.development-metrics span{background:#f8fafc;border:1px solid #e7edf4;border-radius:12px;padding:10px 12px;font-weight:650;color:#334155}
.development-manage-actions{display:grid;grid-template-columns:repeat(3,max-content) 1fr;gap:8px;align-items:start;margin:14px 0 18px}
.development-manage-actions>button{height:40px;border-radius:10px;padding:0 15px;border:1px solid #d7dee8;background:#fff;color:#334155;font-weight:700;cursor:pointer}
.development-manage-actions>button:hover{background:#f8fafc;border-color:#aeb9c8}
.development-manage-actions>button[data-dev-edit]{background:#172554;color:#fff;border-color:#172554}
.development-manage-actions>button[data-dev-delete]{color:#b42318;border-color:#f1c7c3;background:#fff8f7}
.development-paid-actions{grid-column:1/-1;margin-top:6px;padding:16px;border-radius:16px;border:1px solid #dbe5f1;background:linear-gradient(135deg,#f8fbff,#f4f7ff);display:grid;grid-template-columns:150px repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}
.development-paid-actions>span{grid-column:1/-1;font-size:15px;font-weight:800;color:#172554;margin-bottom:2px}
.development-subscription-group{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:13px;min-width:0}
.development-subscription-group strong{grid-column:1/-1;font-size:14px;color:#0f172a}
.development-subscription-group button{min-height:38px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;padding:7px 9px;font-weight:650;cursor:pointer;white-space:normal}
.development-subscription-group button[data-dev-pay]{background:#172554;color:#fff;border-color:#172554}.development-subscription-group button:hover{filter:brightness(.97)}
.development-subforms{gap:18px;align-items:start}.development-subforms form{background:#fbfcfe;border:1px solid #e3e9f1;border-radius:16px;padding:16px;gap:10px}
.development-subforms form>strong{font-size:17px;color:#0f172a;margin-bottom:2px}.development-subforms input,.development-subforms select{min-height:42px;border:1px solid #cbd5e1;border-radius:9px;padding:8px 10px;background:#fff;width:100%;box-sizing:border-box}
.development-subforms form>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.development-subforms .secondary-button{min-height:42px;border:0;border-radius:10px;background:#172554;color:#fff;font-weight:800;cursor:pointer}.development-subforms .secondary-button[data-floorplan-cancel],.development-subforms .secondary-button[data-unit-cancel]{background:#eef2f7;color:#334155;border:1px solid #d7dee8}
.development-floorplan-table,.development-unit-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:14px;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}
.development-floorplan-table th,.development-unit-table th{background:#f8fafc;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:10px;text-align:left}
.development-floorplan-table td,.development-unit-table td{padding:10px;border-top:1px solid #edf1f5;vertical-align:middle}
.development-floorplan-table td:last-child,.development-unit-table td:last-child{white-space:nowrap}
.development-floorplan-table td:last-child button,.development-unit-table td:last-child button{min-height:34px;border-radius:8px;padding:5px 10px;border:1px solid #cbd5e1;background:#fff;font-weight:650;cursor:pointer}
.development-floorplan-table td:last-child button:last-child,.development-unit-table td:last-child button:last-child{color:#b42318;background:#fff8f7;border-color:#f1c7c3}
.dev-blueprint-thumb{width:112px!important;height:72px!important;object-fit:contain!important;border-radius:9px;border:1px solid #e2e8f0;background:#fff}
@media(max-width:980px){.development-metrics{grid-template-columns:repeat(2,1fr)}.development-manage-actions{grid-template-columns:repeat(3,1fr)}.development-paid-actions{grid-template-columns:1fr}.development-subscription-group{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.development-card{padding:14px;border-radius:15px}.development-card-head{align-items:flex-start}.development-metrics{grid-template-columns:1fr 1fr}.development-manage-actions{grid-template-columns:1fr 1fr 1fr}.development-manage-actions>button{padding:0 8px}.development-subscription-group{grid-template-columns:1fr}.development-subforms form>div{grid-template-columns:1fr}.development-floorplan-table,.development-unit-table{display:block;overflow-x:auto}}

/* New Development quick-view: match the regular property popup behavior */
#developmentDetailDialog{width:min(980px,94vw);max-width:980px;max-height:92vh;padding:0;border:0;border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.28)}
#developmentDetailDialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}
#developmentDetailDialog>.development-detail-close{position:absolute;z-index:8;right:12px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 2px 12px rgba(0,0,0,.18);font-size:26px;line-height:1;cursor:pointer}
#developmentDetailDialog .development-detail-content{padding:0;max-height:92vh;overflow:auto;background:#fff}
#developmentDetailDialog .development-detail-hero{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:0}
#developmentDetailDialog .development-detail-hero>div:first-child{background:#f1f5f9}
#developmentDetailDialog .development-detail-hero img{height:420px;border-radius:0}
#developmentDetailDialog .development-detail-summary{padding:30px 26px 24px}
#developmentDetailDialog .development-detail-tabs{position:sticky;top:0;z-index:4;background:#fff;margin:0;padding:12px 22px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
#developmentDetailDialog .development-detail-panel{padding:22px 26px 30px}
#developmentDetailDialog .development-detail-actions{margin-top:8px}
@media(max-width:720px){#developmentDetailDialog{width:96vw;max-height:94vh;border-radius:14px}#developmentDetailDialog .development-detail-hero{grid-template-columns:1fr}#developmentDetailDialog .development-detail-hero img{height:260px}#developmentDetailDialog .development-detail-summary{padding:20px 16px}#developmentDetailDialog .development-detail-tabs{padding:10px 14px;overflow-x:auto;flex-wrap:nowrap}#developmentDetailDialog .development-detail-panel{padding:18px 16px 24px}}

/* ==========================================================================
   NEW DEVELOPMENTS — CENTRALIZED THEME + DARK MODE
   Keep all future New Development visual overrides in this section.
   2026-10-06
   ========================================================================== */
:root{
  --dev-bg:#ffffff;--dev-bg-soft:#f8fafc;--dev-bg-muted:#f1f5f9;
  --dev-text:#0f172a;--dev-text-2:#334155;--dev-muted:#64748b;
  --dev-border:#e2e8f0;--dev-border-2:#cbd5e1;
  --dev-accent:#172554;--dev-accent-text:#ffffff;
  --dev-danger:#b42318;--dev-danger-bg:#fff8f7;--dev-danger-border:#f1c7c3;
  --dev-shadow:0 8px 28px rgba(15,23,42,.08);
}
html[data-theme="dark"]{
  --dev-bg:#111827;--dev-bg-soft:#182235;--dev-bg-muted:#1e293b;
  --dev-text:#f8fafc;--dev-text-2:#e2e8f0;--dev-muted:#aab4c3;
  --dev-border:#334155;--dev-border-2:#475569;
  --dev-accent:#2563eb;--dev-accent-text:#ffffff;
  --dev-danger:#fca5a5;--dev-danger-bg:#351b22;--dev-danger-border:#7f1d1d;
  --dev-shadow:0 10px 30px rgba(0,0,0,.34);
}
/* Public development cards + detail popup */
.development-listing-card,.development-plan-public,.development-company-box,.development-company-projects button,
#developmentDetailDialog,#developmentDetailDialog .development-detail-content{background:var(--dev-bg)!important;color:var(--dev-text)!important;border-color:var(--dev-border)!important}
.development-listing-card .development-listing-image,#developmentDetailDialog .development-detail-hero>div:first-child,.development-plan-public img{background:var(--dev-bg-muted)!important}
.development-listing-card .developer-link,#developmentDetailDialog .developer-link{color:var(--dev-accent)!important}
#developmentDetailDialog .development-detail-tabs{background:var(--dev-bg)!important;border-color:var(--dev-border)!important}
#developmentDetailDialog .development-detail-tabs button{background:var(--dev-bg-muted)!important;color:var(--dev-text-2)!important}
#developmentDetailDialog .development-detail-tabs button.active{background:var(--dev-accent)!important;color:var(--dev-accent-text)!important}
#developmentDetailDialog .development-detail-panel,.development-unit-public-table,.development-unit-public-table th,.development-unit-public-table td{color:var(--dev-text)!important;border-color:var(--dev-border)!important}
#developmentDetailDialog>.development-detail-close{background:var(--dev-bg)!important;color:var(--dev-text)!important;border:1px solid var(--dev-border)!important}
html[data-theme="dark"] #developmentDetailDialog::backdrop{background:rgba(2,6,23,.78)}
/* Owner / management portal */
.development-portal-dialog,.development-portal-dialog .development-portal-shell,.development-portal-dialog .development-portal-panel{background:var(--dev-bg-soft)!important;color:var(--dev-text)!important}
.development-portal-dialog .development-portal-panel>h2,.development-card-head strong,.development-subforms form>strong,.development-subscription-group strong{color:var(--dev-text)!important}
.development-card{background:var(--dev-bg)!important;color:var(--dev-text)!important;border-color:var(--dev-border)!important;box-shadow:var(--dev-shadow)!important}
.development-card-head{border-color:var(--dev-border)!important}.development-card-head>div>div{color:var(--dev-muted)!important}
.development-metrics span,.development-subforms form,.development-subscription-group{background:var(--dev-bg-soft)!important;color:var(--dev-text-2)!important;border-color:var(--dev-border)!important}
.development-paid-actions{background:var(--dev-bg-soft)!important;border-color:var(--dev-border)!important}.development-paid-actions>span{color:var(--dev-text)!important}
.development-manage-actions>button,.development-subscription-group button,.development-floorplan-table td:last-child button,.development-unit-table td:last-child button{background:var(--dev-bg)!important;color:var(--dev-text-2)!important;border-color:var(--dev-border-2)!important}
.development-manage-actions>button[data-dev-edit],.development-subscription-group button[data-dev-pay],.development-subforms .secondary-button{background:var(--dev-accent)!important;color:var(--dev-accent-text)!important;border-color:var(--dev-accent)!important}
.development-manage-actions>button[data-dev-delete],.development-floorplan-table td:last-child button:last-child,.development-unit-table td:last-child button:last-child{background:var(--dev-danger-bg)!important;color:var(--dev-danger)!important;border-color:var(--dev-danger-border)!important}
.development-subforms input,.development-subforms select,.development-subforms textarea{background:var(--dev-bg)!important;color:var(--dev-text)!important;border-color:var(--dev-border-2)!important;color-scheme:light dark}
.development-subforms input::placeholder,.development-subforms textarea::placeholder{color:var(--dev-muted)!important}
.development-subforms .secondary-button[data-floorplan-cancel],.development-subforms .secondary-button[data-unit-cancel]{background:var(--dev-bg-muted)!important;color:var(--dev-text-2)!important;border-color:var(--dev-border)!important}
.development-floorplan-table,.development-unit-table{background:var(--dev-bg)!important;color:var(--dev-text)!important;border-color:var(--dev-border)!important}
.development-floorplan-table th,.development-unit-table th{background:var(--dev-bg-soft)!important;color:var(--dev-muted)!important;border-color:var(--dev-border)!important}
.development-floorplan-table td,.development-unit-table td{color:var(--dev-text-2)!important;border-color:var(--dev-border)!important}
.dev-blueprint-thumb,.development-floorplan-inset,.development-floorplan-inset img{background:var(--dev-bg)!important;border-color:var(--dev-border)!important}
.development-map-chooser{background:var(--dev-bg)!important;color:var(--dev-text)!important;border-color:var(--dev-border)!important}.development-map-chooser button{background:var(--dev-bg-soft)!important;color:var(--dev-text)!important;border-color:var(--dev-border)!important}


/* 2026-10-24 — language-switch tag refresh + filter arrow alignment fix */
.filter-row select,
.filter-row .filter-button,
.filter-row .save-search{
  white-space:nowrap;
  line-height:1.2;
}

.filter-row select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  display:block;
  max-width:100%;
  padding-right:38px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5l4 4 4-4' fill='none' stroke='%23515a67' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:12px 12px;
}
.filter-row select::-ms-expand{display:none}

.filter-row .filter-button,
.filter-row .save-search{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-align:left;
  max-width:100%;
}

@media (min-width:761px){
  .filter-row select,
  .filter-row .filter-button,
  .filter-row .save-search{
    min-width:max-content;
  }
}

@media (max-width:760px){
  .filter-row select,
  .filter-row .filter-button,
  .filter-row .save-search{
    flex:0 0 auto;
  }
}


/* 2026-10-24 final Education marker cleanup: one layer, unmistakable subtype icons */
#propertyMap .education-map-marker{width:34px;height:34px;min-width:34px;padding:0;border-width:2px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;gap:0;overflow:visible}
#propertyMap .education-map-marker.has-rating{width:auto;min-width:48px;height:34px;padding:0 7px 0 5px;border-radius:18px;gap:4px}
#propertyMap .education-map-marker-icon{width:24px;height:24px;flex:0 0 24px;font-size:17px;line-height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent!important}
#propertyMap .education-map-marker-rating{font-size:10px;font-weight:900;line-height:1;white-space:nowrap}
#propertyMap .education-map-marker.education-school{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}
#propertyMap .education-map-marker.education-kindergarten{border-color:#db2777;color:#be185d;background:#fdf2f8}
#propertyMap .education-map-marker.education-university{border-color:#059669;color:#047857;background:#ecfdf5}
#propertyMap .education-map-marker.education-college{border-color:#7c3aed;color:#6d28d9;background:#f5f3ff}
#propertyMap .education-map-marker.education-generic{border-color:#0f766e;color:#0f766e;background:#f0fdfa}

/* Consolidated Education layer: inline SVG markers, no external icon files required. */
#propertyMap .education-map-marker-icon svg,#propertyMap .neighborhood-map-marker-icon svg{display:block;width:18px;height:18px;stroke:currentColor;overflow:visible}
#propertyMap .education-map-marker-icon svg{width:19px;height:19px}
#propertyMap .neighborhood-map-marker-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
#propertyMap .neighborhood-map-marker-icon svg{width:17px;height:17px}

/* POI layers also render in the MapLibre 3D view. */
.isell-3d-poi-marker{appearance:none;width:30px;height:30px;padding:5px;border:2px solid rgba(255,255,255,.96);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:#334155;box-shadow:0 2px 8px rgba(0,0,0,.38);cursor:pointer}
.isell-3d-poi-marker svg{display:block;width:17px;height:17px;stroke:currentColor}
.isell-3d-poi-marker.education-school{color:#1d4ed8;background:#eff6ff}.isell-3d-poi-marker.education-kindergarten{color:#be185d;background:#fdf2f8}.isell-3d-poi-marker.education-university{color:#047857;background:#ecfdf5}.isell-3d-poi-marker.education-college{color:#6d28d9;background:#f5f3ff}
.isell-3d-poi-marker:hover{transform:scale(1.12);z-index:20}


/* 2026-10-24 map layer reliability fix */
#propertyMap .mobile-education-option{display:flex;align-items:center;gap:7px}
#propertyMap .mobile-education-check{display:inline-block;min-width:12px;font-weight:900}
#propertyMap .mobile-education-option,#propertyMap .mobile-neighborhood-option{box-sizing:border-box}
#propertyMap .poi-layer-notice{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:205;max-width:min(360px,calc(100% - 24px));padding:7px 11px;border:1px solid rgba(15,23,42,.18);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(0,0,0,.16);font-size:11px;font-weight:700;color:#334155;text-align:center;pointer-events:none}
#propertyMap .poi-layer-notice.hidden{display:none!important}
html[data-theme="dark"] #propertyMap .poi-layer-notice{background:rgba(15,23,42,.94);color:#e2e8f0;border-color:#475569}

/* 2026-10-26: owner listing audience analytics */
.listing-audience{margin:14px 0;padding:14px;border:1px solid #dfe6ef;border-radius:12px;background:#fff;display:grid;gap:12px}
.listing-audience-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.listing-audience-head small,.listing-audience-head>span,.audience-person small,.audience-anonymous small{color:#667085}
.listing-audience-head h3{margin:2px 0 0;font-size:18px}
.listing-audience-head>span{font-size:12px;white-space:nowrap}
.audience-anonymous{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;padding:10px 12px;border-radius:10px;background:#f8fafc}
.audience-anonymous strong{font-size:22px}
.audience-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.audience-columns>div{min-width:0}.audience-columns h4{margin:0 0 8px}
.audience-person{display:grid;gap:3px;padding:9px 0;border-top:1px solid #eef2f6}
.audience-person:first-of-type{border-top:0}
.audience-person>div{display:flex;align-items:center;gap:8px;min-width:0}
.audience-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.interest-badge{font-size:11px;font-weight:700;padding:2px 6px;border-radius:999px;background:#fff4e5;color:#9a5b00;white-space:nowrap}
.audience-person.high-interest{background:linear-gradient(90deg,rgba(255,244,229,.75),transparent);border-radius:8px;padding-left:8px;padding-right:8px}
@media(max-width:700px){.audience-columns{grid-template-columns:1fr}.audience-anonymous{grid-template-columns:auto 1fr}.audience-anonymous small{grid-column:1/-1}.listing-audience-head{align-items:center}}
html[data-theme="dark"] .listing-audience{background:var(--theme-card-2)!important;border-color:var(--theme-border)!important;color:#e5e7eb}
html[data-theme="dark"] .audience-anonymous{background:#111827}
html[data-theme="dark"] .audience-person{border-color:#263244}
html[data-theme="dark"] .listing-audience-head small,html[data-theme="dark"] .listing-audience-head>span,html[data-theme="dark"] .audience-person small,html[data-theme="dark"] .audience-anonymous small{color:#aab4c3}


/* 2026-10-26: Mobile account menu must scroll independently inside the viewport. */
@media (max-width:900px){
  #accountMenuPanel.account-menu-panel{
    position:fixed!important;
    top:64px!important;
    right:10px!important;
    width:min(320px,calc(100vw - 20px))!important;
    max-height:calc(100vh - 72px)!important;
    max-height:calc(100dvh - 72px - env(safe-area-inset-bottom, 0px))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    scrollbar-gutter:stable;
  }
}
@media (max-width:600px){
  #accountMenuPanel.account-menu-panel{
    top:58px!important;
    max-height:calc(100vh - 66px)!important;
    max-height:calc(100dvh - 66px - env(safe-area-inset-bottom, 0px))!important;
  }
}
