/* Table search (/assets/css/table-search.css) – search box above tables marked data-table-search.
   Same look as the notice boards; DBIM colours used when the page defines them. */
.table-search {
  --ts-key:  var(--dbim-wintergreen-dream, #162f6a);
  --ts-tint: var(--dbim-azureish-white-bg, #e8eef8);
  --ts-text: var(--dbim-dark-text, #1b1b1b);
  --ts-line: var(--dbim-grey-01, #c9ced6);
  margin: 0 0 12px;
}
.table-search .form-label { margin-bottom: 4px; color: var(--ts-text); font-weight: 600; }
.table-search .form-control,
.table-search .form-select {
  width: 100%; min-height: 44px; padding: 8px 12px; font-size: max(var(--dbim-fs-p1), 16px);
  color: var(--ts-text); background-color: #fff;
  border: 2px solid var(--ts-line); border-radius: var(--dbim-border-radius-sm, 4px);
}
.table-search .form-control:focus,
.table-search .form-select:focus { border-color: var(--ts-key); outline: 0; box-shadow: 0 0 0 3px rgba(22, 47, 106, .25); }
.table-search .btn {
  width: 100%; min-height: 44px; font-size: var(--dbim-fs-p1); font-weight: 600; cursor: pointer;
  color: var(--ts-key); background: #fff; border: 2px solid var(--ts-key); border-radius: var(--dbim-border-radius-sm, 4px);
}
.table-search .btn:hover { background: var(--ts-tint); }
.table-search .btn:focus-visible { outline: 3px solid #1a5fb4; outline-offset: 2px; }
.table-search-status { margin: 0 0 12px; font-weight: 600; color: var(--dbim-dark-text, #1b1b1b); }
.table-search-status[hidden] { display: none; }
table[data-table-search] mark { padding: 0 .15em; color: #1b1b1b; background: #ffe066; border-radius: 2px; }
table[data-table-search] tr[hidden] { display: none; }
.table-search-empty td { text-align: center; font-style: italic; }
