.table {

  th.details, td.details {
    text-align: left;
    width: 40px;
  }

  th.filterable {
    position: relative;
    padding-right: 20+@font-size-base;
  }

  thead {
    .thead-bg (@table, @body) when (@table = transparent) {
      background-color: @body;
    }
    .thead-bg (@table, @body) when not (@table = transparent) {
      background-color: @table;
    }
    .thead-bg(@table-bg, @body-bg);

    tr {
      th {
        .icon-sort-asc,.icon-sort-desc {
          margin-left: 4px;
        }
      }
      th.sortable {
        cursor: pointer;
      }
    }

    &.header-bordered,
    &.header-bordered > tr > th,
    &.header-bordered > tr > td {
      border: 1px solid @table-border-color;
    }
  }

  tbody {
    tr {
      td {
        vertical-align: middle;
        &.line-number {
          font-family: @font-family-monospace;
        }

        .empty-grid {
          margin-bottom: 0;
        }
      }
    }
  }

  &-totals {
    width: inherit;
  }

  .row-selection {
    text-align: left;
    
    ul {
      margin-bottom: 0;
      margin-left: 0;
    
      input[type="checkbox"] {
        margin: 0;
      }
    
      li {
        padding: 0;
      }
    
      .link-icon {
        font-size: 1.2em;
      }     
    } 
  }

}