/* App table system — SAP-blue design (approved 2026-08-11).
   Tokens live in core/tokens.css (--tbl-*). Class names are unchanged
   (app-table / app-table-dense / app-table-sticky / .num / .amount /
   app-table__actions) so every module inherits the new look with no
   markup changes. New optional hooks: tr.is-selected, tr.app-row-group,
   .app-amount-pos / .app-amount-neg. */

.app-table-wrap{width:100%;overflow:auto;border:1px solid var(--tbl-border,#bcc3cd);border-radius:var(--tbl-radius,4px);background:var(--tbl-surface,#fff)}
.app-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;background:var(--tbl-surface,#fff);color:var(--tbl-text,#1a2026)}
.app-table th{position:relative;background:var(--tbl-head-bg,#cfd7e2);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;text-align:start;color:var(--tbl-head-text,#1a2632);padding:6px 10px;border-bottom:2px solid var(--tbl-head-rule,#7e8d9e);white-space:nowrap}
.app-table th.is-sorted{background:var(--tbl-head-sort-bg,#bcc6d4)}
.app-table td{padding:6px 10px;border-bottom:1px solid var(--tbl-row-line,#d8dde4);vertical-align:middle}
.app-table tbody tr:last-child td{border-bottom:0}
.app-table tbody tr{transition:background .05s}
.app-table tbody tr:hover td{background:var(--tbl-brand-light,#e5f0fa)}
.app-table tbody tr.is-selected td{background:var(--tbl-brand-selected,#d4e6f7)}
.app-table tbody tr.is-selected td:first-child{box-shadow:inset -3px 0 0 var(--tbl-brand,#005c9e)}
html[dir="ltr"] .app-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--tbl-brand,#005c9e)}
.app-table tbody tr.app-row-group td{background:var(--tbl-group-bg,#e6e9ed);font-weight:700;color:var(--tbl-text,#1a2026);border-bottom:2px solid var(--tbl-border-strong,#8f9aa8);border-top:1px solid var(--tbl-border,#bcc3cd)}
.app-table tfoot td{background:var(--tbl-foot-bg,#c8d2de);color:var(--tbl-foot-text,#1a2026);font-weight:800;border-top:2px solid var(--tbl-foot-rule,#7e8d9e);border-bottom:0}
.app-table-dense th,.app-table-dense td{padding:4px 8px}
.app-table-sticky th{position:sticky;top:0;z-index:2}
.app-table .num,.app-table .amount{text-align:end;font-variant-numeric:tabular-nums}
.app-table .app-amount-pos{color:var(--tbl-success,#107c41);font-weight:700}
.app-table .app-amount-neg{color:var(--tbl-danger,#b1302a);font-weight:700}
.app-table__actions{width:1%;white-space:nowrap;text-align:center}
/* Applied to the <th> AND the <td>, like .num above. A checkbox column centred only on
   the cell puts its tick under one edge and its label under the other. */
.app-table .center{text-align:center}
