.location-panel { background: #16232b; border: 1px solid #314956; border-radius: 14px; padding: 14px; margin: 12px 0; }
.location-panel summary { cursor: pointer; font-weight: 750; min-height: 32px; }
.location-toggle { display: flex; align-items: center; gap: 10px; margin: 12px 0; font-size: 14px; color: #edf3fa; }
.location-toggle input { width: 22px; height: 22px; min-height: 22px; flex: 0 0 22px; accent-color: #4f8cff; }
.location-help, #location-status { font-size: 13px; line-height: 1.7; color: #b8c7d8; }
.place-row { display: grid; gap: 8px; border-top: 1px solid #344756; padding: 14px 0; }
.place-row small { color: #b8c7d8; line-height: 1.6; }
.place-row button { justify-self: start; }
#session-places { margin-top: 12px; }
.map-page { color-scheme: dark; margin: 0; background: #101820; color: #edf3fa; font-family: system-ui, sans-serif; }
.map-page main { max-width: 850px; margin: auto; padding: 20px 16px; }
.map-page h1 { font-size: 28px; }
.map-page a { color: #bdd7ff; }
.map-page button, .map-page select, .map-page input { font: inherit; min-height: 44px; box-sizing: border-box; border: 1px solid #3a5267; border-radius: 8px; padding: 10px; background: #1e3040; color: #edf3fa; }
.map-page input { width: 100%; }
.map-page button { cursor: pointer; }
.map-page button:disabled { opacity: .5; cursor: default; }
.map-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; align-items: center; }
#places-map { height: min(60vh, 480px); min-height: 280px; border-radius: 12px; background: #cad4d8; color-scheme: light; }
#places-map[hidden] { display: none; }
.place-pin { display: grid !important; place-items: center; color: #fff; background: #254c7d; border: 2px solid #fff; border-radius: 50%; font-size: 13px; font-weight: bold; box-shadow: 0 2px 8px #0006; }
.map-page .leaflet-control-attribution { font-size: 11px; color: #222; background: #fffffff2; }
.map-page .leaflet-control-attribution a { color: #14588a; }
.map-page .leaflet-popup-content { color: #182532; line-height: 1.6; }
.map-page .leaflet-bar a { color: #222; }
.map-page .place-row label { display: grid; gap: 8px; }
.map-page .map-note { color: #c4d0dd; font-size: 13px; line-height: 1.7; }
