:host {
  --background-fixed: var(--pine-color-base-white);
  --box-shadow: 3px 3px 6px -2px rgba(0, 0, 0, 0.2);
  --color: var(--pine-color-neutral-charcoal-200);
  --fixed-column-index: 0;
  --font-size: var(--pine-font-size-body-sm);
  --line-height: var(--pine-line-height-sm);
  --padding: calc(var(--pine-spacing-md) / 2);
  --padding-compact: var(--pine-spacing-xxs);
  --fixed-cell-position: 0;
  --max-width-truncated: 100px;
  color: var(--color);
  display: table-cell;
  font-size: var(--font-size);
  line-height: var(--line-height);
  padding: var(--padding);
  vertical-align: inherit;
}

:host(.is-compact) {
  padding-block: var(--padding-compact);
}

:host(.is-fixed) {
  background: var(--background-fixed);
  left: var(--fixed-cell-position);
  position: sticky;
  z-index: 1;
}

:host(.has-scrolled.is-fixed) {
  box-shadow: var(--box-shadow);
}

:host(.is-truncated) {
  max-width: var(--max-width-truncated);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:host(.has-checkbox) {
  vertical-align: middle;
  width: 16px;
}