.donbuild-table-scroll {
  position: relative;
  min-width: 0;
  max-width: 100%;
}
.donbuild-table-scroll__viewport {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.donbuild-table-scroll__viewport:focus-visible {
  outline: var(--donbuild-focus-width) solid var(--donbuild-color-focus);
  outline-offset: var(--donbuild-focus-offset);
}
.donbuild-table-scroll table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
}
.donbuild-table-scroll th { font-stretch: var(--donbuild-font-width-compact); }
.donbuild-table-scroll th:not([scope="row"]):not(.donbuild-table__total-label) {
  font-weight: 600;
  text-transform: uppercase;
}
.donbuild-table-scroll th[scope="row"]:not(.donbuild-table__total-label) {
  font-weight: 400;
  text-transform: none;
}
.donbuild-table-scroll td { font-weight: 400; font-stretch: var(--donbuild-font-width-normal); }
.donbuild-table-scroll th,
.donbuild-table-scroll td {
  padding: var(--donbuild-space-3) var(--donbuild-space-4);
  border-bottom: 1px solid var(--donbuild-color-border);
  text-align: start;
  vertical-align: top;
}
.donbuild-table-scroll th.donbuild-table__total-label {
  font-weight: 500;
  text-transform: none;
  text-align: end;
}
.donbuild-table-scroll::before,
.donbuild-table-scroll::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--donbuild-space-6);
  content: "";
  pointer-events: none;
  opacity: 0;
}
.donbuild-table-scroll::before {
  left: 0;
  background: linear-gradient(to right, var(--donbuild-color-surface), transparent);
}
.donbuild-table-scroll::after {
  right: 0;
  background: linear-gradient(to left, var(--donbuild-color-surface), transparent);
}
.donbuild-table-scroll[data-can-scroll-left="true"]::before,
.donbuild-table-scroll[data-can-scroll-right="true"]::after { opacity: 1; }
