/* Professional property-search scale: neutral surfaces, quiet utilities, thin rules. */
:root{--ink:#252a30;--muted:#626a74;--action:#35485d;--action-hover:#202d3c;--paper:#f6f6f5;--soft:#f0f1f3;--line:#e0e3e7;--radius:4px}
body{background:white}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.property-card:focus-visible{outline:2px solid #456584;outline-offset:2px}
.site-header{padding:6px 16px 2px;gap:12px}
h1{font-size:1.125rem;font-weight:600;letter-spacing:-.025em;line-height:1.3}
.brand{gap:0}
.snapshot{font-size:.75rem;color:var(--muted);line-height:1.5}
.updates-trigger{border:0;background:transparent;border-radius:0;min-height:44px;padding:6px 0 6px 10px;font-size:.8125rem;font-weight:400;gap:6px}
#updates-count,#voted-homes-count,#mobile-filter-count{background:transparent;border-radius:0;padding:0;min-width:0;font-size:.75rem;color:var(--muted);font-weight:400}
.filter-bar{padding:0 16px 6px;gap:0 8px;border-bottom:1px solid var(--line)}
.search-input{border-radius:4px;background:#f7f7f8;box-shadow:inset 0 0 0 1px var(--line);padding:0 10px;gap:8px}
.search-input svg{width:16px;height:16px;stroke-width:1.5}
.search-input input{font-weight:400;line-height:1.4}
.quick-filters{gap:12px}
.mobile-area-label{flex:1;min-width:0}
.mobile-area-label select{border:0;border-radius:0;background:transparent;padding-inline-start:0;min-height:44px;color:#444c56;font-weight:400}
.filters-trigger,#votes-filter{border:0;border-radius:0;background:transparent;min-height:44px;padding:6px 4px;font-size:.8125rem;font-weight:400;gap:6px}
.filters-trigger svg{width:16px;height:16px;stroke-width:1.5}
#votes-filter[aria-pressed=true]{background:transparent;color:var(--ink);border-color:transparent;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
#votes-filter[aria-pressed=true] #voted-homes-count{background:transparent;color:var(--muted)}
.workspace[data-view] .results-panel{border-radius:10px 10px 0 0;background:white;box-shadow:0 -2px 12px #16212d14}
.results-top{border-radius:10px 10px 0 0;padding-top:6px;min-height:60px}
.sheet-grip{height:3px;width:32px;left:calc(50% - 16px);top:6px;background:#bcc1c7}
.sheet-handle{font-size:1rem;font-weight:500;line-height:1.4;min-height:50px}
.sheet-toggle{font-size:.75rem;font-weight:400;color:#4e5d6e;letter-spacing:0}
.sheet-preview{padding-top:0}
.peek-card{border-radius:0}
.peek-card>img,.peek-placeholder{border-radius:3px}
.peek-info{font-size:.75rem;line-height:1.5}
.peek-info strong{font-size:1.1875rem;font-weight:600;letter-spacing:-.02em;line-height:1.4}
.peek-info small{font-size:.6875rem;color:var(--muted)}
.peek-ref{font-weight:400;color:var(--muted)}
.results-sort{padding-bottom:0;border-color:#eceef0}
.results-sort button,.sort-current{font-size:.75rem;font-weight:400}
.list-scroll{padding:0 14px 24px;background:white;scroll-padding:12px}
#results{gap:0}
.property-card{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 0;overflow:visible}
.property-card.selected{border-color:#b5c1ce;box-shadow:inset 2px 0 #536b84;background:#f7f9fb}
.card-photo{border-radius:3px;overflow:hidden;min-height:152px}
.card-body{padding:10px 12px}
.rent{font-size:1.3125rem;font-weight:600;letter-spacing:-.025em;line-height:1.35}
.rent small{font-size:.6875rem;font-weight:400}
.card-body h3{font-size:.9375rem;font-weight:500;letter-spacing:0;line-height:1.4}
.card-city,.property-specs{font-weight:400;color:#515a65}
.property-specs{font-size:.75rem;column-gap:7px}
.card-photo>.rental-reference{background:#333d49;font-weight:500;border-radius:3px;box-shadow:none;font-size:.75rem}
.gallery-control{border-radius:3px;background:#ffffffed}
.gallery-control button{font-weight:400;border-radius:3px}
.family-votes{border:0;min-height:48px;padding-inline:0 4px}
.cast-vote{font-size:.75rem;font-weight:400;gap:8px;min-height:44px}
.cast-vote span{font-size:1rem}
.no-votes{font-size:.75rem}
.card-footer{padding-inline:0 4px;border-top:1px solid #eff0f2}
.card-details>summary,.listing-links a{font-size:.75rem;font-weight:400}
.card-details summary span{font-size:1rem}
.detail-address{font-weight:500}
.detail-facts{font-weight:400}
.map-top{top:6px;left:12px;right:12px;align-items:center;gap:8px}
.map-count{background:none;border:0;border-radius:0;box-shadow:none;min-height:44px;padding:10px 0;font-size:.75rem;font-weight:400;color:#4a535e;text-shadow:0 0 4px white,0 1px 2px white;pointer-events:none;line-height:1.5}
.map-top button{position:relative;isolation:isolate;background:transparent;border:0;box-shadow:none;border-radius:0;min-height:44px;padding:8px 10px;font-size:.75rem;font-weight:400;gap:5px;color:#394452}
.map-top button:before{content:'';position:absolute;z-index:-1;inset:6px 0;border:1px solid #d8dce1;background:#fff;border-radius:3px;box-shadow:0 1px 3px #16212d0d}
.map-top svg{width:15px;height:15px;stroke-width:1.5}
.leaflet-top.leaflet-left{top:54px;left:2px}
.leaflet-control-zoom{position:relative;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible;background:transparent}
.leaflet-control-zoom:before{content:'';position:absolute;inset:7px 6px;background:#fff;border:1px solid #d8dce1;border-radius:3px;box-shadow:0 1px 3px #16212d0d}
.leaflet-control-zoom a{position:relative;background:transparent!important;border:0!important;width:44px!important;height:44px!important;line-height:44px!important;font-size:18px!important;font-weight:400!important;color:#394452!important}
.leaflet-control-zoom a:first-child:after{content:'';position:absolute;inset:auto 7px 0;border-bottom:1px solid #e5e7ea}
.home-cluster{background:transparent;border:0;box-shadow:none;border-radius:0;color:#303943;font-weight:500;font-size:.75rem}
.home-cluster>span{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 7px;border-radius:50%;background:#fff;border:1px solid #b8c0c9;box-shadow:0 1px 3px #18232e1f}
.pin{justify-self:center;inline-size:max-content;min-width:0;min-height:28px;height:28px;padding:2px 5px 2px 2px;gap:4px;border:1px solid #b8c0c9;border-radius:4px;background:#fff;color:#303943;font-size:.75rem;font-weight:500;box-shadow:0 1px 3px #18232e1f;white-space:nowrap}
.pin-reference{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#edf0f4;color:#35485d;font-size:.6875rem;font-weight:500;letter-spacing:-.02em}
.pin-price{line-height:1.25}
.pin.selected{background:#33475c;color:#fff;border-color:#33475c;box-shadow:0 0 0 2px #ffffffb3}
.pin.selected .pin-reference{background:white;color:#33475c}
.rental-marker:focus-visible,.home-cluster:focus-visible{outline:2px solid #456584;outline-offset:1px;border-radius:4px}
.basemap-status{position:absolute;z-index:500;top:52px;right:12px;max-width:190px;padding:4px 6px;border-radius:3px;background:#ffffffed;color:var(--muted);font-size:.75rem;line-height:1.5;pointer-events:none}
.leaflet-map-pane .maplibregl-canvas{outline:none}
.highway-area-note{border-radius:3px;background:#f0f2f5;color:#4c5867}
.highway-area-note button{font-weight:400}
dialog{border-radius:8px;box-shadow:0 10px 40px #15202c26}
.dialog-header h2{font-size:1.125rem;font-weight:500;letter-spacing:-.015em}
.dialog-body h3{font-weight:500}
.icon-button{border-radius:3px;background:transparent;font-size:1.375rem}
select{border-radius:4px;border-color:#d9dde2}
.vote-member{border-radius:4px}
.vote-member.chosen{background:#f2f4f7;border-color:#aab6c4}
.vote-member-text strong,.vote-member-action{font-weight:500}
.filter-dialog-footer button{border-radius:4px;font-size:.875rem;font-weight:500}
.update-actions button,#retry-votes{border-radius:4px;font-weight:500}
@media(hover:hover){
 .updates-trigger:hover,.filters-trigger:hover,.peek-card:hover{background:transparent;color:#111820}
 .home-cluster:hover>span,.pin:hover{border-color:#576b81}
 .leaflet-control-zoom a:hover{color:#000!important}
}
@media(min-width:700px){
 .site-header{padding:8px 24px 4px}
 .filter-bar{padding:0 24px 8px;gap:12px}
 .quick-filters{gap:16px}
 .list-scroll{padding:0 20px 24px}
 .property-card{grid-template-columns:30% minmax(0,1fr)}
 .rent{font-size:1.375rem}
 .card-body h3{font-size:1rem;font-weight:500}
 .property-specs{font-size:.8125rem}
 .peek-info strong{font-size:1.25rem}
}
@media(min-width:1180px){
 .workspace[data-view] .results-panel{border-radius:6px;box-shadow:0 2px 12px #16212d1a}
 .results-top{border-radius:6px 6px 0 0}
 .property-card{grid-template-columns:38% minmax(0,1fr)}
 .card-body h3{font-size:.9375rem}
 .property-specs{font-size:.75rem}
 .rent{font-size:1.3125rem}
 .map-top{right:428px}
 .workspace[data-sheet=collapsed] .map-top{right:12px}
}
@media(max-width:359px){
 .site-header,.filter-bar{padding-inline:12px}
 h1{font-size:1.0625rem}
 .property-card{grid-template-columns:36% minmax(0,1fr)}
 .card-body{padding-inline:10px}
 .property-specs{font-size:.6875rem;column-gap:5px}
 .rent{font-size:1.1875rem}
 .peek-info strong{font-size:1.125rem}
}
@media(max-height:500px) and (max-width:1179px){.site-header{padding-top:2px;padding-bottom:2px}.filter-bar{padding-bottom:4px}.results-top{min-height:60px}}
