:root {
  color-scheme: light;
  --green-950:#0b2e18;
  --green-800:#174f2a;
  --green-700:#1e6a36;
  --green-100:#e9f5ec;
  --cream:#f6f5ed;
  --ink:#183023;
  --muted:#637069;
  --line:#dbe3dc;
  --amber:#e5a51a;
  --amber-bg:#fff7df;
  --white:#fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink)}
button,input{font:inherit}
.topbar{height:76px;padding:10px max(16px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:18px;background:white;border-bottom:1px solid var(--line)}
.logo{width:116px;height:48px;object-fit:contain;object-position:left center}
h1,h2,p{margin:0}
h1{font-size:clamp(1.15rem,4vw,1.65rem);line-height:1.1;color:var(--green-950)}
h2{font-size:1.25rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;color:var(--green-700);margin-bottom:3px}
main{max-width:1180px;margin:auto;padding:16px}
.map-wrap{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(20,48,32,.14);border:1px solid #cfdacf}
#map{height:min(56vh,570px);min-height:390px;background:#dfe9df}
.map-control{position:absolute;z-index:500;top:12px;right:12px;border:0;border-radius:10px;background:white;color:var(--green-800);font-weight:750;padding:10px 14px;box-shadow:0 2px 12px rgba(0,0,0,.18);cursor:pointer}
.number-marker{width:34px;height:34px;display:grid;place-items:center;border:3px solid white;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35);font-weight:850;color:white;background:var(--green-700)}
.number-marker.review{background:var(--green-700);color:white}.number-marker.group-marker{width:68px;border-radius:18px;font-size:.72rem}
.context-marker{width:24px;height:24px;border:2px solid white;border-radius:50%;display:grid;place-items:center;background:#68746d;color:white;font-size:.55rem;font-weight:800;box-shadow:0 1px 5px rgba(0,0,0,.3)}
.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-popup-content{margin:14px;min-width:205px}.popup-title{font-weight:850;color:var(--green-950);margin-bottom:4px}.popup-meta{font-size:.78rem;color:var(--muted);margin-bottom:10px}.popup-list{padding-left:18px;margin:8px 0;max-height:180px;overflow:auto;font-size:.72rem;line-height:1.5}.popup-button{display:block;text-align:center;text-decoration:none;background:var(--green-700);color:white;padding:9px;border-radius:8px;font-weight:750}.popup-button.secondary{background:#eef4ef;color:var(--green-800);margin-top:6px}
.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:end;margin:22px 0 14px}.search{flex:1;max-width:440px}.search span{display:block;font-size:.72rem;font-weight:800;margin:0 0 5px 3px;color:var(--muted)}.search input{width:100%;border:1px solid var(--line);background:white;padding:11px 13px;border-radius:11px;outline:none}.search input:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #dcefe1}
.filters{display:flex;gap:7px;overflow:auto}.filter{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 12px;white-space:nowrap;color:var(--muted);font-weight:700;cursor:pointer}.filter.active{background:var(--green-800);border-color:var(--green-800);color:white}.filter.plan-button{border-color:var(--green-700);color:var(--green-800)}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.section-heading>span{font-size:.78rem;color:var(--muted)}
.property-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:start;cursor:pointer;transition:.15s}.card:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(17,59,31,.09)}.card-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:var(--green-800);font-weight:850}.card.review .card-number{background:var(--green-100);color:var(--green-800)}.card h3{font-size:.94rem;margin:0 0 4px;color:var(--green-950)}.card p{font-size:.78rem;color:var(--muted)}
dialog{border:0;border-radius:18px;width:min(92vw,520px);padding:24px;box-shadow:0 22px 80px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(7,26,14,.65)}.close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:1.7rem;cursor:pointer;color:var(--muted)}.details-status{display:inline-block;margin:12px 0;padding:6px 9px;border-radius:999px;background:var(--green-100);color:var(--green-800);font-size:.7rem;font-weight:850;text-transform:uppercase}.details-status.review{background:var(--amber-bg);color:#745000}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.detail-grid div{background:#f5f8f5;border-radius:10px;padding:10px}.detail-grid small{display:block;color:var(--muted);margin-bottom:3px}.dialog-actions{display:grid;gap:8px;margin-top:18px}.action{border:0;border-radius:10px;padding:12px;text-align:center;text-decoration:none;background:var(--green-700);color:white;font-weight:800}.action.secondary{background:#eef4ef;color:var(--green-800)}.notice{background:var(--amber-bg);border:1px solid #f2d783;border-radius:10px;padding:11px;font-size:.8rem;color:#654800;margin-top:12px}
.plan-dialog{width:min(96vw,900px);max-height:94vh}.plan-dialog img{width:100%;height:auto;margin-top:15px;border:1px solid var(--line);border-radius:10px}.plan-help{font-size:.82rem;color:var(--muted);margin-top:6px}
footer{max-width:1180px;margin:24px auto 0;padding:18px 16px 32px;display:flex;gap:6px;flex-direction:column;color:var(--muted);font-size:.75rem}
@media(max-width:720px){main{padding:12px}.topbar{padding:10px 14px}.logo{width:92px}.toolbar{align-items:stretch;flex-direction:column}.search{max-width:none}.property-list{grid-template-columns:1fr}.card{grid-template-columns:36px 1fr}.filters{padding-bottom:2px}#map{height:48vh;min-height:350px}}
