@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-tbody-td-font-size: 16px;
@table-row-height: 46px;
@table-row-padding: 0 16px;
@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-tbody-td-font-size: @table-tbody-td-font-size;
  --table-row-height: @table-row-height;
  --table-row-padding: @table-row-padding;
  --table-footer-border-top: @table-footer-border-top;
}

.var-table {
  width: 100%;
  background: var(--table-background);
  border-radius: var(--table-border-radius);
  transition: 0.25s background-color;

  * {
    box-sizing: border-box;
  }

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

    > table {
      min-width: 100%;
      display: table;
      border-spacing: 0;
      border-collapse: collapse;
      line-height: normal;

      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);
          }
        }

        td {
          font-size: var(--table-tbody-td-font-size);
        }
      }

      th {
        display: table-cell;
        height: var(--table-row-height);
        padding: var(--table-row-padding);
        font-weight: 500;
        text-align: left;
      }

      td {
        display: table-cell;
        padding: var(--table-row-padding);
        height: var(--table-row-height);
        text-align: left;
      }
    }
  }

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