.public-map-page .map-header { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; }
.map-header .map-brand { justify-self: start; }
.map-header .map-header-actions { justify-self: end; }
.map-header-search { position: relative; width: 300px; max-width: 100%; min-width: 0; }
.map-header-search .header-search-button { width: 100%; height: 44px; justify-content: flex-start; gap: 10px; padding: 0 16px; font-size: 14px; }
.map-header-search .header-search-button[aria-expanded=true] { border-color: #1670e8; color: #1263d6; }
.map-header-search .search-panel { position: absolute; top: calc(100% + 8px); left: 50%; right: auto; transform: translateX(-50%); width: 360px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 200px); overflow-y: auto; }
.map-header-search .search-panel input { font-size: 16px; }
@media (max-width: 1100px) {
 .public-map-page .map-header { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
 .map-header-search { grid-column: 1 / -1; grid-row: 2; justify-self: center; width: min(340px, calc(100% - 112px)); }
 .map-header-search .header-search-button { justify-content: center; padding: 0 10px; font-size: 13px; }
 .public-map-page .layer-panel { top: calc(180px + env(safe-area-inset-top, 0px)); max-height: calc(100dvh - 330px - env(safe-area-inset-top, 0px)); overflow-y: auto; }
}
@media (max-width: 900px) {
 .public-map-page .map-header #connectionStatus { position: fixed; top: calc(132px + env(safe-area-inset-top, 0px)); left: 12px; right: auto; }
}
