/* Alice app.css:305–311 (.tbl), home numeric insets in cabin.css.
 * Material only: preserve table-scroll/grid's sizing, sticky offsets, sorting and editing.
 * All business tables use .tbl (including .ov-tbl, #rt and .ex-grid tables).
 */
:root[data-skin="alice"][data-theme][data-palette] body :is(.table-wrap,.tbl-wrap) {
  background: var(--cabin-data-surface);
  border-color: var(--ac-glass-rim);
  box-shadow: inset 0 1px 0 var(--ac-glass-hi);
  isolation: isolate;
}
:root[data-skin="alice"][data-theme][data-palette] body table.tbl {
  background: transparent;
  color: var(--ac-tx);
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  line-height: 1.6;
}
:root[data-skin="alice"][data-theme][data-palette] body .tbl :is(th,td) {
  padding: 8px 12px;
  border-bottom-color: rgba(var(--ac-sl-rgb), .14);
  vertical-align: middle;
  text-overflow: clip;
}
:root[data-skin="alice"][data-theme][data-palette] body .tbl thead th {
  /* Alice's .96 glass prevents glyphs in the scrolling rows from showing through. */
  background: linear-gradient(160deg, rgba(var(--ac-fg-rgb), .045), transparent), rgba(var(--ac-s-080c1c), .96);
  color: var(--ac-tx2);
  font-size: 12px;
  font-weight: 600;
  white-space: normal;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: inset 0 1px 0 var(--ac-glass-hi);
}
:root[data-skin="alice"][data-theme][data-palette] body .tbl tbody td { background: transparent; }
:root[data-skin="alice"][data-theme][data-palette] body .tbl tbody tr:hover td { background: rgba(var(--ac-fg-rgb), .025); }
:root[data-skin="alice"][data-theme][data-palette] body .tbl tbody tr:is(.hl,.selected) td { background: rgba(var(--ac-cy-rgb), .08); }
:root[data-skin="alice"][data-theme][data-palette] body .tbl tbody tr.warn-row td { background: var(--warn-soft); }
:root[data-skin="alice"][data-theme][data-palette] body .tbl :is(td,th):is(.num,.r) { font-variant-numeric: tabular-nums; text-align: right; }
:root[data-skin="alice"][data-theme][data-palette] body .table-scroll .tbl tbody tr > :first-child,
:root[data-skin="alice"][data-theme][data-palette] body .wide-data-table .tbl tbody tr > :first-child {
  background: rgba(var(--ac-s-080c1c), .94);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}
:root[data-skin="alice"][data-theme][data-palette] body .tbl tfoot td,
:root[data-skin="alice"][data-theme][data-palette] body .tbl tfoot tr:hover td {
  background: linear-gradient(160deg, rgba(var(--ac-fg-rgb), .045), transparent), rgba(var(--ac-s-080c1c), .96);
  border-top: 1px solid var(--ac-line2);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  font-weight: 600;
}
/* Summary tables express the total with a bold first cell rather than a tfoot. */
:root[data-skin="alice"][data-theme][data-palette] body .settle-overview .tbl tbody tr:last-child:has(> td:first-child > b) td {
  background: rgba(var(--ac-fg-rgb), .04);
  border-top: 1px solid var(--ac-line2);
}
:root[data-skin="alice"][data-theme][data-palette] body .table-scroll-hint { color: var(--ac-tx2); gap: 8px; }
:root[data-skin="alice"][data-theme][data-palette] body .table-scroll .table-wrap { scrollbar-color: rgba(var(--ac-sl-rgb), .48) transparent; }
:root[data-skin="alice"][data-theme][data-palette] body .table-scroll::after { background: linear-gradient(90deg, transparent, rgba(var(--ac-s-080c1c), .6)); }
:root[data-skin="alice"][data-theme][data-palette] body .table-bottom-fade { background: linear-gradient(transparent, rgba(var(--ac-s-080c1c), .68)); }
