.project-location-field { min-width: 0; }
.qps-project-map { margin-top: 12px; border: 1px solid var(--line, #d6e2e8); border-radius: 12px; overflow: hidden; background: var(--panel, #fff); color: var(--ink, #203b49); }
.qps-project-map-heading { display: flex; flex-wrap: wrap; gap: 3px 12px; padding: 12px 14px; font-size: 12px; }
.qps-project-map-heading strong { font-size: 13px; }
.qps-project-map-heading span { color: var(--muted, #657e8a); }
.qps-project-map-canvas { height: 270px; width: 100%; z-index: 0; background: #e0e8e5; }
.qps-project-map-canvas:focus-visible { outline: 3px solid var(--green, #17a897); outline-offset: -3px; }
.qps-project-map .leaflet-control-attribution { color: #253842; background: rgba(255,255,255,.94); font-size: 10px; }
.qps-project-map .leaflet-control-attribution a { color: #17648a; }
.qps-project-map .leaflet-control-zoom a { background: #fff; color: #213b47; }
.qps-project-map-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 14px 0; }
.qps-project-map-actions a { font-size: 12px; color: var(--green, #087d72); }
.qps-project-map-actions [hidden] { display: none; }
.qps-project-map-status { margin: 8px 14px 12px; font-size: 12px; line-height: 1.55; color: var(--muted, #657e8a); overflow-wrap: anywhere; }
.qps-project-map-error { display: block; margin: 0 14px 12px; color: var(--muted, #657e8a); }
.qps-project-map-error:empty { display: none; }
@media (max-width: 600px) { .qps-project-map-canvas { height: 240px; } .qps-project-map-actions .button { min-height: 38px; } }
