* { box-sizing: border-box; }
body, html { height: 100%; margin: 0; font-family: Arial, Helvetica, sans-serif; }
header { background:#2c3e50; color:#fff; padding:10px 16px; }
#controls { padding:8px 12px; background:#f4f6f7; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
#map { height: calc(100% - 112px); }
label { margin-right:8px; }
button { margin-left:6px; }
.poi-legend { background: white; padding:6px; border-radius:4px; box-shadow:0 1px 3px rgba(0,0,0,0.2); }
