/* Semantic column alignment. Headers and values share the same class; no
   data-dependent column indices, permissions, saved layout or values change. */
table th.number-cell, table td.number-cell {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
table th.center-cell, table td.center-cell { text-align: center; }
.return-confirm-table [data-return-accepted] { text-align: right; font-variant-numeric: tabular-nums; }
.inventory-master-table .inventory-order-cell { text-align: right; }
.dashboard-receipt-detail table:has(tbody td.number-cell) thead th:last-child { text-align: right; }
.receipt-entry-table td:has(> .receipt-number-input) { text-align: right; }
.receipt-entry-table td:has(> .receipt-number-input) > small { text-align: right; }
.receipt-entry-table td:has(> .quantity-preview),
.receipt-entry-table td:has(> .stock-pill) { text-align: right; }
.receipt-entry-table td:has(> .receipt-number-input) > .receipt-number-input {
  width: 100%;
}
.receipt-entry-table th:first-child { text-align: center; }
.staff-assurance table { border-collapse: collapse; }
.staff-assurance th, .staff-assurance td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.staff-assurance thead th { background: #eef3fa; color: var(--navy); }
.management-matrix .management-matrix-scroll thead th:first-child { text-align: left; }
.lot-stock-dialog th, .lot-stock-dialog td { text-align: left; }
.lot-stock-dialog th.number-cell, .lot-stock-dialog td.number-cell { text-align: right; }
/* Days remain centered; reordered/hidden monthly columns keep their semantics. */
.monthly-table thead th[data-monthly-column] { text-align: right; }
.monthly-table thead th[data-monthly-column="days"] { text-align: center; }
.monthly-table thead th[data-monthly-column="productName"],
.monthly-table thead th[data-monthly-column="department"],
.monthly-table thead th[data-monthly-column="category"] { text-align: left; }
