.map-renderer-note{margin:0 0 8px;padding:8px 10px;border:1px solid #f1d79b;border-radius:7px;background:#fff9e8;color:#6e5217;font-size:11px;line-height:1.45}
.map-accuracy-note{margin:8px 0;padding:8px 10px;border-left:3px solid #d49b25;border-radius:4px;background:#fff9e8;color:#6e5217;font-size:11px;line-height:1.45}
.map-renderer-controls{display:flex;align-items:center;justify-content:flex-end;margin:0 0 8px;padding:7px 9px;border:1px solid #d9e5ef;border-radius:8px;background:#f7faff}
.map-base-layer-control{display:flex;align-items:center;gap:7px;margin-right:auto;color:#294b6b;font-size:11px;font-weight:700}
.map-base-layer-control select{min-width:145px;padding:7px 9px;border:1px solid #cbd8e5;border-radius:6px;background:#fff;color:#294b6b;font:inherit}
.map-evidence-popup{display:grid;gap:5px;min-width:220px;color:#17314d;font:12px Inter,Segoe UI,Arial,sans-serif}
.map-evidence-popup small{color:#60758a;line-height:1.45}
.mapillary-search-button{margin-top:5px}
.mapillary-result{display:grid;gap:8px}
.mapillary-result figure{margin:0}
.mapillary-result img{display:block;width:100%;max-height:170px;object-fit:cover;border-radius:6px}
.mapillary-result figcaption{margin-top:3px;color:#60758a;font-size:10px}
.route-privacy-note{display:block;padding:7px 10px;color:#6e5217;font-size:10px;line-height:1.45}
@media(max-width:900px){.mapping-map-viewport{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:700px){.map-view-actions{flex-wrap:wrap;justify-content:flex-end}.map-renderer-controls{align-items:stretch;flex-wrap:wrap}.map-base-layer-control{width:100%;justify-content:space-between}.map-base-layer-control select{flex:1}}
.mapping-map-layout{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(270px,1fr);gap:10px;align-items:stretch;height:clamp(400px,calc(100dvh - 430px),680px);min-width:0}
.mapping-map-layout>#map{grid-column:1;min-width:0;width:100%;height:100%;min-height:0}
.mapping-map-layout>#mapDetailPanel{grid-column:2;display:flex;flex-direction:column;min-width:0;min-height:0;max-height:none;overflow:hidden;border:1px solid #dce6ef;border-radius:9px;background:#fff;color:#17314d}
.map-detail-panel:focus-visible{outline:2px solid #168a4b;outline-offset:2px}
.map-detail-empty{display:grid;gap:7px;place-content:center;min-height:240px;padding:18px;text-align:center;color:#718399;font-size:12px}
.map-detail-empty strong{color:#244760;font-size:15px}
.map-detail-head{position:sticky;top:0;z-index:2;display:flex;flex:0 0 auto;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px;border-bottom:1px solid #e1e9ef;background:#f8fbfe}
.map-detail-head h4{margin:0;font-size:14px;line-height:1.3}
.map-detail-head small{display:block;margin-top:4px;color:#718399;font-size:10px}
.map-detail-close{border:1px solid #d4e0e9;border-radius:6px;background:#fff;padding:5px 8px;color:#405d75;cursor:pointer}
.map-detail-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px;border-bottom:1px solid #e8eef3}
.map-detail-filters input,.map-detail-filters select{min-width:0;width:100%;border:1px solid #cbd8e5;border-radius:6px;background:#fff;padding:8px;color:#244760;font:inherit;font-size:11px}
.map-detail-search{grid-column:1/-1}
.map-detail-actions,.map-detail-pager{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 10px}
.map-detail-actions{border-bottom:1px solid #e8eef3;font-size:10px;color:#60758a}
.map-detail-actions button,.map-detail-pager button{border:1px solid #cbd8e5;border-radius:6px;background:#fff;color:#244760;padding:6px 8px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.map-detail-actions button:disabled,.map-detail-pager button:disabled{opacity:.45;cursor:not-allowed}
.map-detail-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.map-detail-records{display:grid;gap:6px;padding:7px}
.map-detail-record{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;padding:7px;border:1px solid #e1e9ef;border-radius:7px;background:#fbfdff;font-size:10px;line-height:1.4}
.map-detail-record>input{margin-top:3px}
.map-detail-record-main{min-width:0;overflow-wrap:anywhere}
.map-detail-record-main>b{display:block;font-size:12px}
.map-detail-record-main small{color:#718399}
.map-detail-record-main .map-location-actions{display:grid;gap:4px;margin-top:4px}
.map-address-bubble{min-width:220px;color:#263b50;font-size:12px}
.map-address-bubble>strong{display:block;margin-bottom:5px;color:#123b5d;font-size:14px}
.map-address-bubble>.map-location-actions{display:grid;gap:6px;margin-top:8px}
.map-address-bubble .map-action-link{padding:6px 8px;font-size:11px;text-align:center}
.map-record-focus{justify-self:start;border:1px solid #cbd8e5;border-radius:5px;background:#fff;color:#075fae;padding:4px 7px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.map-detail-message{margin:8px;padding:10px;border-radius:6px;background:#f8fafc;color:#60758a;font-size:11px}
.map-detail-message.error{background:#fff1f2;color:#b91c1c}
.map-detail-pager{justify-content:center;border-top:1px solid #e8eef3;color:#60758a;font-size:10px}
.map-primary-filters{display:grid;grid-template-columns:minmax(210px,2fr) repeat(3,minmax(135px,1fr));gap:8px;align-items:center}
.map-primary-filters>input,.map-primary-filters>select,.map-advanced-filter-fields>select{min-width:0;width:100%;min-height:37px;padding:7px 9px;border:1px solid #cbd8e5;border-radius:7px;background:#fff;color:#244760;font:inherit;font-size:12px}
.map-advanced-filters{margin-top:8px;border:1px solid #e0e8ef;border-radius:7px;background:#f8fbfe;color:#244760}
.map-advanced-filters>summary,.route-tools-disclosure>summary{padding:7px 10px;color:#294b6b;font-size:11px;font-weight:700;cursor:pointer}
.map-advanced-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 8px 8px}
.map-filter-actions{display:flex;gap:7px;margin-top:8px}
.map-filter-actions .btn{min-height:34px;padding:6px 11px;font-size:11px}
.map-view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.map-view-title{color:#183b5b;font-size:13px;font-weight:800}
.map-view-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.map-view-actions .btn,.map-view-actions select{min-height:33px;padding:6px 9px;border:1px solid #cbd8e5;border-radius:6px;background:#fff;color:#244760;font:inherit;font-size:11px}
.map-accuracy-note{margin:0 0 7px;padding:5px 8px;font-size:10px}
.map-data-note{margin:0 0 8px;color:#526a82;font-size:10px;line-height:1.45}
.route-tools{margin:0 0 8px}
.route-tools-disclosure{border:1px solid #d9e5ef;border-radius:8px;background:#f8fbfe}
.route-tools-content{padding:0 9px 8px}
.map-legend{margin-top:8px;border:1px solid #e2eaf0;border-radius:7px;background:#f8fbfd;color:#40566d;font-size:10px}
.map-legend>summary{padding:7px 10px;font-weight:700;cursor:pointer}
.map-legend-items{display:flex;gap:12px;flex-wrap:wrap;padding:0 10px 7px}
.map-legend-items>span{display:inline-flex;align-items:center;gap:4px}
.map-legend-note{display:block;margin:0;padding:0 10px 7px}
.map-note{margin-top:6px;font-size:10px}
#page-mapping>#mappingFilters{display:block}
#page-mapping #mappingFilters .map-primary-filters,#page-mapping #mappingFilters .map-advanced-filters,#page-mapping #mappingFilters .map-filter-actions{width:100%}
#page-mapping .map-card.map-map-only{position:fixed;inset:8px;z-index:1000;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#fff}
#page-mapping .map-card.map-map-only .map-accuracy-note,#page-mapping .map-card.map-map-only .map-data-note,#page-mapping .map-card.map-map-only .mobile-map-list-backdrop{display:none}
#page-mapping .map-card.map-map-only .map-legend{position:absolute;left:12px;bottom:12px;z-index:700;width:min(420px,calc(100% - 24px));margin:0;box-shadow:0 3px 14px #10273d24}
#page-mapping .map-card.map-map-only .map-view-toolbar,#page-mapping .map-card.map-map-only .map-renderer-controls{flex:0 0 auto}
#page-mapping .map-card.map-map-only .mapping-map-layout{position:relative;flex:1 1 auto;grid-template-columns:minmax(0,1fr);height:auto;min-height:260px}
#page-mapping .map-card.map-map-only .mapping-map-layout>#map{grid-column:1;height:100%;min-height:260px}
#page-mapping .map-card.map-map-only .mapping-map-layout>#mapDetailPanel{display:none}
#page-mapping .map-card.map-map-only.map-detail-open .mapping-map-layout>#mapDetailPanel{position:absolute;inset:0 0 0 auto;z-index:800;display:flex;width:min(430px,42vw);height:auto;max-height:none;box-shadow:0 10px 34px #10273d35}
#page-mapping .map-card:fullscreen .mapping-map-layout{height:calc(100vh - 160px)}
#page-mapping .map-card:-webkit-full-screen .mapping-map-layout{height:calc(100vh - 160px)}
@media(max-width:1100px){.map-primary-filters{grid-template-columns:minmax(170px,2fr) repeat(3,minmax(115px,1fr))}.mapping-map-layout{grid-template-columns:minmax(0,2.3fr) minmax(230px,1fr)}}
@media(max-width:980px){.mapping-map-layout{grid-template-columns:minmax(0,1fr);height:auto}.mapping-map-layout>#map,.mapping-map-layout>#mapDetailPanel{grid-column:1}.mapping-map-layout>#map{height:clamp(400px,60vh,640px)}.mapping-map-layout>#mapDetailPanel{height:clamp(360px,52vh,520px)}}
@media(max-width:700px){.map-primary-filters{grid-template-columns:1fr 1fr}.map-primary-filters>input{grid-column:1/-1}.map-advanced-filter-fields{grid-template-columns:1fr}.map-view-toolbar{align-items:flex-start;flex-direction:column}.map-view-actions{width:100%;flex-wrap:wrap;justify-content:stretch}.map-view-actions>*{flex:1;min-width:78px}.map-renderer-controls{align-items:stretch;flex-wrap:wrap}.map-base-layer-control{width:100%;justify-content:space-between}.map-base-layer-control select{flex:1}}
@media(max-width:700px){#page-mapping .map-card.map-map-only.map-detail-open .mapping-map-layout>#mapDetailPanel{inset:auto 8px 8px;width:auto;height:auto;max-height:min(68dvh,620px);min-height:0}}
@media(max-width:600px){.map-detail-filters{grid-template-columns:1fr}.map-detail-search{grid-column:auto}.map-detail-actions{align-items:stretch;flex-wrap:wrap}.map-detail-actions button{flex:1}.map-detail-pager{padding:10px 4px}}
.map-detail-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
