.ngx-datatable.dark {
  box-shadow: none;
  background: #1b1e27;
  border: 1px solid #2f3646;
  color: #fff;
  font-size: 13px;

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  .datatable-header {
    background: #181b24;
    color: #72809b;

    .datatable-header-cell {
      flex-shrink: 0;
      text-align: start;
      padding-block: 0.5rem;
      padding-inline: 1.2rem;
      font-weight: bold;

      .datatable-header-cell-label {
        line-height: 24px;
      }
    }
  }

  .datatable-body {
    background: #1a1e28;

    .datatable-body-row {
      border-block-start: 1px solid #2f3646;

      .datatable-body-cell {
        flex-shrink: 0;
        text-align: start;
        padding-block: 0.5rem;
        padding-inline: 1.2rem;
        vertical-align: top;
      }

      &:hover {
        background: #171b24;
        transition-property: background;
        transition-duration: 0.3s;
        transition-timing-function: linear;
      }

      &:focus {
        background-color: #232837;
      }

      &.active {
        background-color: #1483ff;
        color: #fff;
      }
    }

    .custom-loading-indicator-wrapper {
      position: sticky;
      inset-block-start: 0;
      block-size: 0;
      z-index: 999;

      .custom-loading-content {
        inline-size: 100%;
        background-color: #1a1e28;
      }
    }
  }

  .datatable-footer {
    background: #232837;
    color: #72809b;
    margin-block-start: -1px;

    .page-count {
      line-height: 50px;
      block-size: 50px;
      padding-block: 0;
      padding-inline: 1.2rem;
    }

    .datatable-pager {
      margin-block: 0;
      margin-inline: 10px;
      vertical-align: top;

      ul {
        li {
          margin-block: 10px;
          margin-inline: 0;
        }
      }

      .page-button {
        block-size: 22px;
        min-inline-size: 24px;
        line-height: 22px;
        padding: 0;
        border-radius: 3px;
        margin-block: 0;
        margin-inline: 3px;
        text-align: center;
        text-decoration: none;
        vertical-align: bottom;
        color: #72809b;
        border: 0;
        background: none;

        &:not(:disabled) {
          &.active,
          &:hover {
            background-color: #455066;
            font-weight: bold;
          }
        }
      }

      .datatable-icon-left,
      .datatable-icon-skip,
      .datatable-icon-right,
      .datatable-icon-prev {
        display: inline-block;
        vertical-align: middle;
        font-size: 18px;
        line-height: 27px;
        padding-block: 0;
        padding-inline: 3px;
      }
    }
  }

  .datatable-summary-row {
    .datatable-body-row {
      background-color: #14171f;

      &:hover {
        background-color: #14171f;
      }

      .datatable-body-cell {
        font-weight: bold;
      }
    }
  }
}
