#mapDistrictPanel { position:absolute; top:12px; left:12px; z-index:550; width:320px; max-width:calc(100% - 24px); max-height:calc(100% - 60px); overflow:auto; padding:14px; border:1px solid var(--line); border-radius:16px; background:var(--panel); color:var(--ink); box-shadow:0 8px 30px #17342d26; font-size:12px; line-height:1.5; }
#mapDistrictPanel[hidden] { display:none; }
#mapDistrictPanel summary { cursor:pointer; font-weight:750; min-height:44px; }
#mapDistrictPanel summary span { font-size:15px; }
#mapDistrictPanel summary small { display:block; color:var(--muted); font-weight:500; }
#mapDistrictPanel label { display:block; margin-top:8px; font-weight:650; }
#mapDistrictPanel select { width:100%; min-height:44px; margin:4px 0; padding:8px; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:8px; font:inherit; }
#mapDistrictPanel dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:8px 0; }
#mapDistrictPanel dl>div { padding:8px; background:color-mix(in srgb,var(--teal) 6%,var(--panel)); border:1px solid var(--line); border-radius:10px; }
#mapDistrictPanel dt { font-size:11px; color:var(--muted); }
#mapDistrictPanel dd { margin:2px 0 0; font-weight:750; font-variant-numeric:tabular-nums; }
#mapDistrictPanel p { margin:8px 0; }
#mapDistrictAttribution { display:none; position:absolute; right:8px; bottom:32px; z-index:4; background:#ffffffe6; padding:1px 4px; font-size:10px; }
#mapModal[data-district-mode="true"] #mapDistrictAttribution { display:block; }
#mapDistrictAttribution a { color:#475569; text-decoration:none; }
#mapDistrictPanel a { color:var(--teal); text-decoration:underline; }
#mapDistrictPanel :is(select,summary,button,a):focus-visible { outline:3px solid var(--teal); outline-offset:2px; }
.district-period { color:var(--muted); }
.district-warning { border-left:3px solid #d97706; padding-left:8px; }
.district-scale { display:block; height:8px; border-radius:5px; margin:5px 0; background:linear-gradient(90deg,#dc2626,#eab308,#16a34a); }
.district-scale-inverted { background:linear-gradient(90deg,#16a34a,#eab308,#dc2626); }
.district-scale-labels { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }
#mapModal[data-district-mode="true"] :is(#mapAnalysisOverlay,#mapTopsDock,#mapProjectPassport) { display:none!important; }
body.map-district-mode #mapTopsDock { display:none!important; }
body.modern-ui #mapModal[data-district-mode="true"][data-mobile-view] :is(#mapAnalysisOverlay,#mapTopsDock,#mapProjectPassport) { display:none!important; }
#mapModal[data-district-mode="true"] #mapCustomLocationBtn { display:none; }
#mapModal .map-layer-toggle { flex-wrap:wrap; }
#mapModal .map-dialog-head { display:grid; grid-template-columns:minmax(180px,1fr) auto auto 42px; align-items:center; gap:12px; }
#mapModal .map-dialog-head > div:first-child { min-width:0; }
#mapModal #mapModalClose { position:static; grid-column:4; grid-row:1; align-self:start; }
#mapModal[data-district-mode="true"] .map-dialog-body { grid-template-rows:minmax(0,1fr); overflow:hidden; }
#mapModal[data-district-mode="true"] :is(.map-canvas-embed,.yandex-map,.map-loading-state) { min-height:0; height:100%; }
#mapModal[data-district-mode="true"] .map-data-panel { min-height:0; overflow-y:auto; }
@media(max-width:1100px){
  #mapModal .map-dialog-head { grid-template-columns:minmax(0,1fr) 42px; gap:8px; }
  #mapModal .map-dialog-head .map-layer-toggle { grid-column:1/-1; width:max-content; max-width:100%; }
  #mapModal #mapModalClose { grid-column:2; }
}
@media(max-width:980px){
  #mapModal[data-district-mode="true"] .map-dialog-body { grid-template-rows:minmax(280px,1fr) minmax(0,24%); }
  #mapModal[data-district-mode="true"] .map-data-panel { max-height:100%; }
  #mapDistrictPanel { top:54px; bottom:auto; left:8px; width:300px; max-height:calc(100% - 90px); padding:10px; }
  #mapDistrictPanel select { font-size:16px; }
  #mapModal[data-mobile-view="objects"] #mapDistrictPanel { display:none; }
  #mapModal[data-mobile-view="analysis"] #mapDistrictPanel { bottom:78px; max-height:65dvh; width:calc(100% - 16px); }
}
@media(max-width:720px){
  #mapModal[data-district-mode="true"] { width:100vw; overflow:hidden; }
  #mapModal[data-district-mode="true"] .map-dialog { width:100%; max-width:100%; }
}
