html, body {
  height: 100%;
  margin: 0;
}

#map {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.leaflet-control-layers-expanded {
  max-height: 60vh;
  overflow: auto;
}

/* Slightly smaller font for layers control */
.leaflet-control-layers {
  font-size: 12px;
}

.legend {
  background: white;
  padding: 8px 10px;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  font: 12px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.legend .item { display: flex; align-items: center; margin: 4px 0; }
.legend .swatch { width: 14px; height: 14px; margin-right: 6px; border-radius: 50%; }
.legend .line { width: 18px; height: 3px; margin-right: 6px; background: #e07b39; }

.loading {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(255,255,255,0.9);
  padding: 6px 10px;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
  font-size: 12px;
}

.toast {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(0,0,0,0.8);
  color: #fff;
  padding: 8px 10px;
  border-radius: 4px;
  font-size: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.35);
}
