/* ==========================================================
   Data Table
   Surface-card data table used by the shared/_data_table
   partial. Styles the structural <table> emitted by callers
   without changing their <td>/<th> markup.
   ========================================================== */

.data-table {
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.75rem;
}

.data-table table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

/* Round the table corners via the cells themselves so dropdowns
   inside cells (e.g. action menus) aren't clipped. */
.data-table thead tr:first-child th:first-child {
  border-top-left-radius: 0.75rem;
}
.data-table thead tr:first-child th:last-child {
  border-top-right-radius: 0.75rem;
}
.data-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.75rem;
}
.data-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.75rem;
}

.data-table thead,
.data-table__head {
  background: var(--bs-tertiary-bg);
}

.data-table thead th {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
  padding: 0.875rem 1.25rem;
  border: 0;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}

.data-table tbody td {
  font-size: 0.9375rem;
  padding: 1rem 1.25rem;
  border: 0;
  border-bottom: 1px solid var(--bs-border-color);
  vertical-align: middle;
}

.data-table tbody tr:last-child td {
  border-bottom: 0;
}

.data-table tbody tr:hover {
  background-color: var(--bs-tertiary-bg);
}

.data-table__amount {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

/* ==========================================================
   Status pill — reusable across tables and cards
   ========================================================== */

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.005em;
}

.status-pill--pending {
  background: var(--bs-warning-alert-bg);
  color: var(--bs-warning-alert-color);
}

.status-pill--overdue {
  background: var(--bs-danger-alert-bg);
  color: var(--bs-danger-alert-color);
}

.status-pill--paid {
  background: var(--bs-success-alert-bg);
  color: var(--bs-success-alert-color);
}

.status-pill--neutral {
  background: var(--bs-secondary-bg);
  color: var(--bs-body-emphasis-color);
}

/* ==========================================================
   Kind chip — small uppercase facet tag
   ========================================================== */

.kind-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 0.3125rem;
  border: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-emphasis-color);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
