.rssl-ht{
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  padding:16px;
  max-width:1100px;
  margin:16px 0;
  background:#fff;
}
.rssl-ht__header{margin-bottom:12px}
.rssl-ht__title{font-size:18px;font-weight:800}
.rssl-ht__subtitle{font-size:12px;opacity:.8;margin-top:2px}
.rssl-ht__row{display:flex;gap:10px;align-items:end;margin-bottom:10px;flex-wrap:wrap}
.rssl-ht__row--cols > div{flex:1;min-width:160px}
.rssl-ht__row--point > div{min-width:220px}
.rssl-ht__colbtn{flex:0 0 auto !important;min-width:140px}
.rssl-ht__label{display:block;font-size:12px;opacity:.8;margin-bottom:6px}
.rssl-ht__hint{font-size:11px;opacity:.7;margin-top:4px}
.rssl-ht__input,.rssl-ht__select{
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:10px;
  outline:none;
}
.rssl-ht__btn{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  cursor:pointer;
}
.rssl-ht__btn--primary{border-color:rgba(0,0,0,.25);font-weight:700}
.rssl-ht__btn--small{padding:7px 10px;border-radius:8px;font-size:13px}
.rssl-ht__row--tools{justify-content:space-between;align-items:center}
.rssl-ht__result{
  margin-top:10px;
  padding:12px;
  border-radius:12px;
  background:rgba(0,0,0,.03);
}
.rssl-ht__status{font-size:14px;opacity:.9}
.rssl-ht__gridwrap{display:grid;gap:8px}
.rssl-ht__grid{font-size:26px;font-weight:900;letter-spacing:1px}
.rssl-ht__meta{font-size:13px;opacity:.85}
.rssl-ht__links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rssl-ht__note{font-size:12px;opacity:.75;margin-top:10px}
.rssl-ht__mapwrap{margin-top:12px;position:relative}
.rssl-ht__maptitle{font-size:12px;opacity:.8;margin-bottom:6px}
.rssl-ht__leaflet{
  width:100%;
  height:420px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  overflow:hidden;
}
.rssl-ht__maplegend{
  position:absolute;
  top:38px;
  right:12px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  padding:10px 10px;
  font-size:12px;
  line-height:1.35;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  max-width:260px;
}
.rssl-ht__maplegend b{font-weight:800}



.rssl-ht__textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:10px;
  outline:none;
  font: inherit;
  min-height:110px;
  resize:vertical;
}
.rssl-ht__btn--small{padding:7px 10px;border-radius:8px;font-size:13px}
.rssl-ht__badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  border:1px solid rgba(0,0,0,.15); background:#fff;
  font-size:12px;
}
.rssl-ht__table{width:100%; border-collapse:collapse; font-size:13px}
.rssl-ht__table th,.rssl-ht__table td{border-bottom:1px solid rgba(0,0,0,.08); padding:8px 6px; text-align:left; vertical-align:top}
.rssl-ht__table th{font-weight:800; background:rgba(0,0,0,.02)}
.rssl-ht__pill{display:inline-block;padding:4px 10px;border:1px solid rgba(0,0,0,.15);border-radius:999px;font-size:12px;background:#fff}
