/* Поиск (search.js): общий поиск и фильтр списков. Цвета — токены из style.css. */
.gs-box { padding: 0 2px 10px; }
.gs-topbtn {
  display: inline-grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; padding: 0;
  border: 1px solid var(--border); border-radius: 999px; background: var(--surface2); color: var(--text); cursor: pointer;
}
.gs-ic {
  width: 18px; height: 18px; display: block; background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gs-panel {
  position: fixed; z-index: 60; max-height: min(70vh, 560px); overflow-y: auto; overscroll-behavior: contain;
  background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); padding: 6px;
}
.gs-panel[hidden] { display: none; }
.gs-head { display: none; }
.gs-panel.gs-full {
  inset: 0; max-height: none; width: auto; border-radius: 0; border: 0; padding: 0;
  padding-top: env(safe-area-inset-top); display: flex; flex-direction: column;
}
.gs-full .gs-head { display: flex; gap: 8px; align-items: center; padding: 10px 16px; border-bottom: 1px solid var(--border); }
.gs-full .gs-head input { flex: 1 1 auto; }
.gs-full .gs-close { flex: 0 0 auto; }
.gs-full .gs-list { flex: 1 1 auto; overflow-y: auto; padding: 6px 10px calc(16px + env(safe-area-inset-bottom)); }
body.gs-lock { overflow: hidden; }
.gs-group + .gs-group { border-top: 1px solid var(--border); margin-top: 4px; padding-top: 4px; }
.gs-gtitle { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; color: var(--muted); padding: 8px 10px 4px; }
.gs-item {
  display: flex; align-items: flex-start; gap: 10px; width: 100%; text-align: left; padding: 8px 10px; border: 0;
  background: none; color: inherit; font: inherit; border-radius: var(--radius-sm); cursor: pointer; min-width: 0;
}
.gs-item .ico { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; color: var(--muted); }
.gs-item:hover, .gs-item.active, .gs-item:focus-visible { background: var(--accent-soft); outline: none; }
.gs-txt { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.gs-title { font-weight: 600; overflow-wrap: anywhere; }
.gs-sub { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gs-more { color: var(--accent); font-weight: 600; font-size: 13px; }
.gs-msg { padding: 14px 12px; color: var(--muted); font-size: 14px; }

.list-filter { display: flex; align-items: center; gap: 10px; flex: 0 1 280px; min-width: 0; }
.list-filter input { min-height: 38px; }
.list-q-info:empty { display: none; }
.list-q-info { white-space: nowrap; }
table.tbl.list-empty thead { display: none; }

@media (max-width: 899px) {
  .list-filter { flex: 1 1 100%; order: -1; }
}
@media (min-width: 900px) {
  .gs-topbtn { display: none; }
}
