html, body { height: 100%; margin: 0; overflow: hidden; }
#map { height: 100%; width: 100%; }

.leaflet-popup-content { margin: 0 !important; }
.leaflet-popup-content-wrapper { padding: 0 !important; overflow: hidden; border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.14) !important; }
.leaflet-popup-tip-container { margin-top: -1px; }

.sidebar-scroll::-webkit-scrollbar { width: 4px; }
.sidebar-scroll::-webkit-scrollbar-track { background: transparent; }
.sidebar-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 2px; }

input[type=range] { -webkit-appearance: none; appearance: none; height: 4px; border-radius: 2px; background: #d1d5db; outline: none; cursor: pointer; width: 100%; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 14px; height: 14px; border-radius: 50%; background: #3b82f6; cursor: pointer; border: 2px solid #1d4ed8; }

.map-crosshair, .map-crosshair .leaflet-interactive { cursor: crosshair !important; }

select option { color: #1f2937; background: white; }


@keyframes pulse-path {
  0%   { stroke-width: 2px;  stroke-opacity: 0.8; }
  100% { stroke-width: 30px; stroke-opacity: 0;   }
}

.pulsing-red-path {
  animation: pulse-path 1.5s infinite ease-out;
}
