.site-picker-modal {
  width: min(720px, calc(100vw - 30px));
  height: min(720px, calc(100vh - 30px));
}
.site-picker-shell {
  display: grid;
  grid-template-rows: auto 1fr auto;
  height: 100%;
  min-height: 0;
}
.site-picker-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  padding: 18px 24px 8px;
}
.site-picker-toolbar { display: flex; gap: 9px; }
.site-search { display: flex; flex: 1; min-width: 0; }
.site-search input {
  flex: 1;
  min-width: 0;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #c5ced8;
  border-right: 0;
  border-radius: 5px 0 0 5px;
  outline: none;
}
.site-search input:focus { border-color: #1683d8; box-shadow: 0 0 0 3px #1683d815; }
.site-search button,.new-site-button {
  height: 40px;
  padding: 0 15px;
  border: 1px solid #0078d4;
  color: #fff;
  background: #0078d4;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}
.site-search button { border-radius: 0 5px 5px 0; }
.new-site-button { border-radius: 5px; color: #005a9e; background: #fff; }
.site-search button:hover { background: #106ebe; }
.new-site-button:hover { background: #eff6fc; }
.new-site-panel {
  padding: 15px;
  border: 1px solid #b8d7f0;
  border-radius: 7px;
  background: #f5faff;
}
.new-site-panel[hidden] { display: none; }
.new-site-panel>div { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.new-site-panel>div strong { color: #005a9e; font-size: 12px; }
.new-site-panel>div span { color: #697582; font-size: 10px; }
.new-site-panel form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: start; gap: 10px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.new-site-panel label { display: grid; gap: 5px; color: #3c4650; font-size: 10px; font-weight: 600; }
.new-site-panel input { height: 38px; padding: 0 10px; border: 1px solid #c5ced8; border-radius: 4px; outline: none; }
.new-site-panel small { color: #797775; font-size: 9px; font-weight: 400; }
.new-site-actions { display: flex; align-items: center; gap: 6px; padding-top: 15px; }
.new-site-actions button { height: 38px; padding: 0 12px; border: 1px solid #c5ced8; border-radius: 4px; background: #fff; cursor: pointer; }
.new-site-actions button:last-child { border-color: #0078d4; color: #fff; background: #0078d4; }
.site-selection-guide { color: #242424; font-size: 12px; font-weight: 600; }
.site-results-status { min-height: 18px; color: #697582; font-size: 10px; }
.site-results {
  flex: 1 1 150px;
  min-height: 0;
  overflow: auto;
  border: 1px solid #dce3ea;
  border-radius: 7px;
  background: #fafcfe;
}
.site-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 13px 15px;
  border: 0;
  border-bottom: 1px solid #e8edf2;
  color: #242424;
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.site-result:last-child { border-bottom: 0; }
.site-result:hover { background: #eff6fc; }
.site-result:disabled { cursor: wait; opacity: .6; }
.site-result strong,.site-result small { display: block; }
.site-result strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.site-result small { margin-top: 4px; color: #697582; font: 10px ui-monospace, SFMono-Regular, Consolas, monospace; }
.site-result-meta { display: flex; align-items: center; gap: 10px; }
.site-status { padding: 4px 7px; border-radius: 10px; color: #605e5c; background: #f3f2f1; font-size: 9px; }
.site-result-arrow { color: #0078d4; font-size: 17px; }
.site-results-empty { display: grid; place-items: center; min-height: 150px; padding: 25px; color: #797775; font-size: 11px; text-align: center; }
.site-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; }
.site-pagination button { padding: 6px 11px; border: 1px solid #c5ced8; border-radius: 4px; color: #484644; background: #fff; cursor: pointer; }
.site-pagination button:disabled { cursor: default; opacity: .45; }
.site-pagination span { min-width: 65px; color: #605e5c; font-size: 10px; text-align: center; }
.site-picker-modal .conversation-error { padding-top: 4px; padding-bottom: 10px; }
.session-context-menu button[hidden] { display: none; }
@media(max-width:650px) {
  .site-picker-body { padding: 14px 15px 6px; }
  .site-picker-toolbar { display: grid; }
  .new-site-panel form { grid-template-columns: 1fr; }
  .new-site-actions { justify-content: flex-end; padding-top: 0; }
}
