/* Responsive table wrapper */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Base table styling */
table.table {
  width: 100%;
  border-collapse: collapse;
}

table.table th,
table.table td {
  padding: 0.45rem 0.6rem;
  vertical-align: top;
}

/* Header separation */
table.table thead th {
  border-bottom: 2px solid rgba(0, 0, 0, 0.15);
}

/* Row separators */
table.table tbody tr + tr td {
  border-top: 1px solid rgba(0, 0, 0, 0.10);
}

/* Striping + compact */
table.table-striped tbody tr:nth-child(odd) {
  background: rgba(0, 0, 0, 0.03);
}

table.table-sm th,
table.table-sm td {
  padding: 0.3rem 0.5rem;
}

