*{box-sizing:border-box}
body{margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2433;background:#f5f6f8}
header{padding:10px 16px;background:#13294b;color:#fff}
header h1{font-size:18px;margin:0 0 4px}
.warn{margin:0;font-size:13px;opacity:.95}
#controls{display:flex;flex-wrap:wrap;gap:8px 22px;padding:8px 16px;background:#fff;border-bottom:1px solid #d9dde4;align-items:center}
.group{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.lbl{font-weight:600}
.hint{font-size:12px;color:#5a6577}
#lead{width:160px}
#maps{display:flex;gap:8px;padding:8px}
.panel{flex:1;min-width:0;background:#fff;border:1px solid #d9dde4;border-radius:6px;padding:6px}
.panel.hidden{display:none}
.mtitle{font-size:15px;margin:2px 4px}
.summary{font-size:12px;color:#3d4757;margin:0 4px 4px;min-height:1.4em}
.map{height:min(62vh,560px);background:#e8eef5;border-radius:4px}
@media (max-width:900px){#maps{flex-direction:column}.map{height:48vh}}
#legend{padding:4px 16px;font-size:12px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.bar{display:inline-flex;vertical-align:middle;border:1px solid #999}
.bar span{display:inline-block;width:22px;height:12px}
.sw{display:inline-block;width:14px;height:12px;border:1px solid #999;vertical-align:middle}
.pending{background:repeating-linear-gradient(45deg,#ddd,#ddd 3px,#f6f6f6 3px,#f6f6f6 6px)}
#detail{position:fixed;right:12px;top:12px;bottom:12px;width:min(520px,94vw);overflow:auto;background:#fff;border:1px solid #b9c0cc;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.2);padding:12px 14px;z-index:2000}
#closeDetail{position:absolute;right:8px;top:6px;border:0;background:none;font-size:22px;cursor:pointer}
#detail h3{margin:0 0 4px;font-size:16px}
#detail h4{margin:12px 0 4px;font-size:14px}
#detail table{border-collapse:collapse;width:100%;font-size:12px}
#detail th,#detail td{border-bottom:1px solid #e3e6eb;padding:3px 4px;text-align:right}
#detail th:first-child,#detail td:first-child{text-align:left}
.pos{color:#1b7837;font-weight:600}.neg{color:#762a83;font-weight:600}
.note{font-size:12px;color:#5a6577}
footer{padding:8px 16px 24px;font-size:12px;color:#4a5466}
.leaflet-container{font:inherit}
.leaflet-tooltip{font-size:12px}
.back{margin:0 0 4px;font-size:12px}.back a{color:#cfe0ff}
