:root{--green:#276b5b;--ink:#263f33;--muted:#7b8e82;--line:#e2eae4;--surface:#f5f7f6;--map-height:500px;--marker-font-size:12px;--popup-width:310px}
*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;color:var(--ink);background:var(--surface);font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;display:flex;flex-direction:column}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit;background:transparent}a{color:var(--green);text-decoration:none}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #62a78c;outline-offset:3px}
.topbar{height:58px;flex:none;padding:0 28px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650}.brand-mark{display:none}.brand-sub{font-size:9px;font-weight:400;letter-spacing:.12em;margin-left:10px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:18px}.public-badge{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.public-badge i,.summary i,.legend i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#60a58c}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 12px;background:white;border:1px solid var(--line);border-radius:6px;font-size:11px}.button:disabled{opacity:.5;cursor:wait}
main{flex:1;min-height:0;min-width:0;padding:20px 28px 14px;display:flex;flex-direction:column;gap:12px}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.eyebrow{display:none}h1{font-size:27px;line-height:1.3;font-weight:600;letter-spacing:-.8px;margin:0}h1>span{color:#62a78c}.summary{display:flex;gap:20px;align-items:center;font-size:11px;color:var(--muted);flex:none}.summary>span:first-child{display:flex;align-items:center;gap:6px}.summary b{color:var(--ink);font-weight:600}.summary .pending-location{display:flex;align-items:center;gap:6px;white-space:nowrap}
.filters{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex:none;max-height:42dvh;overflow:auto}.search{flex:1;min-width:0;display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:7px 10px;min-height:38px}.search label{display:flex;align-items:center;color:#8a9c90}.search label>span{font-size:22px;line-height:1}.clear-search{flex:none;width:28px;height:28px;display:grid;place-items:center;font-size:22px;line-height:1;border-radius:4px}.clear-search:hover{background:#eef5ee}.refresh-button{flex:none;width:38px;min-height:38px;padding:0}.search-submit{flex:none;min-height:38px;padding:8px 18px;background:var(--green);border-color:var(--green);color:#fff;font-size:12px}.search input::-webkit-search-cancel-button{display:none}.search input{border:0;padding:0;outline:0;min-width:0;width:100%;font-size:12px;color:var(--ink);background:transparent}.ranges{flex-basis:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1.6fr) minmax(0,1.6fr) auto;gap:10px;padding:2px 0 0;align-items:end}.ranges>.button{min-height:37px;white-space:nowrap}.ranges>label{display:grid;gap:4px;font-size:10px;color:var(--muted);min-width:0}select{width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);border-radius:5px;background:white;padding:9px;font-size:11px;min-height:37px}.ranges fieldset{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;border:0;padding:0;margin:0}.ranges legend{font-size:10px;color:var(--muted);margin-bottom:4px}.ranges input{width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;padding:9px;font-size:11px;min-height:37px}
.catalog{display:flex;flex:1;min-height:0;border:1px solid var(--line);border-radius:11px;background:white;overflow:hidden}.sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:0}.list-header{padding:12px 14px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;min-height:44px;flex:none}.listing-list{flex:1;min-height:0;overflow:auto;padding:0 14px;overscroll-behavior:contain}.listing-card{padding:10px 0 8px;border-bottom:1px solid var(--line)}.listing-card.focused{background:#f0f7f2;box-shadow:inset 3px 0 #276b5b;margin:0 -14px;padding-left:14px;padding-right:14px}.card-button{display:block;text-align:left;width:100%;padding:0}.card-kind{font-size:9px;color:#7c9989;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.listing-card h2{font-size:12px;line-height:1.5;font-weight:600;color:#294b3e;margin:4px 0 0}.card-price{font-size:12px;font-weight:600;margin-top:5px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.card-size{font-size:10px;color:var(--muted);font-weight:400}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-top:1px;font-size:10px;color:var(--muted);flex-wrap:wrap}.card-actions{display:flex;align-items:center;gap:10px}.whatsapp{display:inline-flex;align-items:center;justify-content:center;color:#247c55;white-space:nowrap;min-width:28px;min-height:24px}.whatsapp svg{flex:none}
.map-stage{position:relative;flex:1;min-width:0;min-height:0;background:#e7ede6;isolation:isolate}#map{position:absolute;inset:0}.map-controls{position:absolute;right:10px;bottom:27px;z-index:500;display:grid;border:1px solid #b9c9bf;border-radius:5px;box-shadow:0 1px 5px #183e3526;overflow:hidden;background:#fff}.map-controls button{width:34px;height:34px;display:grid;place-items:center;font:500 23px/1 sans-serif;background:#fff;color:#294b3e}.map-controls button+button{border-top:1px solid #d5dfd8}.map-controls button:hover{background:#f0f7f2}.locate-button{position:absolute;right:10px;bottom:106px;width:36px;height:36px;padding:0;z-index:500;border:1px solid #b9c9bf;border-radius:5px;box-shadow:0 1px 5px #183e3526}.locate-button[aria-busy=true]{color:#2682e9;background:#eef6ff}.user-location{display:block;width:15px;height:15px;border:2.5px solid #fff;background:#2682e9;border-radius:50%;box-shadow:0 0 0 8px #2682e922}.location-status{position:absolute;z-index:500;left:14px;bottom:53px;max-width:calc(100% - 78px);margin:0;padding:7px 9px;border:1px solid #e9dfc6;border-radius:6px;background:#fffdf6f5;color:#856c40;font-size:11px;line-height:1.5}.legend{position:absolute;z-index:500;left:14px;bottom:25px;background:#fffef5;padding:6px 9px;border-radius:5px;font-size:9px;color:var(--muted);display:flex;align-items:center;gap:6px}.price-marker{transform:translate(-50%,-50%);border:1px solid #245348;background:#245348;color:white;border-radius:30px;box-shadow:0 2px 5px #1e403526;white-space:nowrap;font:600 var(--marker-font-size)/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:5px 8px}.price-marker:hover,.price-marker:focus-visible{background:#267263;border-color:#fff}.price-marker.selected{background:#174f40;border-color:#fff;box-shadow:0 0 0 4px #b9dfca,0 2px 5px #1e403526}.public-map-icon{overflow:visible!important}.leaflet-container{font:inherit}.leaflet-control-attribution,.maplibregl-ctrl-attrib{font-size:8px!important}.leaflet-control-zoom{margin-bottom:27px!important}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl{margin-bottom:27px}.map-error,.notice{background:#fff5da;color:#84652a;font-size:11px;padding:10px;border-radius:6px;margin:0}.map-error{position:absolute;z-index:500;left:12px;bottom:60px;max-width:calc(100% - 72px);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.map-error .button{min-height:32px;padding:5px 9px;white-space:nowrap}.empty{padding:22px 10px;color:var(--muted);font-size:12px}.page-footer{display:none}.toast{position:fixed;z-index:3000;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);padding:12px 20px;border-radius:8px;background:#264c3d;color:white;box-shadow:0 5px 25px #204b3033;font-size:12px;text-align:center}
.property-popup .leaflet-popup-content-wrapper,.property-popup .maplibregl-popup-content{padding:0;overflow:hidden;border-radius:11px;background:#fff;box-shadow:0 6px 26px #183e3030}.property-popup .leaflet-popup-content{margin:0;width:var(--popup-width)!important;font:12px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.property-popup .leaflet-popup-close-button,.property-popup .maplibregl-popup-close-button,.details-close{position:absolute;top:7px;right:7px;width:32px;height:32px;line-height:30px;border-radius:50%;background:#fffffff0;color:#36534a;z-index:2;font-size:24px;box-shadow:0 1px 5px #183e3020}.popup-card{width:var(--popup-width);max-width:calc(100vw - 48px);max-height:calc(var(--map-height) - 75px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.status{display:inline-block;font-size:9px;line-height:1.4;padding:3px 6px;border-radius:4px;background:#eef5ee;color:#487754}.status.pending{background:#fff3d9;color:#967332}.status.non_potential{background:#f1f1f1;color:#777}.popup-summary{padding:10px 13px}.popup-card h2{font-size:14px;line-height:1.4;font-weight:600;margin:5px 22px 3px 0;color:#294b3e}.popup-card .detail-kind{font-size:9px;margin:3px 0;color:var(--muted)}.popup-card .detail-price{display:block;font-size:16px;margin:5px 0 7px}.popup-specs{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin:0}.popup-specs>div{border-top:1px solid var(--line);padding-top:3px;min-width:0}.popup-specs>.popup-contact{grid-column:2;align-self:end;justify-self:end;border-top:0;padding-top:0}.popup-specs>.popup-contact dd{margin:0;line-height:1}.popup-specs dt{color:var(--muted);font-size:9px}.popup-specs dd{margin:2px 0 0;font-size:11px;overflow-wrap:anywhere}.popup-card .whatsapp{font-size:12px;min-height:30px}.unmapped{font-size:11px;color:#856c40;margin:4px 0 8px}.popup-gallery{height:100px;max-height:calc(var(--map-height) * .3);position:relative;background:#eef2ee}.popup-photo{width:100%;height:100%;object-fit:contain;display:block}.popup-gallery .photo-count{position:absolute;left:10px;bottom:9px;background:#183e30c9;color:white;padding:2px 7px;border-radius:10px;font-size:10px}.popup-gallery>.gallery-previous,.popup-gallery>.gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#fffffff0;font-size:25px;line-height:34px;box-shadow:0 1px 5px #183e3020}.gallery-previous{left:8px}.gallery-next{right:8px}.popup-group{padding:15px}.popup-group h2{font-size:14px;margin-bottom:10px}.popup-choice{padding:10px 0;display:flex;text-align:left;width:100%;gap:10px;border-top:1px solid var(--line);align-items:center;min-height:48px}.popup-choice>img{width:58px;height:49px;object-fit:cover;border-radius:5px}.popup-choice>span{display:grid;gap:4px;min-width:0;flex:1;font-size:12px}.popup-choice strong{font-size:13px;color:var(--green)}.popup-choice small{font-size:11px;color:var(--muted)}.property-details{display:none}.property-details:not([hidden]){display:block;position:absolute;z-index:1500;bottom:24px;right:58px;width:var(--popup-width);max-width:calc(100% - 24px);max-height:calc(100% - 72px);overflow:hidden;border-radius:11px;box-shadow:0 5px 25px #183e3030;background:#fff}.property-details .popup-card{width:100%;max-width:none;max-height:calc(var(--map-height) - 96px)}
@media(max-width:1100px){main{padding:18px 20px 14px}.sidebar{width:270px}.brand-sub{display:none}.summary{gap:14px}}
@media(max-width:760px){html,body{height:auto;min-height:100dvh;overflow:auto}.topbar{height:50px;padding:0 14px}.brand{font-size:14px}.top-actions{gap:10px}.public-badge{font-size:10px}.top-actions .button{min-height:36px;padding:7px 9px}.brand-sub{display:none}main{height:auto;min-height:calc(100dvh - 50px);flex:1;padding:12px 12px max(12px,env(safe-area-inset-bottom));gap:8px}h1{font-size:22px}.summary{font-size:10px;gap:10px;flex-wrap:wrap;row-gap:3px}.filters{padding:6px;gap:6px;max-height:none;overflow:visible}.search{min-height:40px;padding:4px 8px}.search input{font-size:16px}.refresh-button{width:40px;min-height:40px}.search-submit{min-height:40px;padding:7px 13px}.clear-search{width:32px;height:32px;flex-shrink:0}.ranges{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;padding:0}.ranges>label{font-size:10px;gap:2px}.ranges legend{font-size:10px;margin-bottom:2px}.ranges input,select{font-size:16px;min-height:36px;padding:5px 7px}.ranges>.button{min-height:28px;font-size:11px;padding:3px 10px;grid-column:1/-1;justify-self:end}.catalog{position:relative;flex:none;height:max(460px,calc(100dvh - 260px))}.sidebar{width:clamp(128px,38%,270px)}.list-header{min-height:40px;padding:4px 8px}.listing-list{padding:0 8px}.listing-card h2{font-size:13px}.card-price{font-size:13px}.card-kind{font-size:10px}.card-size,.card-footer{font-size:11px}.listing-card.focused{margin:0 -8px;padding-left:8px;padding-right:8px}.whatsapp{min-width:36px;min-height:36px}.locate-button{width:40px;height:40px;right:8px;bottom:110px}.legend{left:10px;bottom:25px;font-size:9px;max-width:calc(100% - 65px)}.location-status{left:10px;bottom:58px;font-size:11px;max-width:calc(100% - 72px)}.price-marker{font-size:var(--marker-font-size);padding:5px 8px}.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important}.maplibregl-ctrl-group>button{width:38px;height:38px}.property-details:not([hidden]){bottom:20px;left:auto;right:8px;width:min(310px,calc(100vw - 44px));max-width:none;max-height:calc(100% - 48px);border-radius:10px}.property-details .popup-card{max-height:calc(var(--map-height) - 68px)}.property-details .popup-gallery{height:84px;max-height:calc(var(--map-height) * .24)}.property-details .popup-card h2{font-size:13px}.details-close{width:40px;height:40px;line-height:38px;top:6px;right:6px}.property-details .popup-summary{padding:9px 11px}.property-details .popup-summary h2{margin-right:32px}.property-details .popup-card .detail-kind{font-size:10px}.property-details .popup-specs dd{font-size:12px}.property-details .whatsapp{min-height:36px}.map-stage:has(.property-details:not([hidden]))>.legend,.map-stage:has(.property-details:not([hidden]))>.location-status{display:none}}
@media(max-width:380px){.topbar{padding:0 12px}.public-badge{display:none}h1{font-size:20px}.summary{gap:8px}main{padding-left:10px;padding-right:10px}.ranges{column-gap:6px}.ranges>.button{width:auto}}
@media(max-height:520px) and (max-width:1000px){.heading{display:none}.property-details .popup-gallery{height:64px}.property-details .popup-card{max-height:calc(var(--map-height) - 80px)}.property-details:not([hidden]){max-height:calc(100% - 58px);bottom:10px}}
@media (orientation: portrait) and (max-height: 520px) {
  .topbar { height: 44px; }
  main { padding-top: 8px; gap: 7px; }
  .summary { display: none; }
  .filters { padding: 6px 8px; }
}

.catalog-toolbar { display: contents; }
.filter-toggle { display: none; }

@media (orientation: landscape) {
  html, body { height: 100%; min-height: 0; overflow: auto; }
  body {
    --catalog-left: max(12px, env(safe-area-inset-left));
    --catalog-right: max(12px, env(safe-area-inset-right));
    height: 100dvh;
  }
  .topbar {
    height: calc(44px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) var(--catalog-right) 0 var(--catalog-left);
  }
  main {
    min-height: 0;
    padding: 8px var(--catalog-right) max(8px, env(safe-area-inset-bottom)) var(--catalog-left);
    gap: 8px;
  }
  .catalog-toolbar {
    display: flex;
    flex: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
  }
  .catalog-toolbar h1 { font-size: 21px; }
  .catalog-toolbar .summary { gap: 8px; }
  .catalog-toolbar .filters {
    position: relative;
    z-index: 1;
    flex: 1 1 292px;
    min-width: 0;
    flex-wrap: nowrap;
    gap: 6px;
    padding: 4px 6px;
    max-height: none;
    overflow: visible;
  }
  .catalog-toolbar .search { padding: 4px 8px; }
  .catalog-toolbar .search-submit { padding: 6px 12px; }
  .catalog-toolbar .search,
  .catalog-toolbar .search-submit,
  .catalog-toolbar .refresh-button,
  .filter-toggle { min-height: 40px; }
  .catalog-toolbar .refresh-button { width: 40px; }
  .filter-toggle { display: inline-flex; flex: none; padding: 6px 10px; }
  .filter-toggle[aria-expanded="true"] { background: #e4f1e8; }
  .filter-toggle[aria-expanded="false"] + .ranges { display: none; }
  .catalog-toolbar .ranges {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: min(440px, calc(100dvw - var(--catalog-left) - var(--catalog-right)));
    max-height: 50dvh;
    overflow: auto;
    overscroll-behavior: contain;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: white;
    box-shadow: 0 8px 24px #183e3026;
  }
  .catalog-toolbar .ranges > .button { grid-column: 1 / -1; justify-self: end; }
  .catalog { flex: 1; height: auto; min-height: 160px; }
  .sidebar { width: clamp(146px, 22%, 270px); }
}

@media (orientation: landscape) and (max-height: 520px) {
  .catalog-toolbar { column-gap: 8px; }
  .catalog-toolbar .filters { flex-basis: 266px; }
  .catalog-toolbar .search input,
  .catalog-toolbar .ranges input,
  .catalog-toolbar .ranges select { font-size: 16px; }
}
.popup-photo-open {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: 0;
  cursor: zoom-in;
}

.popup-photo-open:focus-visible {
  outline-offset: -3px;
}

.popup-photo-open::after {
  content: "⤢";
  position: absolute;
  right: 10px;
  bottom: 8px;
  width: 25px;
  height: 24px;
  border-radius: 6px;
  color: #fff;
  background: #183e30dd;
  font-size: 16px;
  line-height: 24px;
}

.popup-gallery .photo-count {
  pointer-events: none;
}

.photo-viewer {
  --inline-gap: max(12px, env(safe-area-inset-left), env(safe-area-inset-right));
  --block-gap: max(12px, env(safe-area-inset-top), env(safe-area-inset-bottom));
  position: fixed;
  inset: 0;
  width: min(1120px, calc(100% - var(--inline-gap) - var(--inline-gap)));
  height: min(840px, calc(100% - var(--block-gap) - var(--block-gap)));
  height: min(840px, calc(100dvh - var(--block-gap) - var(--block-gap)));
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: #1b2923;
  color: #fff;
}

.photo-viewer[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.photo-viewer::backdrop {
  background: rgb(10 20 15 / 78%);
}

html:has(.photo-viewer[open]) {
  overflow: hidden;
}

.photo-viewer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 12px 6px 16px;
}

.photo-viewer__header h2 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.photo-viewer__stage {
  min-height: 0;
  overflow: hidden;
  background: #101914;
  touch-action: pan-y pinch-zoom;
}

#photo-viewer-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
}

.photo-viewer__controls {
  display: grid;
  grid-template-columns: 44px minmax(68px, auto) 44px;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.photo-viewer button {
  display: grid;
  flex: none;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 26%);
  border-radius: 50%;
  background: #2b3e34;
  font-size: 26px;
  line-height: 1;
}

.photo-viewer button:hover {
  background: #3d594a;
}

#photo-viewer-count {
  grid-column: 2;
}

#photo-viewer-next {
  grid-column: 3;
}
.summary .pending-location-button {
  min-height: 34px;
  padding: 4px 10px;
  border-radius: 6px;
  background: #e4f1e8;
  color: #205345;
  font-weight: 650;
}

.summary .pending-location-button:hover,
.summary .pending-location-button[aria-expanded=true] {
  background: #d3e9db;
}

.pending-locations-dialog {
  position: fixed;
  inset: auto;
  top: var(--pending-top,12px);
  left: var(--pending-left,12px);
  width: min(620px,calc(100vw - 24px));
  max-width: none;
  max-height: calc(100dvh - var(--pending-top,12px) - 12px);
  margin: 0;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  color: var(--ink);
  box-shadow: 0 12px 36px #193a2b24;
}

.pending-locations-dialog::backdrop { background: #1f392d12; }

.pending-locations-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px 8px 18px;
  border-bottom: 1px solid var(--line);
  background: white;
}

.pending-locations-header h2 { margin: 0; font-size: 18px; line-height: 1.35; }
.pending-locations-header button { width: 44px; height: 44px; border-radius: 6px; font-size: 23px; }
.pending-locations-header button:hover { background: #f0f6f1; }
.pending-locations-rows { padding: 0 16px; }
.pending-location-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; }
.pending-location-row + .pending-location-row { border-top: 1px solid var(--line); }
.pending-location-info { display: grid; min-width: 0; gap: 3px; overflow-wrap: anywhere; }
.pending-location-info strong { font-size: 14px; }
.pending-location-info span { color: #526d60; font-size: 12px; }
.pending-location-set.button { flex: none; min-height: 44px; padding: 7px 10px; color: var(--green); border-color: var(--green); white-space: nowrap; }
.pending-locations-message { padding: 12px 2px; color: #526d60; }
.pending-locations-feedback { margin: 12px 16px 0; padding: 9px 11px; border-radius: 6px; background: #edf5ef; }

.pending-locations-dialog.is-picking {
  inset: 0;
  margin: auto;
  max-height: calc(100dvh - 24px);
}

.pending-location-picker { padding: 0 16px 16px; }
.pending-location-picker p { margin: 10px 0; }
#pending-location-property { margin: 0; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }

.pending-location-picker-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,2fr);
  align-items: center;
  gap: 12px;
  margin: 10px 0;
}

.pending-location-search {
  position: relative;
  display: flex;
  gap: 6px;
}

.pending-location-search input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid #c4d4cb;
  border-radius: 6px;
  color: var(--ink);
  background: #fff;
  font-size: 16px;
}

.pending-location-search .search-submit { min-height: 44px; }
.pending-location-matches {
  position: absolute;
  inset: calc(100% + 4px) 0 auto;
  z-index: 1;
  max-height: min(250px,42dvh);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 16px #193a2b24;
}

.pending-location-matches p { margin: 0; padding: 10px 12px; }
.pending-location-matches ul { margin: 0; padding: 0; list-style: none; }
.pending-location-matches li + li { border-top: 1px solid var(--line); }
.pending-location-match {
  display: grid;
  gap: 2px;
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  text-align: left;
  overflow-wrap: anywhere;
}

.pending-location-match:hover, .pending-location-match:focus-visible { background: #edf5ef; }
.pending-location-match:focus-visible { outline-offset: -2px; }
.pending-location-match small { color: #526d60; }

@media (max-width: 540px) {
  .pending-location-picker-heading { grid-template-columns: minmax(0,1fr); gap: 6px; }
}
.pending-location-map-stage { position: relative; isolation: isolate; height: clamp(200px,48dvh,440px); border-radius: 8px; overflow: hidden; background: #edf3ed; }
#pending-location-map { position: absolute; inset: 0; }
.pending-location-pin {
  position: absolute;
  z-index: 700;
  top: 50%;
  left: 50%;
  width: 27px;
  height: 27px;
  transform: translate(-50%,calc(-50% - 18px)) rotate(-45deg);
  border: 2px solid white;
  border-radius: 50% 50% 50% 0;
  background: var(--green);
  box-shadow: 0 2px 5px #102f2555;
  pointer-events: none;
}

.pending-location-pin::after { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: white; }
.pending-location-picker footer { display: flex; justify-content: flex-end; gap: 10px; }
.pending-location-picker footer .button { min-height: 44px; }
.pending-location-save.button { flex: 1; border-color: var(--green); background: var(--green); color: white; }
.pending-location-save.button:disabled { opacity: .52; cursor: default; }

.list-scope {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
  flex: none;
  gap: 3px;
  margin: 12px 14px 0;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}
.list-scope button {
  min-height: 36px;
  padding: 4px 3px;
  border-radius: 5px;
  color: var(--green);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}
.list-scope button[aria-pressed="true"] { background: var(--green); color: white; }
.list-scope button[aria-pressed="false"]:hover { background: #e4f1e8; }
.list-header { flex-wrap: wrap; gap: 2px 8px; }
#list-sort { color: #526d60; font-weight: 600; }
.card-activity { display: flex; align-items: center; flex-wrap: wrap; gap: 3px 7px; margin: 6px 0 3px; font-size: 11px; }
.card-activity time { color: #526d60; }
.activity-badge { padding: 2px 6px; border-radius: 4px; background: #eaf0f5; color: #35516b; font-weight: 600; }
.activity-badge.price_drop { background: #e1f2e5; color: #27593c; }
.activity-badge.photos_added { background: #fff0d6; color: #714c1d; }

@media (max-width: 760px) {
  .list-scope { margin: 7px 7px 0; }
  .list-scope button { min-height: 44px; font-size: 11px; }
}
