  .gf-menu{
    position:absolute; right:0; top:100%;
    background:#fff; min-width:280px; max-width:360px;
    border:1px solid #ddd; border-radius:6px; z-index:2000;
  }
  
  .gf-header{ display:flex; justify-content:space-between; align-items:center; padding:.5rem .75rem; border-bottom:1px solid #eee; }
  .gf-close{ border:0; background:transparent; font-size:18px; line-height:1; }
  .gf-save-row{ display:flex; gap:.5rem; padding:.5rem .75rem; border-bottom:1px solid #f3f3f3; }
  .gf-list{ max-height:300px; overflow:auto; padding:.5rem .25rem; }
  .gf-item{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.25rem .5rem; border-radius:4px; }
  .gf-item:hover{ background:#f7f9fc; }
  .gf-item .name{ cursor:pointer; }
  .gf-actions{ display:flex; gap:.25rem; }
  .gf-pill{ font-size:10px; padding:2px 6px; border:1px solid #e0e0e0; border-radius:999px; color:#666; background:#fafafa; }
  .gf-detail-tooltip{
    position:absolute;
    z-index:5000;
    background:#fff;
    border:1px solid #dcdcdc;
    border-radius:6px;
    padding:6px 8px;
    font-size:12px;
    color:#333;
    box-shadow:0 6px 12px rgba(0,0,0,0.12);
    max-width:260px;
    line-height:1.35;
    display:none;
    pointer-events:none;
    white-space:normal;
  }
  .gf-detail-tooltip.is-visible{ display:block; }
  /* Table border */
  .tabulator {
    border: 1px solid #ccc;
    background-color: #ffffff;
  }
  .tabulator .tabulator-header{
    z-index:0;
  }
  /* Header row background & text */
  .tabulator .tabulator-header .tabulator-col {
    position: relative;
  z-index: 1;                 /* non-frozen baseline */
  transform: none !important; /* avoid new stacking contexts */
  filter: none !important;
  will-change: auto !important;
    background-color: #ffffff;  /* match your nav-blue */
    color: #5994d4;
  }
  .font-icon :hover{
    background-color: #333333;
  }
  .tabulator .tabulator-header :hover {
    z-index: 0;
    background-color: #e0f0ff;  /* darker blue on hover *
    color: #5994d4;  /* ensure text is white */
  }

  .tabulator .tabulator-header .tabulator-col .tabulator-col-title {
    color: #5994d4 !important;
  }
  /* 2) Keep frozen header cells and wrappers ALWAYS above */
.tabulator .tabulator-header .tabulator-col.tabulator-frozen{
  z-index: 200;
}
.tabulator .tabulator-header .tabulator-col.tabulator-frozen:hover{
  z-index: 200 !important;
}
.tabulator .tabulator-header .tabulator-col:not(.tabulator-frozen):hover{
  z-index: 1 !important;
}
.tabulator .tabulator-header .tabulator-frozen-left,
.tabulator .tabulator-header .tabulator-frozen-right{
  position: relative;
  z-index: 201;
}
.tabulator .tabulator-header .tabulator-col:hover{
  z-index: 1 !important; /* do NOT elevate on hover */
}
.listview.tabulator{
  transform: none !important;   /* your log shows matrix(1,0,0,1,0,0) on it */
}
  /* Alternate row coloring */
  .tabulator .tabulator-row:nth-child(odd) {
    background-color: #ffffff;
  }
  .tabulator .tabulator-row:nth-child(even) {
    background-color: #f6fafd;  /* very light blue */
    border-top: 0.5px dashed #eaf6ff;
    border-bottom: 0.5px dashed #eaf6ff;
  }

  /* Hover state */
  .tabulator .tabulator-row:hover {
    background-color: #e0f0ff;  /* subtle hover highlight */
  }

  /* Footer / pagination bar (if used) */
  .tabulator .tabulator-footer {
    background-color: #f9f9f9;
    color: #333333;
  }
  .listview-email-placeholder{
    display:inline-flex;
    align-items:center;
    gap:0.25rem;
    padding:0.05rem 0.4rem;
    border-radius:999px;
    background:#fff4d6;
    border:1px solid #f4c38d;
    color:#b45309;
    font-weight:600;
    line-height:1.2;
  }
  .custom-modal {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.4); display: flex;
  align-items: center; justify-content: center;
  visibility: hidden; opacity: 0;
  transition: visibility 0s linear .2s, opacity .2s;
  z-index: 2000;
  }
  .custom-modal.show {
    visibility: visible; opacity: 1;
    transition-delay: 0s;
  }
  .custom-modal .modal-content {
    background: #fff; padding: 1rem; border-radius: 4px;
    max-width: fit-content; width: 100%;
  }

  /* Dropdown rows (checkbox + label gap) */
.dd-row{display:flex; align-items:center; gap:6px; padding:2px 0;}

.filter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: 8px;
  line-height: 0;
  cursor: pointer;
  position: relative;
}

/* both svgs are absolutely stacked; no layout shift */
.filter-icon .fi {
  position: absolute;
  inset: 0;
  width: 14px;
  height: 14px;
  margin: auto;          /* center inside 18x18 box */
  pointer-events: none;
}

/* default: show base, hide active */
.filter-icon .fi-base { opacity: 1; }
.filter-icon .fi-on   { opacity: 0; }

/* active state: flip opacities and add halo without changing box size */

.filter-icon.is-on .fi-base { opacity: 0; }
.filter-icon.is-on .fi-on   { opacity: 1; }
.filter-icon.is-on::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 3px;
}

/* Promote frozen sections to their own layer */
.tabulator .tabulator-frozen,
.tabulator .tabulator-frozen-rows,
.tabulator .tabulator-frozen-columns {
  will-change: transform;
  transform: translateZ(0);
}

/* Make sure frozen header stays above non-frozen headers consistently */
.tabulator .tabulator-frozen .tabulator-header {
  position: relative;
  z-index: 3;
}


/* Date Picker Overrides per column filter */
.af-dt-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.af-chip { font-size:11px; padding:2px 10px; border-radius:999px;
  border:1px solid #e5e7eb; background:#f9fafb; cursor:pointer; }
.af-chip:hover { background:#eef2ff; border-color:#c7d2fe; }
.af-tz { margin-top:4px; font-size:11px; color:#6b7280; }
.af-fp.flatpickr-calendar { z-index: 1095 !important; }
.af-rel-chip .badge { padding: .25rem .5rem; border-radius: .5rem; }
/* spacing helpers since BS4 lacks gap utilities */
.qp-gap > * { margin-right:.5rem; margin-bottom:.5rem; }
.qp-gap > *:last-child { margin-right:0; }

/* compact widths for selects/inputs */
.qp-w-90 { width:90px; }
.qp-w-120 { width:120px; }
.qp-w-140 { width:140px; }

/* preview box */
.qp-preview-box {
  border:1px solid #e5e7eb; border-radius:.5rem;
  padding:.5rem .6rem; background:#f9fafb; min-height:40px; font-size:.9rem;
}
.qp-time .btn{ white-space:nowrap; }
    .bt-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.85rem;line-height:1;border:1px solid #e5e7eb;background:#f3f4f6}
    .bt-chip--score5{background:#d1fae5;border-color:#34d399;color:#065f46}
    .bt-chip--score4{background:#ffedd5;border-color:#fb923c;color:#7c2d12}
    .bt-chip--score3{background:#fef9c3;border-color:#f59e0b;color:#78350f}
    .bt-chip--score2{background:#ede9fe;border-color:#8b5cf6;color:#4c1d95}
    .bt-chip--score1{background:#dbeafe;border-color:#60a5fa;color:#1e3a8a}
    .bt-chip--score0{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}
    .color-dot { display:inline-block; width:14px; height:14px; border-radius:999px;
                 border:1px solid rgba(0,0,0,.15); cursor:pointer; }
    .color-dot.is-on { outline: 2px solid #4b5563; outline-offset: 2px; }
    .lv-counter {
      position: fixed; right: 50px; bottom: 30px;
      display: grid; grid-template-columns: 1fr 1fr; gap: 15px;
      z-index: 999; background: rgba(226, 226, 226, 0.8);
      color: #000000; padding: 6px 10px; border-radius: 3px;
      font-size: 12px; line-height: 1.2;
      box-shadow: 0 10px 20px rgba(0,0,0,.05);
      backdrop-filter: blur(4px);
      pointer-events: none;  /* <- critical */
    }
    .lv-counter .muted { opacity: .85; }
    .confirm-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  display:flex; align-items:center; justify-content:center; z-index:4000;
}
.confirm-modal{
  background:#fff; border-radius:10px; padding:16px 18px; width:360px;
  box-shadow:0 20px 60px rgba(0,0,0,.18); border:1px solid #e5e7eb;
}
.confirm-title{ font-weight:600; font-size:1.05rem; margin:0 0 6px; }
.confirm-msg{ color:#374151; font-size:.95rem; margin-bottom:12px; }
.confirm-actions{ display:flex; justify-content:flex-end; gap:.5rem; margin-top:8px; }
.confirm-btn{ border:1px solid #d1d5db; background:#fff; padding:.4rem .7rem; border-radius:8px; }
.confirm-btn-danger{ background:#ef4444; color:#fff; border-color:#ef4444; }
.confirm-btn:hover{ filter:brightness(0.98); }
