.ts__table__container {
  --black: #000;
  --white: #fff;
  --grey-100: #fafafa;
  --grey-200: #f4f4f4;
  --grey-300: #edeeef;
  --grey-500: #dcddde;
  --grey-600: #bbbbbd;
  --grey-700: #77787b;
  --grey-900: #414042;
  --filter-width: 24rem;

  // set default styles for all elements
  & * {
    box-sizing: border-box;
  }

  .ts__table__layout {
    display: flex;
    width: calc(100% - var(--filter-width));
    transition: all 0.4s ease-in-out;

    .ts__table__filter {
      width: 0rem;
      opacity: 0;
      margin-right: calc(-1 * var(--filter-width));
      transition: all 0.4s ease-in-out;
      max-height: calc(100vh - 110px);
    }
    .ts__table__filter.show {
      transition: all 0.4s ease-in-out;
      opacity: 1;
      width: var(--filter-width);
      max-width: var(--filter-width);
      margin-left: 1.25rem;
      margin-right: 0rem;
      min-height: calc(100vh - 110px);
    }
  }

  .ts__table__layout.has-filter {
    width: 100%;
  }

  .ts__table__main {
    flex: 1;
    min-width: 0;
  }

  .ts__loader {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    color: var(--grey-900);
    font-size: 1.2rem;
  }

  .ts__table__wrapper {
    overflow-x: auto;
    max-height: calc(100vh - 160px);

    &.is-fullscreen {
      max-height: calc(100vh - 56px);
    }

    .ts__table {
      width: max-content;
      min-width: 100%;
      border-spacing: 0;
      border-collapse: separate;
    }
  }
}

:fullscreen {
  width: 100vw !important;
  height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--white);
  overflow: hidden;
}

:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--white);
  overflow: hidden;
}
