.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-top: 1px solid var(--border);
  background: #fafbfd;
  color: #40516a;
  font-size: 13px;
}
.pagination-summary { margin-right: auto; font-variant-numeric: tabular-nums; }
.pagination-size { display: flex; align-items: center; gap: 8px; font-size: 13px; white-space: nowrap; }
.pagination-size select { width: auto; margin: 0; padding: 7px 9px; font-size: 14px; }
.pagination-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.pagination-button {
  min-height: 36px;
  min-width: 36px;
  padding: 7px 10px;
  border: 1px solid #dce3ec;
  border-radius: 6px;
  background: white;
  color: #40516a;
  font-size: 13px;
  font-weight: 600;
}
.pagination-button:hover:not(:disabled) { background: #eaf1ff; }
.pagination-button[aria-current="page"] { background: var(--blue); border-color: var(--blue); color: white; }
.pagination-button:disabled { cursor: default; opacity: .45; }
/* Hidden rows must stay absent from layout even if other table styles change. */
.table-wrap tr[hidden] { display: none; }
@media (max-width: 600px) {
  .pagination { padding: 14px; gap: 12px; }
  .pagination-summary { flex: 1 1 100%; }
  .pagination-controls { flex: 1 1 100%; }
}
@media print {
  .pagination { display: none; }
  .table-wrap tr[hidden] { display: table-row; }
}
