body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; }
.sidebar { border-right: 1px solid #dee2e6; }
#map { background: #f8f9fa; }  /* Light bg for empty map */
.table-hover tbody tr:hover { background-color: #f8f9fa; }

/* Legend */
.legend { 
    display: flex; flex-direction: column; gap: 5px; font-size: 0.9em; 
}
.legend div { display: flex; align-items: center; gap: 5px; }
.legend span { 
    display: inline-block; width: 20px; height: 10px; border-radius: 50%; 
}
.legend .low { background: #00ff00; }  /* Green */
.legend .mid { background: #ffff00; }  /* Yellow */
.legend .high { background: #ff0000; } /* Red */

/* Responsive */
@media (max-width: 768px) { 
    .sidebar { height: auto !important; } 
    #map { height: 400px; } 
}

/* Popups */
.leaflet-popup-content-wrapper { border-radius: 8px; }
.leaflet-popup-content { margin: 10px; font-size: 0.9em; line-height: 1.4; }

/* Density Markers */
.density-marker { text-align: center; }