/* =========================================================
   TABLAS RESUMEN - ENCABEZADOS FIJOS
   Mantiene visibles las cabeceras en listados largos.
   ========================================================= */

:root{
  --lims-summary-card-max-h: calc(100vh - var(--navbar-h, 50px) - 24px);
  --lims-sticky-head-row-h: 30px;
}

@supports selector(:has(*)){
  body.bg-light:has(.lims-page-content .lims-table-card){
    overflow: hidden !important;
  }

  body > .container-fluid:has(.lims-page-content .lims-table-card){
    height: 100vh !important;
    max-height: 100vh !important;
    overflow: hidden !important;
  }

  .lims-page-content:has(.lims-table-card){
    box-sizing: border-box !important;
    height: calc(100vh - var(--navbar-h, 50px)) !important;
    max-height: calc(100vh - var(--navbar-h, 50px)) !important;
    overflow: hidden !important;
  }
}

.lims-page-content:has(.lims-table-card) > .row{
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.lims-page-content:has(.lims-table-card) > .row > [class*="col-"]{
  display: flex !important;
  flex-direction: column !important;
  max-height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.lims-page-content .lims-table-card{
  display: flex !important;
  flex-direction: column !important;
  max-height: var(--lims-summary-card-max-h) !important;
  min-height: 0 !important;
}

.lims-page-content:has(.lims-table-card) > .row > [class*="col-"] > .lims-table-card{
  height: 100% !important;
}

.lims-page-content .lims-table-card > .lims-table-toolbar{
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 12 !important;
}

.lims-page-content .lims-table-card .lims-table-title{
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}

.lims-page-content .lims-table-card > .lims-table-wrap{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 0 14px 14px !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: rgba(255,255,255,0.92);
  position: relative !important;
}

.lims-table-wrap > .lims-data-table{
  margin-top: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  isolation: isolate;
}

.lims-table-wrap > .lims-data-table > tbody,
.lims-table-wrap > .lims-data-table > tbody > tr{
  height: auto !important;
}

.lims-table-wrap > .lims-data-table tbody td{
  position: relative;
  z-index: 1;
  height: auto !important;
  line-height: 1.22 !important;
}

.lims-table-wrap > .lims-data-table thead th{
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  background: linear-gradient(
    180deg,
    var(--table-head-1, #187dc1) 0%,
    var(--table-head-2, #005a9c) 100%
  ) !important;
  background-clip: border-box !important;
  box-shadow: 0 1px 0 rgba(201,185,106,0.95), 0 6px 12px rgba(7,55,99,0.10);
}

.lims-table-wrap > .lims-data-table thead tr:nth-child(2) th{
  top: var(--lims-sticky-head-row-h) !important;
  z-index: 81 !important;
}

.lims-table-wrap > .lims-data-table thead tr:nth-child(3) th{
  top: calc(var(--lims-sticky-head-row-h) * 2) !important;
  z-index: 82 !important;
}

.lims-table-wrap > .lims-data-table thead tr:first-child th[rowspan]{
  z-index: 83 !important;
}

.lims-table-wrap > .lims-data-table thead th::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: rgba(201,185,106,0.95);
  pointer-events: none;
}

.lims-table-wrap > .lims-data-table tbody tr:first-child td{
  border-top: 0 !important;
}

@media (max-width: 768px){
  :root{
    --lims-summary-card-max-h: calc(100vh - var(--navbar-h, 50px) - 18px);
    --lims-sticky-head-row-h: 28px;
  }
}
