@table-background: #fff;
@table-border-radius: 2px;
@table-thead-border-bottom: thin solid rgba(0, 0, 0, 0.12);
@table-thead-th-text-color: rgba(0, 0, 0, 0.6);
@table-thead-th-font-size: 14px;
@table-thead-tr-border-bottom: thin solid rgba(0, 0, 0, 0.12);
@table-tbody-tr-hover-background: #eee;
@table-tbody-tr-border-bottom: thin solid rgba(0, 0, 0, 0.12);
@table-footer-min-height: 54px;
@table-footer-border-top: thin solid rgba(0, 0, 0, 0.12);

:root {
  --table-background: @table-background;
  --table-border-radius: @table-border-radius;
  --table-thead-border-bottom: @table-thead-border-bottom;
  --table-thead-th-text-color: @table-thead-th-text-color;
  --table-thead-th-font-size: @table-thead-th-font-size;
  --table-thead-tr-border-bottom: @table-thead-tr-border-bottom;
  --table-tbody-tr-hover-background: @table-tbody-tr-hover-background;
  --table-tbody-tr-border-bottom: @table-tbody-tr-border-bottom;
  --table-footer-min-height: @table-footer-min-height;
  --table-footer-border-top: @table-footer-border-top;
}

.ppsv-table {
  width: 100%;
  background: var(--table-background);
  border-radius: var(--table-border-radius);

  * {
    box-sizing: border-box;
  }

  table {
    min-width: 100%;
    display: table;
    border-spacing: 0;
    border-collapse: collapse;
  }

  thead {
    display: table-header-group;
    border-bottom: var(--table-thead-border-bottom);

    tr {
      th {
        color: var(--table-thead-th-text-color);
        font-size: var(--table-thead-th-font-size);
      }

      &:not(:last-child) {
        border-bottom: var(--table-thead-tr-border-bottom);
      }
    }
  }

  tbody {
    display: table-row-group;

    tr {
      display: table-row;
      outline: 0;
      vertical-align: middle;

      &:hover {
        background: var(--table-tbody-tr-hover-background);
      }

      &:not(:last-child) {
        border-bottom: var(--table-tbody-tr-border-bottom);
      }
    }
  }

  th {
    display: table-cell;
    padding: 16px;
    font-weight: 500;
    text-align: left;
  }

  td {
    display: table-cell;
    padding: 16px;
    text-align: left;
  }

  &__main {
    width: 100%;
    overflow-x: auto;
  }

  &__footer {
    width: 100%;
    min-height: var(--table-footer-min-height);
    border-top: var(--table-footer-border-top);
  }
}
