.hm { display: flex; flex-direction: column; gap: 8px; }
.hm__bar { display: flex; gap: 6px; }
.hm__tab { background: var(--surface-2, #1c1c1c); color: var(--text-secondary, #aaa); border: 1px solid var(--border, #333); border-radius: 999px; padding: 4px 12px; font-size: 13px; cursor: pointer; }
.hm__tab.is-active { background: var(--accent, #D4A03A); color: #1a1a1a; border-color: var(--accent, #D4A03A); }
.hm__map { width: 100%; height: 420px; border-radius: 10px; overflow: hidden; border: 1px solid var(--border, #333); background: #111; }
.hm--compact .hm__map { height: 200px; }
.hm__cap { font-size: 11px; color: var(--text-secondary, #888); }
.hm__offline { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--text-secondary, #888); font-size: 13px; }
.leaflet-container { background: #111; font: inherit; }
