/* ---------- weed map and dashboard ---------- */
.wm{--wm-pos:#C03A1C; --wm-tre:#8E6BC4; --wm-era:#2F7D45; --wm-neg:#2E6FA8;
    --wm-1a:#542300; --wm-1b:#6B2F01; --wm-2:#833B02; --wm-3:#9B4805; --wm-4:#B55508}

.wm-bar-top{display:flex; gap:12px 18px; flex-wrap:wrap; align-items:center; margin-bottom:18px}
.wm-pill{font-size:.74rem; font-weight:700; letter-spacing:.06em; padding:6px 13px;
  border-radius:999px; border:1px solid var(--rule2); color:var(--ink2); background:var(--paper2)}
.wm-pill[data-state="live"]{background:#E4F0DD; border-color:#B6D2A6; color:#2A5518}
.wm-pill[data-state="cached"]{background:#F6ECD8; border-color:#E0CDA4; color:#7A5A12}
.wm-pill[data-state="error"]{background:#F8E4DE; border-color:#E5BBAC; color:#8E2A14}

.wm-controls{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:16px}
.wm-controls label{font-size:.74rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink3)}
.wm-controls select{font:inherit; font-size:.88rem; padding:9px 12px; border:1px solid var(--rule2);
  background:#fff; color:var(--ink); border-radius:2px; max-width:100%}
.wm-controls .btn{padding:9px 16px}

.wm-tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(178px,1fr)); gap:1px;
  background:var(--rule); border:1px solid var(--rule); margin-bottom:22px}
.wm-tile{background:var(--paper); padding:16px 18px}
.wm-tile b{display:block; font-family:var(--serif); font-size:clamp(1.55rem,3vw,2rem); font-weight:500;
  line-height:1.05; font-variant-numeric:tabular-nums; color:var(--ever)}
.wm-tile span{display:block; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink2); margin-top:3px}
.wm-tile small{display:block; font-size:.76rem; color:var(--ink3); margin-top:5px; line-height:1.4}

.wm-grid{display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr); gap:22px; align-items:start}
@media (max-width:900px){.wm-grid{grid-template-columns:1fr}}

#wm-map{height:min(70vh,620px); min-height:380px; border:1px solid var(--rule); background:var(--paper2)}
.wm-legend{display:flex; gap:14px; flex-wrap:wrap; margin-top:10px; font-size:.78rem; color:var(--ink2)}
.wm-legend i{display:inline-block; width:13px; height:13px; border-radius:50%;
  border:1.5px solid var(--paper); margin-right:6px; vertical-align:-2px}
.wm-caveat{font-size:.8rem; color:var(--ink3); margin:12px 0 0; max-width:72ch; line-height:1.55}

.wm-panel{border:1px solid var(--rule); background:var(--paper2); padding:16px 18px}
.wm-panel + .wm-panel{margin-top:16px}
.wm-panel h3{font-size:.73rem; letter-spacing:.15em; text-transform:uppercase; color:var(--tan);
  font-weight:600; margin:0 0 12px}

.wm-bar{display:grid; grid-template-columns:1fr 84px auto; gap:10px; align-items:center;
  width:100%; background:none; border:0; padding:5px 4px; cursor:pointer; font:inherit;
  text-align:left; border-radius:2px}
.wm-bar:hover{background:rgba(30,59,42,.07)}
.wm-bar.on{background:rgba(30,59,42,.13)}
.wm-bar__label{font-size:.83rem; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.wm-bar__track{display:block; height:9px; background:var(--paper3); border-radius:2px; overflow:hidden}
.wm-bar__fill{display:block; height:100%; border-radius:2px}
.wm-bar__n{font-size:.78rem; color:var(--ink2); font-variant-numeric:tabular-nums; min-width:44px; text-align:right}

.wm-pop b{display:block; font-family:var(--serif); font-size:1.05rem; font-weight:500}
.wm-pop i{display:block; font-size:.8rem; color:var(--ink3); margin-bottom:6px}
.wm-pop dl{margin:0; display:grid; grid-template-columns:auto 1fr; gap:3px 10px; font-size:.82rem}
.wm-pop dt{font-weight:700; color:var(--ink2)}
.wm-pop dd{margin:0}
.leaflet-popup-content{margin:12px 14px}
.leaflet-container{font-family:var(--sans)}
