.location-panel { background: #ffffff; border: 1px solid #e2dacd; border-radius: 14px; padding: 14px; margin: 12px 0; box-shadow: 0 2px 8px rgba(70, 50, 30, .04); }
.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: #2d241e; }
.location-toggle input { width: 22px; height: 22px; min-height: 22px; flex: 0 0 22px; accent-color: #d9771e; }
.location-help, #location-status { font-size: 13px; line-height: 1.7; color: #7a6e60; }
.place-row { display: grid; gap: 8px; border-top: 1px solid #eae3d7; padding: 14px 0; }
.place-row small { color: #7a6e60; line-height: 1.6; }
.place-row button { justify-self: start; }
#session-places { margin-top: 12px; }
.map-page { color-scheme: light; margin: 0; background: #f8f6f0; color: #2d241e; 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: #b85b09; }
.map-page button, .map-page select, .map-page input { font: inherit; min-height: 44px; box-sizing: border-box; border: 1px solid #d8cfbf; border-radius: 8px; padding: 10px; background: #ffffff; color: #2d241e; }
.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: #d9771e; border: 2px solid #fff; border-radius: 50%; font-size: 13px; font-weight: bold; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.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: #7a6e60; font-size: 13px; line-height: 1.7; }
