/* Dexter Tables Frontend Styles */
.dexter-table { width:100%; border-collapse:collapse; }
.dexter-table th, .dexter-table td { border:1px solid #e2e8f0; padding:8px; }
.dexter-table th { background:#f8fafc; }
.dexter-table-toolbar { display:flex; gap:8px; margin-bottom:8px; align-items:center; }
.dexter-table-caption { font-weight:600; margin-bottom:8px; }
.dexter-export-select { margin-left:auto; }
.dexter-editable { background:#fff8e1; }

/* Stackable (card) layout for responsive */
@media (max-width: 768px) {
  .dexter-table { display:block; }
  .dexter-table thead { display:none; }
  .dexter-table tbody { display:block; }
  .dexter-table tbody tr { display:block; border:1px solid #e5e7eb; border-radius:10px; margin:10px 0; overflow:hidden; background:#fff; }
  .dexter-table tbody td { display:flex; justify-content:space-between; gap:12px; padding:10px; border:none; border-bottom:1px solid #e5e7eb; }
  .dexter-table tbody td:last-child { border-bottom:none; }
  .dexter-table tbody td::before { content: attr(data-label); font-weight:600; color:#111827; }
}

/* Utility class to force stackable on all sizes (optional) */
.dexter-stackable .dexter-table { display:block; }
.dexter-stackable .dexter-table thead { display:none; }
.dexter-stackable .dexter-table tbody tr { display:block; border:1px solid #e5e7eb; border-radius:10px; margin:10px 0; overflow:hidden; background:#fff; }
.dexter-stackable .dexter-table tbody td { display:flex; justify-content:space-between; gap:12px; padding:10px; border:none; border-bottom:1px solid #e5e7eb; }
.dexter-stackable .dexter-table tbody td:last-child { border-bottom:none; }
.dexter-stackable .dexter-table tbody td::before { content: attr(data-label); font-weight:600; color:#111827; }