.smart-table { overflow: visible; }
.smart-table-cabecalho {
   display: flex;
   flex-direction: column;
   align-items: flex-start;

   justify-content: space-between;
   overflow: visible;
   position: relative;
   z-index: 20;
   padding: 12px 16px;
}
.smart-table .box-title { flex: 0 0 auto; white-space: nowrap; }
.smart-table .box-title small { margin-left: 6px; color: #777; }
.smart-table-toolbar { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; margin-top: 10px; width: 100%; }
.smart-table-toolbar:empty { display: none; }
.smart-table-busca { flex: 0 0 300px; width: 300px; }
.smart-table-tamanho { flex: 0 0 135px; width: 135px !important; }
.smart-table-toolbar .dropdown-menu { z-index: 1050; }
.smart-table-table { margin-bottom: 0; }
.smart-table-table > thead > tr > th {
   border-bottom: 0;
   background: #1976d2;
   color: #fff;
   vertical-align: middle;
   white-space: nowrap;
}
.smart-table-ordenavel { cursor: pointer; user-select: none; }
.smart-table-ordenavel:hover { background: #1565c0 !important; }
.smart-table-ordenavel .fa { margin-left: 5px; color: #dcecff; }
.smart-table-coluna-selecao {
   width: 1%;
   min-width: 26px;
   padding-right: 3px !important;
   padding-left: 3px !important;
   white-space: nowrap;
}
.smart-table-coluna-selecao input { display: block; margin: 0 auto; }
.smart-table-acoes { width: 1%; padding-right: 4px !important; padding-left: 4px !important; white-space: nowrap; }
.smart-table-acoes > .btn,
.smart-table-acoes > a.btn { min-width: 24px; padding-right: 4px; padding-left: 4px; }
.smart-table-acoes .btn + .btn { margin-left: 2px; }
.smart-table-control {
   display: inline-flex;
   width: 18px;
   height: 22px;
   padding: 0;

   justify-content: center;
   border: 0;
   outline: 0;
   background: transparent;
   color: #6f7f88;
   vertical-align: middle;
}
.smart-table-control + .smart-table-control,
.smart-table-control + .btn,
.smart-table-control + a { margin-left: 1px; }
.smart-table-drag-handle {
   opacity: 0;
   cursor: move;
   cursor: grab;
   transition: opacity .12s ease, color .12s ease;
}
.smart-table-drag-handle .fa {
   width: 3px;
   height: 3px;
   margin: 0;
   border-radius: 50%;
   background: currentColor;
   box-shadow: 6px 0 currentColor, 0 5px currentColor, 6px 5px currentColor, 0 10px currentColor, 6px 10px currentColor;
   font-size: 0;
   transform: translate(-3px, -5px);
}
.smart-table-drag-handle .fa:before { content: none; }
.smart-table-linha:hover .smart-table-drag-handle,
.smart-table-drag-handle:focus,
.smart-table-drag-handle:active { opacity: .6; }
.smart-table-drag-handle:hover { color: #37474f; opacity: 1 !important; }
.smart-table-drag-handle:active { cursor: grabbing; }
.smart-table-drag-handle.disabled { cursor: not-allowed; opacity: 0; }
.smart-table-linha:hover .smart-table-drag-handle.disabled { opacity: .25; }
.smart-table-subgrid-toggle { color: #80909a; opacity: .55; transition: opacity .12s ease, color .12s ease; }
.smart-table-linha:hover .smart-table-subgrid-toggle { opacity: 1; }
.smart-table-subgrid-toggle:hover,
.smart-table-subgrid-toggle:focus { color: #1976d2; background: #edf5fc; border-radius: 2px; opacity: 1; }
.smart-table-operacao-cima,
.smart-table-operacao-baixo {
   padding-right: 4px;
   padding-left: 4px;
   border-color: transparent;
   background: transparent;
   box-shadow: none;
   opacity: .45;
}
.smart-table-operacao-cima:hover,
.smart-table-operacao-baixo:hover,
.smart-table-operacao-cima:focus,
.smart-table-operacao-baixo:focus { border-color: #d9e2e7; background: #f4f7f9; opacity: 1; }
.smart-table-arrastando { opacity: .55; }
.smart-table-destino-antes > td { border-top: 3px solid #1976d2 !important; }
.smart-table-destino-depois > td { border-bottom: 3px solid #1976d2 !important; }
.smart-table-status { display: inline-block; min-width: 72px; padding: 5px 7px; }
.smart-table-linha-selecionada { background-color: #eaf4ff !important; }
.smart-table-table > tfoot > tr > td {
   padding-top: 6px;
   padding-bottom: 6px;
   background: #f5f5f5;
   border-top: 2px solid #ddd;
   color: #555;
   font-weight: 600;
   white-space: nowrap;
}
.smart-table-selecionados { color: #666; }
.smart-table-estado { padding: 40px 15px; color: #777; text-align: center; }
.smart-table-estado > .fa { display: block; margin-bottom: 8px; font-size: 26px; }
.smart-table-paginacao-container { display: flex; min-height: 38px; align-items: center; justify-content: center; padding: 4px 10px; background: #fafafa; border-top: 1px solid #eee; position: relative; }
.smart-table-paginacao-container > .smart-table-selecionados { position: absolute; left: 10px; font-weight: 600; }
.smart-table .pagination { margin: 0; }
.smart-table-subgrid > td { padding: 0 !important; background: #f7fbff; border-top: 0 !important; }
.smart-table-subgrid-conteudo { margin: 0 16px 12px 58px; border: 1px solid #c9ddec; border-radius: 3px; background: #fff; }
.smart-table-subgrid-titulo { padding: 8px 12px; background: #eaf4fb; border-bottom: 1px solid #c9ddec; color: #3c5d73; }
.smart-table-subgrid-titulo .fa { margin-right: 6px; }
.smart-table-subgrid-carregando, .smart-table-subgrid-erro { padding: 18px; text-align: center; }
.smart-table-subgrid-table { margin-bottom: 0; }
.smart-table-subgrid-table > thead > tr > th { padding: 7px 10px; background: #f5f5f5; color: #444; white-space: nowrap; }
.smart-table-subgrid-table > tbody > tr > td { padding: 7px 10px; }

@media (max-width: 767px) {
   .smart-table-table > thead { display: none; }
   .smart-table-table, .smart-table-table > tbody, .smart-table-table > tbody > tr, .smart-table-table > tbody > tr > td { display: block; width: 100%; }
   .smart-table-table > tbody > tr { padding: 10px 15px; border-bottom: 1px solid #ddd; }
   .smart-table-table > tbody > tr > td { padding: 4px 0 !important; border: 0 !important; text-align: left !important; }
   .smart-table-table > tbody > tr > td:before, .smart-table-table > tfoot > tr > td:before {
      content: attr(data-label);
      display: block;
      color: #777;
      font-size: 11px;
      font-weight: 600;
      text-transform: uppercase;
   }
   .smart-table-table > tfoot > tr > td:empty { display: none; }
   .smart-table-subgrid-conteudo { margin: 6px 0; }
}

@media (hover: none) {
   .smart-table-drag-handle { opacity: .55; }
   .smart-table-drag-handle.disabled { opacity: .25; }
}

/* Estado vazio compacto, preservando os comandos de inclusão e pesquisa. */
.smart-table-vazia .smart-table-cabecalho { flex-direction: row; flex-wrap: wrap; gap: 8px 16px; padding: 8px 12px; }
.smart-table-vazia .smart-table-toolbar { width: auto; margin-top: 0; }
.smart-table-vazia .smart-table-estado { padding: 10px 12px; text-align: left; }
.smart-table-vazia .smart-table-estado > .fa { display: inline-block; font-size: 14px; margin: 0 6px 0 0; }
.smart-table-vazia .smart-table-paginacao-container { display: none; }