/* Shared by React, server-rendered lists, and client-filtered tables. */
.shared-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 4px; border-top:1px solid #dfe5ec; }
.shared-pagination[hidden] { display:none !important; }
.shared-pagination .shared-pagination-details { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px; }
.shared-pagination .shared-pagination-size { margin:0; }
.shared-pagination .shared-pagination-size label { display:flex; align-items:center; gap:8px; margin:0; white-space:nowrap; color:#66758a; font-size:12px; }
.shared-pagination .shared-pagination-size select { width:auto; min-height:34px; height:auto; margin:0; padding:5px 24px 5px 10px; border:1px solid #dfe5ec; border-radius:5px; background:#fff; color:#253246; font-size:12px; }
.shared-pagination .shared-pagination-summary { margin:0; padding:0; color:#66758a; font-size:12px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.shared-pagination .shared-pagination-summary strong { color:#253246; font-weight:700; }
.shared-pagination .shared-pagination-controls { display:flex; align-items:center; gap:5px; max-width:100%; padding:3px; overflow-x:auto; }
.shared-pagination .shared-pagination-controls :is(a,button,span.is-disabled,span.is-current) { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:36px; min-height:36px; box-sizing:border-box; padding:7px 10px; border:1px solid #dce3ec; border-radius:6px; background:#fff; color:#31588f; font-size:12px; font-weight:600; text-decoration:none; cursor:pointer; }
.shared-pagination .shared-pagination-controls :is([aria-current=page],.is-current) { background:#31588f; border-color:#31588f; color:#fff; }
.shared-pagination .shared-pagination-controls :is(:disabled,.is-disabled) { background:#f7f8fa; border-color:#e7ebf1; color:#9aa5b5; cursor:default; }
.shared-pagination .shared-pagination-controls :is(a,button):hover:not(:disabled):not([aria-current=page]) { background:#edf3fc; border-color:#9bb1cf; }
.shared-pagination :is(a,button,select):focus-visible { outline:2px solid #31588f; outline-offset:2px; }
@media(max-width:767px) {
  .shared-pagination { flex-direction:column; align-items:stretch; gap:10px; }
  .shared-pagination .shared-pagination-details,.shared-pagination .shared-pagination-controls { justify-content:center; }
}
