.content.map-page{max-width:1440px;width:calc(100% - 48px)}
.map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 22px}
.map-heading h1{font-size:clamp(28px,3vw,40px);margin:0 0 6px;letter-spacing:-.03em}
.map-heading p,.map-toolbar p,.map-footnote{color:var(--muted);margin:0}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 12px;font-size:13px}
.map-regions{display:flex;gap:6px;flex-shrink:0}
.map-regions button,#map-reset-selection{color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px;cursor:pointer;font:inherit}
.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:var(--panel);height:650px;max-height:78vh;min-height:450px}
.map-canvas-wrap{position:relative;min-width:0;background:#dbe5ef}
#job-map{width:100%;height:100%}
#search-map-area{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:2;box-shadow:0 3px 14px #0003;white-space:nowrap}
.map-results{overflow:auto;border-left:1px solid var(--border);padding:20px;scroll-behavior:smooth}
.map-results-top{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:4px}
.map-results h2{font-size:19px;margin:0 0 7px}
#map-status{color:var(--muted);font-size:13px;margin:0;min-height:20px}
#map-reset-selection{margin-top:10px;color:var(--accent)}
.map-job-card{padding:18px 0;border-bottom:1px solid var(--border)}
.map-job-card h3{font-size:17px;line-height:1.4;margin:5px 0 8px}
.map-job-card p{font-size:13px;color:var(--muted);margin:5px 0;line-height:1.5}
.map-job-card .map-job-pay{font-weight:650;color:var(--text)}
.map-job-card a{color:var(--text);text-decoration:none}
.map-job-card a:hover{text-decoration:underline;color:var(--accent)}
#map-more{margin:18px 0 0;width:100%}
.map-footnote{font-size:12px;margin:12px 0 24px;line-height:1.6}
#map-error{position:absolute;bottom:35px;left:16px;right:16px;padding:12px 16px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 20px #0002;z-index:2;font-size:13px}
.maplibregl-popup-content{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:16px;min-width:160px;font-family:inherit}
.maplibregl-popup-content p{margin:5px 0}
.maplibregl-popup-close-button{color:var(--text);font-size:20px}
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--panel)}
.maplibregl-ctrl-attrib a{color:#333}
.map-page [hidden]{display:none!important}
@media(max-width:900px){.map-workspace{grid-template-columns:minmax(0,1fr) 300px}.map-page{width:calc(100% - 32px)}}
@media(max-width:650px){.map-heading{align-items:flex-start}.map-heading p{font-size:13px}.map-heading .button{padding:10px 12px;font-size:13px}.map-toolbar{align-items:flex-start;flex-direction:column}.map-workspace{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0}.map-canvas-wrap{height:420px;flex:none}.map-results{border-left:0;border-top:1px solid var(--border);max-height:500px;padding:16px}.map-page{width:calc(100% - 24px)}.map-regions button{padding:7px 12px}}
