/* Shared research search and its committed-filter history controls. */

.research-search { position: relative; min-width: 0; }
.research-search__row { display: flex; gap: var(--space-1); }

.research-search__input {
  flex: 1;
  min-width: 0;
  min-height: 34px;
  padding: var(--space-1-5) var(--space-2);
  color: var(--color-text-primary);
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--border-radius);
  font: inherit;
  font-size: var(--text-xs);
}

.research-search__more,
.research-search__open,
.filter-history__button {
  padding: var(--space-1) var(--space-2);
  color: var(--accent);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--border-radius);
  font: inherit;
  font-size: var(--text-xs);
  cursor: pointer;
}

.research-search__popup {
  position: absolute;
  z-index: var(--z-search-popup);
  inset-inline: 0;
  top: calc(100% + var(--space-1));
  padding: var(--space-2);
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
}

.research-search__popup[hidden],
.research-search__more[hidden],
.research-search__open[hidden] { display: none; }

.research-search__status {
  display: block;
  padding-bottom: var(--space-1);
  color: var(--color-text-secondary);
  font-size: var(--text-2xs);
}

.research-search__options {
  max-height: min(45vh, 400px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.research-search__option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2);
  padding: var(--space-2);
  border-bottom: 1px solid var(--line-soft);
  cursor: pointer;
}

.research-search__option:hover { background: var(--surface-3); }
.research-search__option--active {
  background: var(--surface-3);
  box-shadow: inset 3px 0 0 var(--accent);
}
.research-search__label { min-width: 0; overflow-wrap: anywhere; font-size: var(--text-xs); }
.research-search__title { display: block; color: var(--color-text-secondary); font-size: var(--text-2xs); }
.research-search__count { font-size: var(--text-xs); font-variant-numeric: tabular-nums; }
.research-search__more, .research-search__open { margin-top: var(--space-2); }

.filter-history {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
  margin-inline-start: auto;
}

.filter-history__button {
  inline-size: 28px;
  block-size: 28px;
  padding: 0;
  font-size: var(--text-base);
  line-height: 1;
}
.filter-history__button:disabled {
  color: var(--color-text-tertiary);
  cursor: default;
  opacity: 0.6;
}
