:root{
  --bg:#f4f7f6; --card:#fff; --primary:#1D9E75; --primary-dark:#0F6E56;
  --text:#1b2b28; --muted:#5c716b; --border:#d9e6e0;
}
*{box-sizing:border-box}
body{margin:0;font-family:Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{
  position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;
  padding:14px 16px;background:var(--primary);color:#fff
}
.brand{font-weight:700;font-size:1.08rem}
.mobile-layout{padding:12px;display:grid;gap:12px}
.card{
  background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px;
  box-shadow:0 4px 16px rgba(0,0,0,.05)
}
h1{margin:0 0 12px 0;font-size:1.18rem}
label{display:block;font-size:.9rem;font-weight:700;color:var(--primary-dark);margin:0 0 6px 0}
.grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}
input,select,button{
  width:100%;border-radius:12px;border:1px solid var(--border);
  padding:13px 14px;font-size:1rem
}
button{background:var(--primary);color:#fff;border:none;font-weight:700}
button.ghost{background:#e7f3ef;color:var(--primary-dark);border:1px solid #c8dfd6}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.checks{display:flex;gap:12px;flex-wrap:wrap;padding-top:12px}
.countbox{margin-top:12px;font-weight:700;color:var(--primary)}
.summary,.status{margin-top:8px;color:var(--muted);font-size:.93rem;white-space:pre-wrap}
#map{width:100%;height:min(72vh,620px);border-radius:14px}
.hidden{display:none}
.popupbtn{display:inline-block;background:#1D9E75;color:#fff;padding:6px 10px;border-radius:8px;text-decoration:none;font-size:12px}
.popupbtn.blue{background:#0b57d0}
@media (min-width:980px){
  .mobile-layout{grid-template-columns:430px 1fr;align-items:start}
  .mapwrap{position:sticky;top:72px}
}
