/* One paging surface for tables, cards and pickers; filtering and selection keep their own state. */
[data-list-page-hidden] { display: none !important; }
.table-wrap.list-view-panel, .list-view-panel { display: flex; flex-direction: column; min-width: 0; }
.list-view-scroll { min-width: 0; }
.list-view-scroll:focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.list-view-footer { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-top: 1px solid var(--border); background: var(--white); font-size: var(--fs-secondary); }
.list-view-range { font-variant-numeric: tabular-nums; color: var(--text-secondary); }
.list-view-controls, .list-view-controls label { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); }
.list-view-controls { margin-left: auto; }
.list-view-controls select { width: auto; min-width: 80px; min-height: 44px; font-size: 16px; }
.list-view-controls .page-btn, .list-view-footer .page-btn { min-width: 44px; min-height: 44px; }
.list-view-controls [data-list-position], #programPagePosition { min-width: 90px; text-align: center; font-variant-numeric: tabular-nums; }
.list-view-panel > .assign-list, .list-view-panel > .assign-grid, .list-view-panel > .pick-list, .list-view-panel > .history-list { max-height: none; }
.list-view-panel:has(> .list-view-scroll[hidden]) { display: none; }
@media (min-width: 1024px) {
  .table-wrap.list-view-panel, .list-view-panel { height: var(--list-view-height, 480px); min-height: 260px; overflow: hidden; }
  .list-view-panel.list-view-cards { height: auto; overflow: visible; }
  [role="dialog"] .list-view-panel { min-height: 160px; }
  .list-view-panel > .list-view-scroll { flex: 1 1 0; min-height: 0; overflow: auto; }
  .list-view-cards > .list-view-scroll { flex-basis: auto; overflow: visible; }
  .list-view-panel thead th { position: sticky; top: 0; z-index: 2; }
  /* Page tables grow with their rows; only the document scrolls vertically. */
  .list-view-panel.list-view-table { height: auto; min-height: 0; overflow: visible; }
  .list-view-table > .list-view-scroll { flex: 0 0 auto; overflow: visible; }
  .list-view-table thead th { position: static; }
}
@media (max-width: 1023px) {
  .table-wrap.list-view-panel, .list-view-panel { height: auto; max-height: none; overflow: visible; }
  .list-view-panel > .list-view-scroll { overflow: visible; }
  .table-wrap.admin-list-wrap.list-view-panel { border: 0; border-radius: 0; background: transparent; }
  .admin-list-wrap.list-view-panel .table-foot { padding: var(--space-3) 0; margin-top: var(--space-3); }
}
@media (max-width: 767px) {
  .assign-side.has-selection .list-view-panel { display: none; }
  .assign-side.has-selection.is-browsing .list-view-panel { display: flex; }
  .list-view-controls { width: 100%; margin-left: 0; justify-content: space-between; }
  .list-view-controls .pagination { flex: 1 1 auto; }
  .list-view-footer { padding: var(--space-3) 0; }
}
