:root {
  --table-floating-scrollbar-layer: 6;
}

.table-scroll-shell {
  position: relative;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--table-outer-border-color, #dbe3ef);
  border-radius: var(--table-radius, 8px);
  background: var(--table-row-bg, #fff);
  box-shadow: var(--table-shadow, none);
}

.table-scroll-shell > .table-wrap,
.table-scroll-shell > .table-split-frame > .table-wrap {
  min-width: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  overscroll-behavior: none;
  overflow-anchor: none;
  scroll-behavior: auto;
  border: 0;
  border-radius: 0;
}

.table-horizontal-scroll {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--table-floating-scrollbar-layer);
  width: auto;
  height: var(--app-scrollbar-hover-size);
  box-sizing: border-box;
  overflow-x: scroll;
  overflow-y: hidden;
  overscroll-behavior-x: none;
  overflow-anchor: none;
  scroll-behavior: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.table-horizontal-scroll.hidden,
.table-vertical-scroll.hidden {
  display: none;
}

.table-horizontal-scroll-spacer {
  height: 1px;
}

.table-vertical-scroll {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: var(--table-floating-scrollbar-layer);
  width: var(--app-scrollbar-hover-size);
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior-y: none;
  overflow-anchor: none;
  scroll-behavior: auto;
  background: transparent;
}

.table-vertical-scroll-spacer {
  width: 1px;
}
