/* CPRI Module 015 — table system (own + Bootstrap table restyle). */
.cpri-table-wrap { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  overflow: hidden; box-shadow: var(--shadow-sm); }
.cpri-table-toolbar { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center;
  justify-content: space-between; padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--border); }
.cpri-table-scroll { overflow-x: auto; }
.cpri-table, table.table { width: 100%; border-collapse: collapse; font-size: var(--fs-base); margin: 0; }
.cpri-table caption { text-align: left; padding: var(--sp-3) var(--sp-5); color: var(--text-muted); font-size: var(--fs-sm); caption-side: top; }
.cpri-table th, .cpri-table td, table.table th, table.table td {
  padding: var(--sp-3) var(--sp-5); text-align: left; vertical-align: middle; border-bottom: 1px solid var(--border); }
.cpri-table thead th, table.table thead th { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--text-muted); font-weight: var(--fw-semibold); background: var(--surface-subtle); white-space: nowrap; }
.cpri-table tbody tr:hover, table.table tbody tr:hover { background: var(--surface-subtle); }
.cpri-table tbody tr:last-child td { border-bottom: 0; }
.cpri-table__actions { display: flex; gap: var(--sp-2); justify-content: flex-end; }
.cpri-pagination { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5); border-top: 1px solid var(--border); font-size: var(--fs-sm); color: var(--text-muted); }
.cpri-pagination__links { display: flex; gap: var(--sp-2); }

/* Mobile stacked rows */
@media (max-width: 768px) {
  .cpri-table--stack thead { position: absolute; left: -9999px; }
  .cpri-table--stack tr { display: block; border-bottom: 1px solid var(--border); padding: var(--sp-3) 0; }
  .cpri-table--stack td { display: flex; justify-content: space-between; gap: var(--sp-4); border: 0; padding: var(--sp-2) var(--sp-5); }
  .cpri-table--stack td::before { content: attr(data-label); font-weight: var(--fw-semibold); color: var(--text-muted); }
}
