.catalog-filters {
  display: grid;
  gap: 1rem;
  margin: 1.25rem 0;
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: .4rem;
  background: var(--surface);
}
.catalog-field { display: grid; align-content: start; gap: .3rem; min-width: 0; }
.catalog-field > label { color: var(--muted); font-size: .8rem; font-weight: 600; }
.catalog-field input, .catalog-field select {
  width: 100%;
  min-width: 0;
  min-height: 2.6rem;
  padding: .5rem .6rem;
  border: 1px solid var(--border);
  border-radius: .25rem;
  background: white;
  color: var(--ink);
  font: inherit;
  font-size: .85rem;
}
.catalog-field-q input { font-size: 1rem; }
.catalog-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.catalog-dimensions summary { cursor: pointer; color: var(--link); font-size: .9rem; }
.catalog-ranges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: .8rem; }
.catalog-field-shape { grid-column: 1 / -1; }
.catalog-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }
.catalog-actions .catalog-field { display: flex; align-items: center; margin-right: auto; }
.catalog-actions input[type=checkbox] { width: 1rem; min-height: 1rem; }
.catalog-actions button {
  padding: .4rem .7rem;
  border: 1px solid var(--border);
  border-radius: .25rem;
  background: white;
  color: var(--link);
  font: inherit;
  font-size: .85rem;
  cursor: pointer;
}
.catalog-filters :focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }
.catalog-status { color: var(--muted); font-size: .85rem; }
.catalog-table { width: 100%; }
.catalog-table th { white-space: nowrap; }
.catalog-table td { vertical-align: top; font-variant-numeric: tabular-nums; }
.catalog-table td:first-child { min-width: 12rem; }
.catalog-table td:nth-child(n+4) { white-space: nowrap; }
.catalog-id { display: block; margin-top: .2rem; color: var(--muted); font-family: var(--font-code); font-size: .7rem; overflow-wrap: anywhere; }
.catalog-table p { margin: 0; }
@media (min-width: 1100px) {
  main.catalog-page { max-width: 70rem; }
  .page-content:has(.catalog-page) { grid-template-columns: minmax(0, 1fr); }
  .page-content:has(.catalog-page) > .page-toc { display: none; }
  .catalog-categories { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .catalog-ranges { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 500px) {
  .catalog-filters { padding: .85rem; }
  .catalog-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-field-sort { grid-column: 1 / -1; }
}
