/* Human Aid Today — Accurate 64-district map */
.district-map-page{padding:34px 0 56px;background:radial-gradient(circle at 5% 0%,rgba(21,106,163,.08),transparent 30%),#f4f7f9}
.district-map-shell{width:min(100% - 32px,1480px);margin-inline:auto}
.district-map-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.district-map-kicker{display:inline-block;margin-bottom:5px;color:#0f67ae;font-weight:800}
.district-map-heading h1{margin:0;color:#153e59;font-size:clamp(32px,4vw,50px)}
.district-map-heading p{margin:8px 0 0;color:#657680}
.district-map-filters{display:grid;grid-template-columns:repeat(2,minmax(180px,240px));gap:12px}
.district-map-filters label{display:grid;gap:6px;color:#304e61;font-weight:700}
.district-map-filters select{min-height:46px;padding:0 42px 0 13px;border:1px solid #cfdae1;border-radius:9px;background:#fff;color:#163f59;font:inherit}
.district-map-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);overflow:hidden;border:1px solid #d8e2e8;border-radius:18px;background:#fff;box-shadow:0 20px 52px rgba(18,52,73,.09)}
.district-map-panel,.district-news-panel{min-width:0;padding:clamp(18px,3vw,32px)}
.district-map-panel{border-right:1px solid #e0e8ed;background:linear-gradient(145deg,#fff,#f3f8fb)}
.district-map-panel-head,.district-news-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.district-map-panel-head h2,.district-news-head h2{margin:0;color:#173f59;font-size:clamp(23px,2.8vw,32px)}
.district-map-panel-head p,.district-news-head span{margin:5px 0 0;color:#6b7d87}
.district-map-status,.district-news-count{flex:none;padding:7px 11px;border-radius:999px;background:#fff3da;color:#8a5b00!important;font-size:13px;font-weight:800}
.district-map-status.is-ready{background:#e7f6ef;color:#08704d!important}
.district-map-status.is-error{background:#ffeded;color:#a82020!important}
.district-map-stage{position:relative;display:grid;place-items:center;min-height:610px}
.district-map-stage svg{display:block;width:min(100%,580px);height:auto;max-height:660px;overflow:visible}
.district-shape{fill:#e9f1f6;stroke:#78a4c1;stroke-width:1.15;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .16s ease,stroke .16s ease,opacity .16s ease,filter .16s ease}
.district-shape:hover,.district-shape:focus{fill:#bddcf0;stroke:#0f68ac;outline:none;filter:drop-shadow(0 4px 5px rgba(12,73,113,.18))}
.district-shape.is-active{fill:#0f68c5;stroke:#064f99;filter:drop-shadow(0 5px 7px rgba(9,75,128,.25))}
.district-shape.is-in-division:not(.is-active){fill:#cfe7f5}
.district-shape.is-outside-division{opacity:.28}
.district-map-tooltip{position:absolute;z-index:5;pointer-events:none;padding:7px 10px;border-radius:7px;background:#102f44;color:#fff;font-size:13px;font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.district-map-legend{display:flex;flex-wrap:wrap;gap:9px 18px;padding-top:12px;border-top:1px solid #e2eaee;color:#5d707c;font-size:13px}
.district-map-legend span{display:inline-flex;align-items:center;gap:7px}
.district-map-legend i{width:18px;height:12px;border:1px solid #78a4c1;border-radius:3px}
.legend-default{background:#e9f1f6}.legend-active{background:#0f68c5!important}.legend-filtered{background:#cfe7f5!important}
.district-news-panel{display:flex;flex-direction:column}
.district-news-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 14px;overflow:hidden;border:1px solid #dae4ea;border-radius:10px}
.district-news-tabs button{min-height:48px;border:0;border-right:1px solid #dae4ea;background:#fff;color:#536b79;font:inherit;font-weight:800;cursor:pointer}
.district-news-tabs button:last-child{border-right:0}
.district-news-tabs button.is-active{background:#eef6ff;color:#0e65b8;box-shadow:inset 0 -3px 0 #0e65b8}
.district-news-loader{padding:18px;text-align:center;color:#607480}
.district-news-list{display:grid;gap:10px}
.district-news-item{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center;padding:9px;border:1px solid #e0e8ed;border-radius:11px;background:#fff}
.district-news-image{display:block;overflow:hidden;aspect-ratio:16/10;border-radius:8px;background:#eaf1f4}
.district-news-image img{width:100%;height:100%;object-fit:cover}
.district-news-content{min-width:0}
.district-news-content h3{margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.45}
.district-news-content h3 a{color:#192f3d;text-decoration:none}
.district-news-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:8px;color:#74838c;font-size:13px}
.district-news-empty{padding:50px 20px;border:1px dashed #cad9e1;border-radius:11px;text-align:center;color:#687b86}
.district-news-empty strong{display:block;margin-bottom:7px;color:#294b60;font-size:19px}
.district-all-link{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin-top:16px;border:1px solid #1b638f;border-radius:9px;color:#174f72;font-weight:800;text-decoration:none}
.district-all-link:hover{background:#174f72;color:#fff}
@media(max-width:1000px){.district-map-grid{grid-template-columns:1fr}.district-map-panel{border-right:0;border-bottom:1px solid #e0e8ed}.district-map-stage{min-height:540px}}
@media(max-width:700px){.district-map-page{padding-top:20px}.district-map-shell{width:min(100% - 20px,1480px)}.district-map-heading{align-items:stretch;flex-direction:column}.district-map-filters{grid-template-columns:1fr}.district-map-panel,.district-news-panel{padding:15px}.district-map-stage{min-height:430px}.district-news-tabs{grid-template-columns:1fr}.district-news-tabs button{border-right:0;border-bottom:1px solid #dae4ea}.district-news-tabs button:last-child{border-bottom:0}.district-news-item{grid-template-columns:100px minmax(0,1fr);gap:11px;padding:8px}}
