
.tabulator .tabulator-row .tabulator-cell {
  border-left: none !important;
  border-right: none !important;
  padding-left:18px !important;
}

.tabulator .tabulator-header .tabulator-col {
  min-width: fit-content !important;
  border-left: none !important;
  border-right: none !important;
}

.tabulator .tabulator-header .tabulator-col {
  justify-content: center;
  align-content: center;
  background-color: rgba(245, 245, 245, 1);
  font-family: 'Satoshi', sans-serif;
  font-size: 14px;
  color: #000;
}



.col-date,
.col-id,
.col-name,
.col-location,
.col-status,
.col-channel,
.col-patients,
.col-total,
.col-actions,
.col-data {

  display: flex;
  min-height: 48px !important;
  border: 0px;
  border-bottom: 1px solid rgba(229, 229, 229, 1);
  padding: 0px 12px !important;
  gap: 8px;
  align-content: center;
}

/* Apply to cells in the body only */
.tabulator .tabulator-row .tabulator-cell.col-actions {
  background-color: white !important;
}






.col-name {
  font-weight: 700;
}

.action-btn {
  width: 16px;
  height: 16px;
  border: 0px solid white;
  color: rgba(82, 82, 82, 1);
  background-color: white;
}


/* Closed/idle control gets a red border when invalid */
.ts-wrapper.is-invalid .ts-control {
  border: 1px solid var(--danger-600, #d93025) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--danger-600, #d93025) 20%, transparent);
}

/* Keep it red even when focused */
.ts-wrapper.is-invalid .ts-control.focus {
  border-color: var(--danger-600, #d93025) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--danger-600, #d93025) 25%, transparent);
}






.ts-wrapper.ts-error .ts-control {
  border: 1px solid #d93025;
  box-shadow: 0 0 0 1px rgba(217,48,37,.15);
}

.ts-wrapper.multi .ts-control {
  display: flex !important;
  flex-wrap: wrap !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: 96px !important;
  min-height: 40px;
  box-sizing: border-box;
  gap: 6px;
  padding: 8px 12px 8px 12px;
  border-radius: 8px;
  position: relative;
}

.ts-wrapper.multi .ts-control::-webkit-scrollbar {
  height: 6px;
}

.ts-wrapper.multi .ts-control::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

.ts-wrapper .item,
.ts-custom-tag {
  background-color: #CDF2F7 !important;
  border-radius: 20px;
  padding: 6px 10px;
  margin: 4px 6px 4px 0;
  display: inline-flex;
  align-items: center;
  font-family: 'Satoshi', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #004d40;
  line-height: 1.4;
}

.ts-wrapper .item .remove {
  border: none;
  background: transparent;
  color: #00796b;
  font-weight: bold;
  font-size: 14px;
  margin-left: 8px;
  padding: 0 4px;
  cursor: pointer;
}

.ts-wrapper .item .remove:hover {
  color: #004d40;
}

.ts-dropdown .option,
 .ts-dropdown .option .active{
    display: flex;
    align-content: center;
    align-items: center;
    color:black;
}


.ts-dropdown,
.ts-dropdown .ts-dropdown-content {


  width: 100%;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}


.ts-custom-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  border-bottom: 1px solid #eee;
  border-color: #CDF2F7;
}

.ts-custom-option input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #00acc1;
}

.option-name {
  flex-grow: 1;
  font-weight: 500;
  color: #263238;
}

.option-id {
  font-size: 12px;
  color: #90a4ae;
}


/* .ts-control::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/icons/person.svg');
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.6;
} */


.ts-wrapper {
    width:100%;
}


.ts-wrapper.table-attendance-dropdown {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ts-wrapper.table-attendance-dropdown .ts-control {
  padding-left: 36px !important;
  padding-right: 8px !important;
  border-radius: 8px;
  z-index:0;
}

.ts-control:focus-within {
  border: 3px solid #0DA9CD;
  border-radius: 8px;
}


.ts-dropdown {
  z-index: 9999 !important;
}

.tabulator {
  background-color: white !important;
  border: 0px;
}

.tabulator-row.tabulator-row-even {
    background-color: #fff !important;
}

.tabulator-row.tabulator-row-odd:hover,
.tabulator-row.tabulator-row-even:hover {
    background-color: #CDF2F7 !important;
}


.action-btn {
  cursor: pointer;
}

.tabulator .tabulator-tableholder {
  overflow-x: auto;
  -ms-overflow-style: auto;
  scrollbar-width: auto;
}

.tabulator .tabulator-tableholder::-webkit-scrollbar {
  width: 2px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.tabulator .tabulator-tableholder:hover::-webkit-scrollbar {
  opacity: 1;
}

/* Optional: nice visible scrollbar instead of zero-width */
.tabulator .tabulator-tableholder::-webkit-scrollbar {
  height: 4px;              /* horizontal scrollbar thickness */
}

.tabulator .tabulator-tableholder::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}


/* ==========================================================================
   PDF EXPORT: HTML Print Tables (report-table-print.ejs)
   - Prevent app.css / resets from breaking table layout
   - Stable grouped headers (colspan/rowspan)
   - Wrap content without collapsing columns
   ========================================================================== */
@media print {

  /* 1) Kill any full-height layout behavior */
  html, body {
    height: auto !important;
    min-height: 0 !important;
  }

  /* 2) Your export root should size to content, not viewport */
  #report-export-root {
    height: auto !important;
    min-height: 0 !important;
    display: block !important; /* in case some global CSS makes it flex */
  }

  /* 3) Prevent wrapper blocks from stretching */
  .report-print-block {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
  }

  /* 4) Prevent table/rows from inheriting stretch height */
  table.report-print-table,
  table.report-print-table tr,
  table.report-print-table thead,
  table.report-print-table tbody,
  table.report-print-table th,
  table.report-print-table td {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  table.report-print-table { font-size: 11px !important; }


  /* ---- Base table layout (MOST IMPORTANT) ---- */
  table.report-print-table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;

    /* Stabilize column sizing in PDF */
    table-layout: fixed !important;

    /* Force native table layout even if app.css overrides tables */
    display: table !important;
  }

  table.report-print-table thead { display: table-header-group !important; }
  table.report-print-table tbody { display: table-row-group !important; }
  table.report-print-table tr {
    display: table-row !important;
    page-break-inside: avoid;
  }

  table.report-print-table th,
  table.report-print-table td {
    display: table-cell !important;
    border: 1px solid #ddd !important;
    padding: 6px !important;
    vertical-align: top !important;

    /* Wrap safely (prevents clipping) */
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;

    /* If your app has funky line-height resets */
    line-height: 1.25 !important;
    height: auto !important;
  }

  table.report-print-table th {
    font-weight: 600 !important;
  }

  /* ---- Two-line cells (desc2 / bill2 / pay2 objects) ---- */
  .print-2line { display: block; }
  .print-2line__l1 { font-weight: 500 !important; }
  .print-2line__l2 { opacity: 0.85 !important; }

  /* ---- Optional: make columns readable (tweak as needed) ---- */
  table.report-print-table th,
  table.report-print-table td {
    min-width: 70px; /* stops super skinny columns */
  }

  /* Date usually needs more room */
  table.report-print-table th.col-date,
  table.report-print-table td.col-date {
    width: 75px !important;
  }

   tr.report-print-subtotal-row td {
    font-weight: 700 !important;
    background: #f7f8fa !important;
  }

  /* If you have right-aligned money columns, keep them right */
  table.report-print-table td.col-billing,
  table.report-print-table td.col-payment {
    text-align: right;
  }

  /* === SAFE: header background only === */
  table.report-print-table thead th {
    background-color: #f2f4f7 !important;
  }

  table.report-print-table thead tr:first-child th {
    background-color: #e9edf2 !important;
  }

  /* === SAFE: rounded corners using cell radius (no layout impact) === */
  table.report-print-table thead tr:first-child th:first-child {
    border-top-left-radius: 6px;
  }

  table.report-print-table thead tr:first-child th:last-child {
    border-top-right-radius: 6px;
  }

  table.report-print-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 6px;
  }

  table.report-print-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 6px;
  }

    /* ===============================
     ACCORDION EXPORT PAGINATION
     (NO BLANK PAGES)
     =============================== */

  /* Use a dedicated marker element inserted in EJS:
     <div class="print-pagebreak"></div> */
  .print-pagebreak {
    break-before: page !important;
    page-break-before: always !important;
    height: 0 !important;
  }

  /* Neutralize any UI layout behavior during print */
  .report-accordion__items,
  .report-accordion__item,
  .report-accordion__panel,
  .report-accordion__panelInner {
    display: block !important;
    overflow: visible !important;
  }

  /* IMPORTANT: allow long tables/content to split naturally */
  .report-accordion__panel {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* Keep the provider header attached to what follows */
  .report-accordion__trigger {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  /* Disabled button should NOT look disabled in export */
  .report-accordion[data-export-mode="true"] .report-accordion__trigger:disabled {
    opacity: 1 !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    background: transparent !important;
    cursor: default !important;
  }

  /* "Provider:" prefix styling (export-only label structure) */
  .report-accordion[data-export-mode="true"] .report-accordion__labelPrefix {
    font-weight: 600 !important;
    margin-right: 6px !important;
    color: #111 !important;
  }

  .report-accordion[data-export-mode="true"] .report-accordion__labelText {
    font-weight: 700 !important;
    color: #111 !important;
  }

  .report-accordion[data-export-mode="true"] .report-accordion__meta {
    color: #111 !important;
    opacity: 0.9 !important;
  }

  /* ===============================
     REMOVE ACCORDION BORDERS / UI CHROME
     =============================== */

  .report-accordion,
  .report-accordion__item,
  .report-accordion__panel,
  .report-accordion__panelInner {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .report-accordion__trigger {
    border: none !important;
    background: transparent !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Remove any separators your app might add */
  .report-accordion__item + .report-accordion__item {
    border-top: none !important;
  }

  /* ===============================
     TITLE & PROVIDER SIZE BOOST (+4px)
     =============================== */

  /* Accordion section title (if present) */
  .report-accordion__title {
    font-size: calc(1em + 4px) !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
  }

  /* Provider label (export mode only) */
  .report-accordion[data-export-mode="true"] .report-accordion__labelPrefix,
  .report-accordion[data-export-mode="true"] .report-accordion__labelText {
    font-size: calc(1em + 4px) !important;
    line-height: 1.3 !important;
  }

  /* Optional: slightly separate provider header from content */
  .report-accordion__trigger {
    margin-bottom: 6px !important;
  }

}

