.flex-table {
  width: 100%;
  background-color: #fafafc;
  border-top: 1px solid #c8c8c8;
  border-left: 1px solid #c8c8c8; }
  .flex-table thead,
  .flex-table .thead,
  .flex-table tfoot,
  .flex-table .tfoot {
    background-color: #dadae9; }
  .flex-table .highlightrow {
    background-color: #f8f8fb; }
  .flex-table th,
  .flex-table .th,
  .flex-table td,
  .flex-table .td {
    padding: 0.75em 1em; }
  .flex-table th,
  .flex-table .th {
    text-transform: uppercase;
    font-weight: 600; }
  .flex-table td,
  .flex-table .td {
    border-right: 1px solid #c8c8c8;
    border-bottom: 1px solid #c8c8c8;
    text-overflow: ellipsis;
    vertical-align: top;
    position: relative;
    z-index: auto; }
  .flex-table col.minimal {
    width: 1px; }
  .flex-table .ft-action-item {
    cursor: pointer; }
    .flex-table .ft-action-item:hover {
      background-color: #c7c7ff !important; }
    .editing .flex-table .ft-action-item {
      cursor: not-allowed; }
      .editing .flex-table .ft-action-item:hover {
        background-color: inherit; }

div.flex-table .tbody {
  position: relative;
  z-index: 2; }
  div.flex-table .tbody .tr {
    position: relative;
    z-index: 2; }
    div.flex-table .tbody .tr.editing, div.flex-table .tbody .tr.active {
      z-index: 10; }
    div.flex-table .tbody .tr.ft-group-row {
      background-color: #f0f0f6;
      font-weight: 600; }
    div.flex-table .tbody .tr:nth-child(2n):not([class*='alert-']) {
      background-color: #f7f7fa; }
  div.flex-table .tbody .tr.selected,
  div.flex-table .tbody .th.selected,
  div.flex-table .tbody .td.selected {
    background-color: #FFFFCC !important; }

div.flex-table .tfoot {
  position: relative;
  z-index: 1; }
  div.flex-table .tfoot.editing {
    z-index: 10; }
  div.flex-table .tfoot .tr.editing {
    background-color: #fafafc; }

div.flex-table .tr {
  display: flex;
  flex-wrap: wrap; }

div.flex-table .td,
div.flex-table .th {
  flex-grow: 1;
  box-sizing: border-box; }
  div.flex-table .td.ft-shrink-column,
  div.flex-table .th.ft-shrink-column {
    flex-grow: 0; }
    div.flex-table .td.ft-shrink-column .btn,
    div.flex-table .th.ft-shrink-column .btn {
      min-width: 40px; }

div.flex-table [class*="col-"] {
  margin: 0; }

div.flex-table.ft-limited-body > .thead .tr,
div.flex-table.ft-limited-body > .tfoot .tr {
  margin-right: 17px; }

div.flex-table.ft-limited-body > .tbody {
  max-height: 80vh;
  overflow-y: scroll; }
