.badas-location-btn,
.badas-location-open-btn {
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.05);
  color: inherit;
  border-radius: 8px;
  padding: 0.55rem 0.75rem;
  cursor: pointer;
  font: inherit;
  line-height: 1.2;
}
.badas-location-btn:hover,
.badas-location-open-btn:hover { background: rgba(255,255,255,0.1); }
.badas-location-btn.primary {
  border-color: rgba(255, 196, 0, 0.45);
  background: rgba(255, 196, 0, 0.16);
  color: #fff7c2;
  font-weight: 700;
}
.badas-location-modal[hidden] { display:none; }
.badas-location-modal { position:fixed; inset:0; z-index:20000; color:#f0f0f0; }
.badas-location-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.68); }
.badas-location-dialog {
  position:relative;
  z-index:1;
  width:min(620px, calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  overflow:auto;
  margin:12px auto;
  padding:1rem;
  border-radius:14px;
  background:#14162a;
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 24px 70px rgba(0,0,0,0.45);
  box-sizing:border-box;
}
.badas-location-dialog h3 { margin:0 0 .45rem; }
.badas-location-help { margin:.25rem 0 1rem; opacity:.82; line-height:1.45; }
.badas-location-field { display:block; margin-bottom:.75rem; }
.badas-location-field span { display:block; margin-bottom:.28rem; font-size:.88rem; opacity:.86; }
.badas-location-field input,
.badas-location-field select {
  width:100%; box-sizing:border-box; border:1px solid rgba(255,255,255,0.14); background:rgba(255,255,255,0.045);
  color:inherit; border-radius:8px; padding:.58rem .68rem; font:inherit;
}
.badas-location-field select option { color:#000; }
.badas-location-search-row { display:grid; grid-template-columns:1fr auto; gap:.6rem; align-items:end; margin-bottom:.65rem; }
.badas-location-search-row .badas-location-field { margin-bottom:0; }
.badas-location-search-row .badas-location-btn { min-height:42px; align-self:end; }
.badas-location-two-col { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.badas-location-results { display:grid; gap:.4rem; margin:0 0 .75rem; font-size:.9rem; max-height:min(34dvh, 260px); overflow:auto; padding-right:.15rem; }
.badas-location-result {
  text-align:left; border:1px solid rgba(255,255,255,0.11); background:rgba(255,255,255,0.04); color:inherit;
  border-radius:9px; padding:.55rem .65rem; cursor:pointer;
}
.badas-location-result:hover { background:rgba(255,255,255,0.09); }
.badas-location-result strong,
.badas-location-result span { display:block; }
.badas-location-result span { margin-top:.12rem; opacity:.78; font-size:.84rem; }
.badas-location-actions { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.95rem; }
.badas-location-toast {
  position:fixed; right:1rem; bottom:1rem; z-index:21000; background:rgba(0,0,0,.88); color:#fff;
  padding:.7rem 1rem; border-radius:8px; opacity:0; transform:translateY(10px); transition:.25s ease; pointer-events:none;
}
.badas-location-toast.show { opacity:1; transform:translateY(0); }
.badas-location-summary {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem;
  border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.04); border-radius:12px; padding:.8rem .9rem; margin-bottom:1rem;
}
.badas-location-summary strong { display:block; font-size:.84rem; opacity:.8; }
.badas-location-summary span { display:block; margin-top:.12rem; }
@media (max-width:640px) {
  .badas-location-search-row,
  .badas-location-two-col { grid-template-columns:1fr; }
  .badas-location-dialog { margin:8px auto; max-height:calc(100dvh - 16px); padding:.85rem; }
  .badas-location-results { max-height:min(30dvh, 220px); }
}
