/* =============================================================================
   Modern Tabulator skin
   -----------------------------------------------------------------------------
   Restyles the stock `tabulator_bootstrap5` theme into a modern data table:
   hairline row separators (no vertical gridlines), roomy padding, a quiet
   micro-caps header, a soft card container, and a pill pager.

   Loaded AFTER tabulator_bootstrap5.min.css (so it overrides the theme) and
   BEFORE app-components.css (so the app's per-table tweaks still win).

   Built entirely on Bootstrap 5.3 CSS variables (--bs-*), so it adapts to
   light/dark automatically once a theme toggle is added.
   ============================================================================= */

/* --- Card container: subtle border, radius, soft shadow.
   No overflow:hidden here on purpose, so row action dropdowns / tooltips that
   escape the table are not clipped. --- */
.tabulator{
  border:1px solid var(--bs-border-color);
  border-radius:.75rem;
  background:var(--bs-body-bg);
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.05);
  font-size:.9rem;
}

/* --- Header: quiet, micro-caps, no vertical rules --- */
.tabulator .tabulator-header{
  border:none;
  border-bottom:1px solid var(--bs-border-color);
  background:var(--bs-tertiary-bg);
  color:var(--bs-secondary-color);
  border-top-left-radius:.75rem;
  border-top-right-radius:.75rem;
}
.tabulator .tabulator-header .tabulator-col{
  border-right:none;
  background:transparent;
}
.tabulator .tabulator-header .tabulator-col .tabulator-col-content{
  padding:.6rem 1rem;
}
.tabulator .tabulator-header .tabulator-col .tabulator-col-title{
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.72rem;
  font-weight:700;
}

/* --- Rows: hairline separators only, real padding, no zebra --- */
.tabulator .tabulator-tableholder .tabulator-table{
  background:transparent;
}
.tabulator .tabulator-row,
.tabulator .tabulator-row.tabulator-row-even{
  border:none;
  border-bottom:1px solid var(--bs-border-color);
  background:var(--bs-body-bg);
  color:var(--bs-body-color);
}
.tabulator .tabulator-row .tabulator-cell{
  border-right:none;
  padding:.7rem 1rem;
}
.tabulator .tabulator-row:hover{
  background:rgba(var(--bs-primary-rgb),.05);
}
.tabulator .tabulator-row.tabulator-selected,
.tabulator .tabulator-row.tabulator-selected:hover{
  background:rgba(var(--bs-primary-rgb),.10);
}

/* --- Footer + pagination: understated pills --- */
.tabulator .tabulator-footer{
  border:none;
  border-top:1px solid var(--bs-border-color);
  background:transparent;
  color:var(--bs-secondary-color);
  border-bottom-left-radius:.75rem;
  border-bottom-right-radius:.75rem;
}
.tabulator .tabulator-footer .tabulator-paginator label{
  color:var(--bs-secondary-color);
}
.tabulator .tabulator-footer .tabulator-page{
  border-radius:.5rem;
  border:1px solid var(--bs-border-color);
  background:var(--bs-body-bg);
  color:var(--bs-body-color);
  margin:0 .12rem;
  padding:.2rem .6rem;
}
.tabulator .tabulator-footer .tabulator-page:not(.disabled):hover{
  background:var(--bs-tertiary-bg);
}
.tabulator .tabulator-footer .tabulator-page.active{
  background:var(--bs-primary);
  color:#fff;
  border-color:var(--bs-primary);
}
