.mapapp{display:grid;grid-template-columns:360px 1fr;height:calc(100vh - 68px)}
.side{background:linear-gradient(180deg,#223011,#1b260e);color:#e6eedb;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:16px}
.side h1{font-size:22px;color:#fff}
.side h1 small{display:block;font-size:13px;font-family:Inter,sans-serif;color:var(--sage-soft);font-weight:500;margin-top:4px}
.panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px}
.panel h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);margin-bottom:10px}
.side input[type=search],.side select,.side input[type=text]{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:#fff;font:inherit}
.side select option{color:#000}
.side .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.big-count{font-family:Montserrat;font-size:34px;font-weight:800;color:#fff;line-height:1}
.big-count small{font-size:13px;font-family:Inter;color:var(--sage-soft);font-weight:500}
.toggles label{display:flex;align-items:center;gap:10px;padding:5px 0;cursor:pointer;font-size:14px}
.toggles input{accent-color:#9db877;width:16px;height:16px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{flex:1;padding:8px 6px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#e6eedb;cursor:pointer;font:600 12.5px Inter,sans-serif}
.seg button.on{background:var(--lime);color:var(--brand-deep);border-color:var(--lime)}
.results{max-height:220px;overflow:auto;margin-top:8px}
.results div{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;border-bottom:1px solid rgba(255,255,255,.06)}
.results div:hover{background:rgba(182,207,142,.15)}
.results small{color:var(--sage-soft);display:block}
.ufbars{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow:auto}
.ufbars div{display:grid;grid-template-columns:30px 1fr 52px;gap:8px;align-items:center;font-size:12.5px;cursor:pointer;padding:2px 4px;border-radius:6px}
.ufbars div:hover,.ufbars div.on{background:rgba(182,207,142,.15)}
.ufbars i{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,#9db877,#e3c454)}
.ufbars span:last-child{text-align:right;color:#fff;font-variant-numeric:tabular-nums}
.legend span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;margin:3px 10px 3px 0}
.legend i{width:11px;height:11px;border-radius:50%;display:inline-block;border:1.5px solid #fff}
#map{position:relative;background:#e6eedb}
.loading{position:absolute;inset:0;display:grid;place-items:center;background:rgba(34,48,17,.75);color:#fff;z-index:5;font-weight:700;font-size:18px}
.maplibregl-popup-content{border-radius:14px;padding:14px 16px;font-family:Inter,sans-serif;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.pop h3{font-size:15px;color:var(--brand-deep);margin-bottom:4px}
.pop p{font-size:13px;color:var(--ink-soft);margin:2px 0}
.pop .prec{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--sage-pale);color:var(--brand)}
.pop a{font-size:12.5px;font-weight:700}
.side .btn{padding:9px 14px;font-size:13px}
.note{font-size:11.5px;color:#a9b897}
@media(max-width:860px){.mapapp{grid-template-columns:1fr;grid-template-rows:55vh auto;height:auto}#map{order:-1;height:55vh}.side{overflow:visible}}
