.visibility-panel,
.visibility-bulk-panel,
.visibility-results { margin-block: 1rem; }
.visibility-panel__heading,
.visibility-results__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.visibility-panel__heading h2 { margin:0; }
.visibility-filters { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:.9rem; margin-top:1rem; }
.visibility-filters label,
.visibility-bulk-grid label { display:grid; gap:.35rem; font-weight:650; }
.visibility-filter-wide { grid-column:span 2; }
.visibility-filters input,
.visibility-filters select,
.visibility-bulk-grid input,
.visibility-bulk-grid select { width:100%; min-width:0; }
.visibility-filter-actions { display:flex; align-items:end; gap:.5rem; }
.visibility-boundary { margin-block:.9rem 0; }
.visibility-bulk-grid { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(300px,1.5fr); gap:1rem; align-items:end; margin-block:1rem; }
.visibility-bulk-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; margin-bottom:.7rem; }
.visibility-select-page { display:inline-flex; align-items:center; gap:.45rem; white-space:nowrap; }
.visibility-select-page input,
.visibility-select-cell input { width:1rem; height:1rem; accent-color:var(--accent,#087c61); }
.visibility-table { width:100%; table-layout:fixed; }
.visibility-table .visibility-select-col { width:44px; }
.visibility-table .visibility-product-col { width:34%; }
.visibility-table .visibility-class-col { width:24%; }
.visibility-table .visibility-state-col { width:30%; }
.visibility-table .visibility-open-col { width:100px; }
.visibility-table th,
.visibility-table td { vertical-align:top; }
.visibility-table td small,
.visibility-table td code { display:block; margin-top:.25rem; }
.visibility-select-cell { text-align:center; }
@media (max-width:1000px) {
    .visibility-filters { grid-template-columns:repeat(2,minmax(140px,1fr)); }
    .visibility-filter-wide { grid-column:span 2; }
    .visibility-table { min-width:900px; }
}
@media (max-width:640px) {
    .visibility-filters,
    .visibility-bulk-grid { grid-template-columns:1fr; }
    .visibility-filter-wide { grid-column:auto; }
    .visibility-filter-actions { align-items:stretch; }
    .visibility-filter-actions > * { flex:1; }
    .visibility-panel__heading,
    .visibility-results__top { align-items:flex-start; flex-direction:column; }
}
