/* Compact technical toolbar: every interactive control uses the same 36px rhythm. */
@media (min-width:851px){
  .catalogue-controls{grid-template-columns:clamp(230px,18vw,320px) minmax(0,1fr) auto;grid-template-rows:auto auto;gap:.38rem .7rem;align-items:end;margin-top:4rem;padding:.5rem 0 .35rem}
  .catalogue-controls>label{grid-column:1;grid-row:1;gap:.25rem;max-width:none}
  .catalogue-controls>label span{font-size:9px;line-height:1}
  .catalogue-controls input{height:36px;padding:.45rem .65rem}
  .filters{grid-column:2;grid-row:1;align-self:end;flex-wrap:nowrap;overflow-x:auto;gap:.35rem;padding-bottom:0;scrollbar-width:thin}
  .filter{height:36px;white-space:nowrap;padding:.35rem .55rem;font-size:9px}
  .select-filters{grid-column:3;grid-row:1;align-self:end;display:flex;flex-wrap:nowrap;gap:.35rem}
  .select-filters label{min-width:104px;gap:0}
  .select-filters label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .select-filters select{height:36px;padding:.35rem .45rem;font-size:10px}
  .catalogue-status{grid-column:1/-1;grid-row:2;min-height:18px;align-items:center;font-size:9px}
  .catalogue-status button{padding:0;font-size:9px;white-space:nowrap}
}
@media (max-width:850px){
  .catalogue-controls{gap:.65rem;margin-top:2.5rem;padding:.65rem 0}
  .catalogue-controls input,.filter,.select-filters select{min-height:38px}
  .filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem}
  .filter{white-space:nowrap;font-size:9px}
  .select-filters label{min-width:0}
}
