#district-map {
  --map-ink:#143d37; --map-paper:#f5f1e5; --map-water:#d5e9e3;
  background:var(--map-water);
}
#district-map.imp-map-national {
  background-color:var(--map-water);
  background-image:radial-gradient(#91b6ab77 1px,transparent 1px);
  background-size:18px 18px;
}
.imp-atlas-city span {
  position:absolute; transform:translate(-50%,9px); white-space:nowrap; color:#355950;
  text-shadow:0 1px 2px #fff,0 -1px 2px #fff;
  font:750 11px/1 Manrope,system-ui,sans-serif; letter-spacing:.025em;
}
.imp-atlas-city::before {
  content:""; position:absolute; width:5px; height:5px; border-radius:50%; background:#537e72;
  transform:translate(-50%,-50%);
}
#district-map .leaflet-tile-pane { filter:saturate(.49) contrast(.92) brightness(1.05); }
.street-price { border:1px solid #65968a; color:#143d37; box-shadow:0 3px 10px #153b3b36; }
.street-price.cluster { background:#143d37; border-color:#143d37; }
.street-price-icon.is-selected .street-price { background:#143d37; box-shadow:0 0 0 3px #a5ddc7,0 3px 10px #17303a44; }
.imp-map-preferences { padding:8px 0 2px; }
.imp-map-modes { display:inline-flex; gap:4px; padding:4px; border-radius:11px; background:#eaf4ef; }
.imp-map-mode {
  appearance:none; border:1px solid transparent; border-radius:8px; min-height:36px; min-width:84px;
  background:transparent; color:#174d43; font:750 13px Manrope,system-ui,sans-serif; cursor:pointer;
}
.imp-map-mode[aria-pressed=true] { background:#143d37; border-color:#143d37; color:#fff; }
.imp-map-config-status { font-size:12px; color:#425f59; margin:6px 0 0; }
#district-layers { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin-top:8px; }
#district-layers .imp-map-layer-group {
  display:flex; flex-wrap:wrap; gap:6px 9px; min-width:0; margin:0; padding:8px;
  border:1px solid #d6e5df; border-radius:9px;
}
.imp-map-layer-group legend { padding-inline:4px; color:#355951; font-size:12px; font-weight:800; }
#district-layers .imp-map-layer-group label {
  display:flex; gap:5px; align-items:center; padding:4px 6px; background:#f6faf8; border-radius:7px;
  font-size:12px; cursor:pointer;
}
#district-layers input[type=checkbox] { margin:0; }
.imp-map-key {
  --key-color:#143d37; display:inline-grid; place-items:center; width:20px; height:20px; flex:0 0 20px;
  background:var(--key-color); color:#fff; border-radius:6px; font:800 11px/1 system-ui,sans-serif;
}
.imp-map-key.key-zones { --key-color:#714d8f; }
.imp-map-key.key-iris { --key-color:#3d6280; }
.imp-map-point { width:22px; height:22px; border:2px solid white; border-radius:50%; box-shadow:0 1px 4px #143d3755; }
.imp-zone-actions { margin-top:8px; }
#explorer .district-options details[open] { width:min(100%,520px); }
#explorer .district-options summary { color:#143d37; font-weight:800; }
@media(max-width:600px) {
  #district-layers .imp-map-layer-group label { min-height:34px; }
}
#explorer .district-toolbar > .imp-map-modes { vertical-align:top; margin-inline-start:6px; }
#explorer .district-toolbar > .imp-map-modes .imp-map-mode { min-height:29px; min-width:65px; }
#explorer .district-toolbar .imp-map-preferences { padding-top:0; }
@media(max-width:480px) {
  #explorer .district-toolbar > .imp-map-modes { margin:6px 7px 0 0; }
  #explorer .district-options { margin-top:6px; }
}
