/* Map workspace — isolated from Estate's other pages. */
.map-nav { width:100%; border:0; background:transparent; font-family:inherit; text-align:left; }
#page-map .page-title { font-weight:400; }
body:has(#page-map.active) .page-content { padding:24px; max-width:none; }
#page-map.active { display:flex; flex-direction:column; height:calc(100dvh - 108px); min-height:580px; overflow:hidden; animation:none; background:var(--surface); color:var(--text); --map-line:var(--border); --map-muted:var(--text-muted); }
#page-map button, #page-map input, #page-map select, #page-map summary { font:inherit; }
#page-map button, #page-map summary { cursor:pointer; }
#page-map button:focus-visible, #page-map input:focus-visible, #page-map select:focus-visible, #page-map summary:focus-visible, #map-property-list:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.map-app-header { height:72px; flex-shrink:0; display:flex; align-items:center; padding:0 28px; gap:44px; border-bottom:1px solid var(--map-line); background:var(--surface); z-index:3; }
.map-app-header button { border:0; background:none; color:var(--map-muted); }
.map-app-header .map-add { margin-left:auto; background:var(--accent); color:white; border-radius:var(--radius-sm); padding:11px 17px; white-space:nowrap; box-shadow:0 2px 3px #16212c15; }
.map-add span { font-size:20px; line-height:10px; vertical-align:-1px; margin-right:5px; }
.map-workspace { display:grid; grid-template-columns:clamp(310px,28vw,390px) minmax(0,1fr); flex:1; min-height:0; }
.map-directory { display:flex; flex-direction:column; min-height:0; border-right:1px solid var(--map-line); background:var(--surface); z-index:2; }
.map-directory-header { padding:27px 24px 16px; flex-shrink:0; }
.map-directory-header h1 { font-family:'DM Serif Display',serif; font-size:25px; font-weight:400; letter-spacing:-.7px; line-height:1.3; }
.map-count { margin-top:6px; font-size:14px; color:var(--map-muted); }
.map-search-wrap { display:flex; align-items:center; gap:10px; border:1px solid var(--border); border-radius:var(--radius-sm); padding:0 12px; height:44px; margin:24px 0 16px; color:var(--text-muted); }
.map-search-wrap svg { flex-shrink:0; }
.map-search-wrap:focus-within { border-color:var(--accent); box-shadow:0 0 0 2px #7e8d9b18; }
#map-search { width:100%; min-width:0; border:0; background:transparent; outline:0; color:var(--text); font-size:13px; }
#map-search::placeholder { color:var(--text-muted); }
.map-filter-row { display:flex; gap:8px; align-items:center; }
.map-filter-row > button, .map-more-filters summary { border:0; border-radius:var(--radius-sm); background:var(--surface2); color:var(--text); padding:9px 16px; font-size:13px!important; font-weight:500!important; }
.map-filter-row > button.active { background:var(--accent); color:white; }
.map-more-filters { position:relative; margin-left:auto; }
.map-more-filters summary { list-style:none; background:var(--surface); padding:8px; }
.map-more-filters summary::-webkit-details-marker, .map-layers summary::-webkit-details-marker { display:none; }
.map-filter-menu { position:absolute; top:40px; right:0; z-index:6; padding:16px; width:230px; background:var(--surface); border:1px solid var(--map-line); border-radius:8px; box-shadow:0 8px 24px #26313c18; }
.map-filter-menu > label { display:block; font-size:12px; color:var(--map-muted); }
.map-filter-menu select { display:block; width:100%; margin:8px 0 16px; border:1px solid var(--map-line); padding:8px; border-radius:5px; background:var(--surface); color:var(--text); }
.map-filter-menu .map-archive-toggle { display:flex; align-items:center; gap:10px; padding:5px 0; line-height:1.5; }
.map-filter-menu .map-archive-toggle + .map-archive-toggle { margin-top:10px; }
.map-archive-toggle input { accent-color:var(--accent); }
.map-property-list { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 10px 8px; scrollbar-width:thin; scrollbar-color:#c7cbd0 transparent; }
.map-property-card { position:relative; padding:15px 12px; margin:2px 0; border-radius:var(--radius-sm); transition:background .15s; }
.map-property-card:hover { background:var(--bg); }
.map-property-card.selected { background:var(--accent-light); }
.map-property-focus { display:flex; align-items:center; gap:15px; width:100%; padding:0; border:0; background:none; color:var(--text); text-align:left; }
.map-property-photo { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:78px; height:87px; border-radius:6px; overflow:hidden; background:var(--surface2); color:#a5acae; }
.map-property-photo img { width:100%; height:100%; object-fit:cover; }
.map-property-copy { flex:1; min-width:0; }
.map-property-title { display:flex; flex-wrap:wrap; gap:4px 7px; align-items:baseline; font-size:14px; line-height:1.5; }
.map-property-name { font-weight:600; overflow-wrap:anywhere; }
.map-property-unit { font-size:12px; font-weight:400; white-space:nowrap; }
.map-property-address { display:block; color:var(--map-muted); font-size:12px; line-height:1.6; margin-top:5px; overflow-wrap:anywhere; }
.map-property-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin-top:6px; }
.map-property-rent { font-size:13px; font-weight:600; white-space:nowrap; }
.map-property-status { display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--text-muted); white-space:nowrap; }
.map-dot { width:7px; height:7px; display:inline-block; border-radius:50%; background:#8e96a3; }
.map-dot.rented { background:var(--accent-mid); }
.map-dot.owned { background:#8697b4; }
.map-property-link { background:none; border:0; padding:0; color:var(--accent); font-size:12px!important; text-decoration:underline; text-underline-offset:3px; }
.map-card-detail { display:block; margin:5px 0 0 93px; }
.map-location-note { display:block; font-size:11px; color:var(--text-muted); margin:5px 0 0 93px; line-height:1.5; }
.map-location-note.error, .map-location-note.unmatched { color:var(--text-muted); }
.map-location-note.ambiguous { color:var(--text); }
.map-location-candidates { display:block; margin:4px 0 0 93px; }
.map-location-candidate { display:block; width:fit-content; max-width:100%; background:none; border:0; padding:2px 0; color:var(--accent); font-size:11px; text-align:left; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.map-location-candidate:hover { color:var(--text); }
.map-directory-footer { border-top:1px solid var(--map-line); padding:10px 24px; flex-shrink:0; }
.map-progress { color:var(--map-muted); font-size:11px; line-height:1.6; margin:0; }
.map-retry { margin-top:6px; }
.map-retry[hidden], .map-notice[hidden] { display:none; }
.map-stage { position:relative; min-width:0; min-height:0; isolation:isolate; }
#property-map { width:100%; height:100%; background:#e8ece8; font-family:inherit; z-index:0; }
#property-map.map-soft .leaflet-tile-pane { filter:saturate(.46) contrast(.93) brightness(1.04); }
.map-fit { position:absolute; top:18px; left:18px; z-index:1; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); padding:10px 13px; box-shadow:0 2px 8px #26313c13; color:var(--accent); font-size:12px!important; }
.map-fit span { margin-left:8px; }
.map-fit:disabled { opacity:.6; cursor:default!important; }
.map-layers { position:absolute; bottom:30px; right:18px; z-index:2; background:var(--surface); border-radius:var(--radius-sm); border:1px solid var(--border); box-shadow:0 2px 8px #26313c13; }
.map-layers summary { list-style:none; padding:13px 17px; color:var(--accent); font-size:13px!important; }
.map-layers > div { padding:0 10px 10px; display:flex; gap:5px; }
.map-layers button { background:var(--surface2); border:0; padding:8px 13px; border-radius:5px; font-size:12px!important; }
.map-layers button.active { background:var(--accent); color:white; }
.map-pin { background:transparent; border:0; }
.map-pin-body { display:flex; align-items:center; justify-content:center; width:31px; height:31px; border-radius:50% 50% 50% 4px; transform:rotate(-45deg); background:var(--accent); border:2px solid white; box-shadow:0 2px 5px #26313c25; }
.map-pin-body span { transform:rotate(45deg); font-size:11px; color:white; font-weight:600; }
.map-pin-body svg { display:block; }
.map-pin.cluster .map-pin-body { border-radius:50%; width:34px; height:34px; }
.map-pin.selected .map-pin-body { background:var(--accent-mid); outline:3px solid #ffffff90; box-shadow:0 0 0 5px #26313c25; }
.map-popup { max-height:300px; overflow-y:auto; min-width:245px; }
.map-popup article { display:flex; gap:12px; align-items:center; padding:3px 0; }
.map-popup article + article { border-top:1px solid var(--border); margin-top:12px; padding-top:12px; }
.map-popup .map-property-photo { width:76px; height:82px; }
.map-popup h3 { font-size:13px; line-height:1.6; margin:0; color:var(--text); }
.map-popup h3 span { font-size:12px; font-weight:400; margin-left:5px; }
.map-popup p { font-size:11px; color:var(--text-muted); margin:5px 0; }
.map-popup .map-property-rent { display:block; margin:3px 0 10px; }
.map-popup .map-property-link { display:block; }
.map-notice { position:absolute; z-index:4; left:16px; right:16px; top:64px; padding:12px 16px; background:var(--surface); border:1px solid var(--border); border-radius:8px; box-shadow:0 2px 8px #26313c13; font-size:12px; line-height:1.6; }
.map-empty { padding:30px 18px; color:var(--map-muted); font-size:13px; line-height:1.7; }
#property-map .leaflet-popup-content-wrapper { border-radius:9px; box-shadow:0 5px 24px #26313c20; }
#property-map .leaflet-popup-content { margin:17px 24px 17px 16px; font-family:inherit; }
#property-map .leaflet-control-attribution { font-size:9px; background:#ffffffe0; }
#property-map .leaflet-control-zoom { margin:0 18px 90px 0; border:1px solid var(--border); box-shadow:0 2px 8px #26313c13; border-radius:var(--radius-sm); overflow:hidden; }
#property-map .leaflet-control-zoom a { width:40px; height:40px; line-height:40px; color:var(--accent); }
#property-map .leaflet-control-scale { margin:0 0 28px 18px; }
@media(max-width:1000px) {
  .map-app-header { gap:25px; padding:0 20px; }
  .map-workspace { grid-template-columns:330px minmax(0,1fr); }
  .map-directory-header { padding:23px 20px 16px; }
  .map-property-photo { width:62px; height:76px; }
  .map-property-focus { gap:12px; }
  .map-card-detail, .map-location-note { margin-left:74px; }
}
@media(max-width:640px) {
  .map-app-header { height:60px; padding:0 14px; gap:16px; }
  .map-app-header .map-add { font-size:12px!important; padding:9px; }
  .map-workspace { display:flex; flex-direction:column; }
  .map-stage { order:-1; flex:1; min-height:220px; }
  .map-directory { height:46%; border-right:0; border-top:1px solid var(--map-line); }
  .map-directory-header { padding:12px 16px 8px; }
  .map-directory-header h1 { font-size:19px; display:inline; }
  .map-count { display:inline; margin-left:8px; font-size:12px; }
  .map-search-wrap { margin:10px 0; height:36px; }
  .map-filter-row > button { padding:7px 13px; }
  .map-property-card { padding:10px; }
  .map-property-photo { height:62px; }
  .map-directory-footer { padding:6px 16px; }
  .map-fit { top:10px; left:10px; padding:8px; }
  .map-layers { right:10px; bottom:25px; }
  .map-layers summary { padding:9px 12px; }
  #property-map .leaflet-control-zoom { margin-right:10px; margin-bottom:77px; }
  #property-map .leaflet-control-zoom a { width:32px; height:32px; line-height:32px; }
  .map-popup { min-width:205px; max-height:160px; }
}
@media(prefers-reduced-motion:reduce) { #page-map * { transition:none!important; scroll-behavior:auto!important; } }

/* Inherit Estate's shell, typography and shared design tokens. */
#page-map.active { background:var(--bg); }
.map-app-header { height:auto; padding:0 0 20px; border:0; background:transparent; gap:16px; }
.map-app-header .map-add { background:var(--accent); border-radius:var(--radius-sm); box-shadow:none; }
.map-app-header .map-add:hover { background:var(--accent-mid); }
.map-workspace { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.map-filter-row > button { border:1.5px solid var(--border); border-radius:20px; background:var(--surface); color:var(--text-muted); font-size:12px!important; text-transform:uppercase; }
.map-filter-row > button.active { background:var(--accent-light); color:var(--accent); border-color:var(--accent); }
.map-search-wrap { background:var(--bg); border-width:1.5px; }
.map-search-wrap:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(26,107,74,.08); }
@media(max-width:1100px) { #page-map.active { height:calc(100dvh - 158px); } }
@media(max-width:720px) {
 body:has(#page-map.active) .page-content { padding:16px; }
 #page-map.active { height:calc(100dvh - 210px); min-height:650px; }
 .map-app-header { padding:0 0 16px; }
 .map-app-header .page-title { font-size:24px; }
}

/* Figma Motion: 280ms reveal, 220ms dismiss; overlay never resizes the map. */
#map-nav-reveal { display:none; }
body.map-auto-nav #main { margin-left:60px; }
body.map-auto-nav #sidebar { transform:translateX(-100%); transition:transform 220ms cubic-bezier(.4,0,.2,1), box-shadow 220ms ease; }
body.map-auto-nav.map-nav-open #sidebar { transform:translateX(0); transition-duration:280ms; transition-timing-function:cubic-bezier(.16,1,.3,1); box-shadow:12px 0 36px rgba(26,26,24,.12); }
body.map-auto-nav #map-nav-reveal { display:flex; position:fixed; inset:0 auto 0 0; width:60px; flex-direction:column; gap:6px; padding:14px 8px; align-items:center; justify-content:flex-start; border:0; border-right:1px solid var(--border); background:var(--surface); color:var(--accent); z-index:99; }
#map-nav-reveal span { border-radius:8px; font-size:23px; line-height:48px; }
#map-nav-reveal:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
body.map-auto-nav .map-workspace { grid-template-columns:320px minmax(0,1fr); }
@media(max-width:640px) { body.map-auto-nav #main { margin-left:0; } body.map-auto-nav #map-nav-reveal { display:none; } }
@media(prefers-reduced-motion:reduce) { body.map-auto-nav #sidebar, body.map-auto-nav #main { transition:none!important; } }

#map-nav-reveal button { display:grid; place-items:center; width:42px; height:40px; flex-shrink:0; border:0; border-radius:var(--radius-sm); color:var(--text-muted); background:transparent; cursor:pointer; }
#map-nav-reveal button:hover, #map-nav-reveal button[aria-current="page"] { background:var(--accent-light); color:var(--accent); }
#map-nav-reveal button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
#map-nav-reveal .map-rail-brand { font-family:'DM Serif Display',serif; color:var(--accent); font-size:27px; margin-bottom:18px; }

/* The rail itself expands: a single set of stationary icons, labels to the right. */
body.map-auto-nav #sidebar, body.map-auto-nav.map-nav-open #sidebar { transform:translateX(-100%); box-shadow:none; visibility:hidden; }
body.map-auto-nav #map-nav-reveal { align-items:flex-start; overflow:hidden; transition:width 220ms cubic-bezier(.4,0,.2,1), box-shadow 220ms ease; z-index:100; }
body.map-auto-nav.map-nav-open #map-nav-reveal { width:260px; box-shadow:12px 0 36px rgba(26,26,24,.12); transition:width 280ms cubic-bezier(.16,1,.3,1), box-shadow 280ms ease; }
#map-nav-reveal button { display:flex; justify-content:flex-start; gap:20px; padding:0 13px; width:244px; text-align:left; font:500 13.5px 'DM Sans',sans-serif; white-space:nowrap; }
#map-nav-reveal button svg { flex:0 0 16px; width:16px; height:16px; }
#map-nav-reveal .map-rail-label { font-size:inherit; line-height:normal; opacity:0; transform:translateX(-6px); transition:opacity 120ms ease, transform 220ms ease; }
body.map-nav-open #map-nav-reveal .map-rail-label { opacity:1; transform:translateX(0); transition:opacity 180ms ease 60ms, transform 280ms cubic-bezier(.16,1,.3,1); }
#map-nav-reveal .map-rail-brand { gap:0; }
#map-nav-reveal .map-rail-letter { font-size:27px; line-height:normal; }
#map-nav-reveal .map-rail-brand .map-rail-label { font-size:27px; }
@media(max-width:640px) { body.map-auto-nav.map-nav-open #map-nav-reveal { display:flex; } }
@media(prefers-reduced-motion:reduce) { #map-nav-reveal, #map-nav-reveal .map-rail-label { transition:none!important; } }

/* Keep the navigation highlight local to its icon in both rail states. */
#map-nav-reveal button { position:relative; isolation:isolate; }
#map-nav-reveal button:hover, #map-nav-reveal button[aria-current="page"] { background:transparent; }
#map-nav-reveal button::before { content:''; position:absolute; left:1px; top:0; width:40px; height:40px; border-radius:var(--radius-sm); background:transparent; z-index:-1; }
#map-nav-reveal button:hover::before, #map-nav-reveal button[aria-current="page"]::before { background:var(--accent-light); }

#map-nav-reveal button svg { flex-basis:18px; width:18px; height:18px; }

/* The Estate wordmark is branding, not a highlighted navigation icon. */
#map-nav-reveal .map-rail-brand::before { display:none; }
#map-nav-reveal .map-rail-brand:hover { background:transparent; color:var(--accent); }

/* Shared application shell and page treatment. */
body.map-auto-nav .page-content { max-width:none; padding:24px; }
body.map-auto-nav .topbar { box-shadow:none; }
body.map-auto-nav .shortcut-search, body.map-auto-nav .shortcut-icon-btn, body.map-auto-nav .shortcut-action { box-shadow:none; border-radius:var(--radius-sm); }
body.map-auto-nav .filter-btn.active:not([class*="resp-"]):not([class*="urgency-"]) { background:var(--accent-light); color:var(--accent); border-color:var(--accent); }
body.map-auto-nav .stat-card:hover { box-shadow:var(--shadow); transform:none; }
body.map-auto-nav #map-nav-reveal { overflow-y:auto; overflow-x:hidden; scrollbar-width:none; }
#map-nav-reveal .rail-account { display:flex; align-items:center; gap:15px; width:244px; min-height:52px; margin-top:auto; padding:8px; border-top:1px solid var(--border); flex-shrink:0; }
#map-nav-reveal .rail-avatar { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; border-radius:50%; background:var(--accent-light); color:var(--accent); font:600 11px 'DM Sans',sans-serif; }
#map-nav-reveal .rail-identity { font:500 12px 'DM Sans',sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media(max-width:640px) { body.map-auto-nav .page-content { padding:16px; } }

/* The icon rail is the navigation entry point on every screen size. */
@media(max-width:640px) { body.map-auto-nav #main { margin-left:60px; } body.map-auto-nav #map-nav-reveal { display:flex; } }

/* Shared line icons inherit semantic text colours. */
.ui-icon { display:inline-block; width:16px; height:16px; vertical-align:-3px; flex-shrink:0; }
.empty-icon .ui-icon { width:32px; height:32px; }
.doc-icon .ui-icon, .alert-icon .ui-icon { width:22px; height:22px; }
.prop-delete-btn .ui-icon { vertical-align:middle; }

/* Joined occupancy controls with a matching, separate filter action. */
.map-filter-row { gap:8px; align-items:stretch; }
.map-status-segments { display:flex; flex:1; min-width:0; border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; background:var(--surface); }
.map-status-segments button { flex:1; min-width:0; height:36px; padding:0 8px; border:0; border-radius:0; background:transparent; color:var(--text-muted); font-size:12px!important; font-weight:500!important; white-space:nowrap; }
.map-status-segments button + button { border-left:1px solid var(--border); }
.map-status-segments button:hover { background:var(--surface2); color:var(--text); }
.map-status-segments button.active { background:var(--accent-light); color:var(--accent); font-weight:600!important; }
#page-map .map-status-segments button:focus-visible { outline-offset:-3px; }
.map-more-filters { margin-left:0; flex-shrink:0; }
.map-more-filters summary { display:flex; align-items:center; justify-content:center; gap:6px; height:38px; padding:0 10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); color:var(--text); font-size:12px!important; font-weight:500!important; }
.map-more-filters summary:hover { background:var(--surface2); }
.map-more-filters[open] summary { background:var(--accent-light); border-color:var(--accent); color:var(--accent); }
.map-more-filters summary svg { flex-shrink:0; }

.location-picker { width:min(760px,calc(100vw - 32px)); max-height:90dvh; overflow:auto; border:1px solid var(--border); border-radius:var(--radius); padding:24px; color:var(--text); background:var(--surface); font-family:inherit; margin:auto; }
.location-picker::backdrop { background:rgba(20,35,28,.4); }
.location-picker h2 { font-family:'DM Serif Display',serif; font-weight:400; }
.location-picker p { margin:12px 0; font-size:13px; }
.location-picker-search, .location-picker-coordinates, .location-picker-actions { display:flex; gap:12px; align-items:end; }
.location-picker-search input { flex:1; min-width:0; }
.location-picker-map { height:330px; margin:12px 0; border-radius:10px; }
.location-picker-results { display:grid; gap:6px; max-height:160px; overflow:auto; margin-top:10px; }
.location-picker-results button { text-align:left; justify-content:flex-start; white-space:normal; }
.location-picker-coordinates label { flex:1; min-width:0; font-size:12px; }
.location-picker-actions { justify-content:flex-end; }
.location-picker-actions .btn { width:auto; }
.location-picker button:disabled { opacity:.5; cursor:default; }
@media(max-width:600px) { .location-picker-coordinates { flex-wrap:wrap; } .location-picker-search { align-items:stretch; flex-direction:column; } }

#page-map .map-location-action { display:flex; align-items:center; gap:5px; width:fit-content; margin:3px 0 0 93px; padding:4px 0; border:0; border-radius:3px; background:transparent; color:var(--text-muted); font-size:12px; font-weight:400; line-height:1.5; transition:color .15s; }
#page-map .map-location-action:hover { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.map-location-action svg { flex-shrink:0; }
@media(max-width:1000px) { #page-map .map-location-action { margin-left:74px; } }

.map-card-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:5px 0 0 93px; }
.map-card-actions .map-card-detail { margin:0; white-space:nowrap; }
#page-map .map-card-actions .map-location-action { margin:0; font-size:11px; white-space:nowrap; }
.map-location-flag { display:table; padding:2px 6px; margin-bottom:5px; border-radius:4px; background:#fff0d7; color:#905500; font-size:10px; font-weight:500; line-height:1.5; }
.map-location-flag.pending { background:var(--surface2); color:var(--text-muted); }
.map-card-menu { position:relative; }
.map-card-menu summary { list-style:none; color:var(--text-muted); cursor:pointer; padding:0 7px; font-size:20px; line-height:24px; border-radius:4px; }
.map-card-menu summary::-webkit-details-marker { display:none; }
.map-card-menu summary:hover { color:var(--accent); background:var(--surface2); }
#page-map .map-card-menu[open] .map-location-action { position:absolute; right:0; top:26px; z-index:5; background:var(--surface); padding:10px 12px; border:1px solid var(--border); border-radius:6px; box-shadow:var(--shadow); }
.map-location-choices { margin:4px 0 0 93px; font-size:11px; color:var(--text-muted); }
@media(max-width:1000px) { .map-card-actions, .map-location-choices { margin-left:74px; } }

/* Option A: compact bordered cards with one full-width action footer. */
#page-map .map-property-card { padding:14px; margin:0 0 12px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
#page-map .map-property-card:hover { background:var(--bg); }
#page-map .map-property-card.selected { background:var(--accent-light); border-color:#bfd8cc; }
#page-map .map-property-focus { align-items:flex-start; gap:14px; }
#page-map .map-property-photo { position:relative; width:76px; height:84px; overflow:visible; }
#page-map .map-property-photo img { border-radius:6px; }
#page-map .map-property-title { display:flex; align-items:start; gap:5px; font-size:12px; line-height:1.4; }
#page-map .map-property-name { flex:1; }
#page-map .map-property-status { background:var(--accent-light); color:var(--accent); border-radius:4px; padding:2px 5px; font-size:10px; }
#page-map .map-property-status .map-dot { display:none; }
#page-map .map-property-address { margin-top:4px; font-size:11px; }
#page-map .map-property-bottom { margin-top:12px; }
#page-map .map-property-rent { font-weight:400; }
#page-map .map-location-flag { position:absolute; top:0; left:0; z-index:1; margin:0; padding:4px 5px; font-size:9px; white-space:nowrap; box-shadow:0 1px 2px #00000008; }
#page-map .map-card-actions { margin:13px 0 0; padding-top:10px; border-top:1px solid var(--border); min-height:30px; }
#page-map .map-card-detail { text-decoration:none; font-size:11px!important; }
#page-map .map-card-actions .map-location-action { color:var(--accent); }
#page-map .map-location-choices { margin:8px 0 0; }

.map-review-missing { width:100%; padding:9px 10px; margin-bottom:10px; border:1px solid #ead5ad; border-radius:6px; background:#fff7e9; color:#905500; text-align:left; font-size:12px!important; }
.location-review-nav { display:flex; align-items:end; gap:10px; margin:14px 0; }
.location-review-nav label { flex:1; min-width:0; font-size:12px; color:var(--text-muted); }
.location-review-nav select { margin-top:6px; }
.location-review-nav .btn { flex-shrink:0; }
