.directory-map-workspace { min-width: 0; }
.directory-map-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.directory-map-toolbar h2 { margin: 0; font-size: 24px; letter-spacing: 0; }
.directory-map-reset { width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid #cbd5df; border-radius: 6px; background: #fff; color: #263642; font: 26px/1 Arial, sans-serif; cursor: pointer; }
.directory-map-reset:hover { background: #eaf1f0; }
.directory-map-reset:disabled { opacity: .5; cursor: default; }
.directory-map-reset:focus-visible, .directory-map-canvas:focus-visible { outline: 3px solid #217c74; outline-offset: 3px; }
.directory-map-status { margin: 8px 0 14px; color: #526271; font-size: 14px; }
.directory-map-canvas { height: 480px; width: 100%; border: 1px solid #cbd5df; border-radius: 6px; background: #cddfe9; z-index: 0; }
.directory-map-cluster { display: flex; align-items: center; justify-content: center; border: 3px solid #fff; border-radius: 50%; background: #176d63; color: #fff; font: 700 14px/1 Arial, sans-serif; box-shadow: 0 1px 5px #0003; }
.directory-map-point { border: 3px solid #fff; border-radius: 50%; background: #b84639; box-shadow: 0 1px 5px #0005; }
.directory-map-canvas .leaflet-popup-content { margin: 16px; font-size: 14px; }
.directory-map-canvas .leaflet-popup-content strong { display: block; }
.directory-map-canvas .leaflet-popup-content p { margin: 8px 0; }
.directory-map-canvas .leaflet-popup-content a { color: #176d63; text-decoration: underline; }
@media (max-width: 640px) { .directory-map-canvas { height: 360px; } .directory-map-toolbar h2 { font-size: 21px; } }
