body { font-family: 'Segoe UI', system-ui, sans-serif; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.bottom-nav-item.active { color: #22C55E; }
#map, .leaflet-map { height: 100%; width: 100%; border-radius: 12px; }
.pulse-dot {
  width: 14px; height: 14px; background: #22C55E; border-radius: 50%;
  box-shadow: 0 0 0 rgba(34,197,94,0.6);
  animation: pulse 1.5s infinite;
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(34,197,94,0.6); }
  70% { box-shadow: 0 0 0 14px rgba(34,197,94,0); }
  100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
.skeleton { background: linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; }
@keyframes shimmer { 0%{background-position:200% 0;} 100%{background-position:-200% 0;} }
