:host {
  --sl-table-divide-y-reverse: 0;
  display: flex;
  flex-direction: column;
}

.table {
  display: inline-block;
  min-width: 100%;
}
.table *,
.table ::after,
.table ::before {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}
.table .table__wrapper {
  border-width: 1px;
  border-radius: var(--sl-border-radius-medium);
  border-color: var(--sl-input-border-color);
  box-shadow: var(--sl-shadow-x-small);
}
.table .table__wrapper table {
  min-width: 100%;
  width: 100%;
  margin: 0px;
  border-color: var(--sl-input-border-color);
  border-collapse: collapse;
}
.table .table__wrapper table > * + * {
  border-top-width: calc(1px * (1 - var(--sl-table-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--sl-table-divide-y-reverse));
  border-color: var(--sl-input-border-color);
}
.table .table__wrapper table thead {
  background-color: var(--sl-cell-header-background);
}

.table--scroll-none .table__wrapper {
  overflow: hidden;
}

.table--scroll-horizontal .table__wrapper {
  overflow-x: auto;
  overflow-y: hidden;
}

.table--scroll-vertical .table__wrapper {
  overflow-y: auto;
  overflow-x: hidden;
}

.table--scroll-both .table__wrapper {
  overflow-y: auto;
  overflow-x: auto;
}