/* 等宽列网格与不透明粘性表头：列宽由 table-scroll.js 按容器宽度计算。 */
.tbl tfoot td { background: var(--solid-surface); z-index: 3; box-shadow: 0 -1px var(--line-2); }
.tbl tfoot tr:hover td { background: var(--solid-surface); }
.table-scroll { position: relative; min-width: 0; max-width: 100%; }
.table-scroll .table-wrap { overflow: auto; overscroll-behavior-x: contain; scrollbar-width: auto; scrollbar-color: var(--tx-3) var(--solid-surface); scroll-snap-type: x mandatory; scroll-padding-left: var(--sticky-column-width); }
.table-scroll::after { content: ''; position: absolute; top: 0; bottom: var(--scroll-hint-height, 0px); right: 0; width: 8px; z-index: 5; pointer-events: none; opacity: 0; background: linear-gradient(90deg, transparent, var(--solid-surface)); }
.table-scroll.has-right::after { opacity: 1; }
.table-scroll-hint { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-8); min-height: 40px; color: var(--tx-2); font-size: var(--text-caption); }
.table-scroll-hint[hidden] { display: none; }
.table-scroll-hint > span { margin-right: auto; }
.table-scroll-hint .btn { min-width: 32px; }
.table-scroll.has-bottom .table-wrap { border-bottom: 3px solid var(--line-2); }
.table-bottom-fade { position: absolute; bottom: var(--scroll-hint-height, 0px); left: 0; right: 0; height: 24px; z-index: 4; pointer-events: none; background: linear-gradient(transparent, var(--solid-surface)); }
.table-bottom-fade[hidden] { display: none; }
.table-scroll .tbl { table-layout: fixed; min-width: 0 !important; max-width: none; border-collapse: separate; border-spacing: 0; }
.table-scroll .tbl :is(th,td) { width: auto !important; min-width: 0 !important; max-width: none !important; padding: var(--space-8) var(--space-12); }
.table-scroll .tbl th { white-space: normal; overflow-wrap: anywhere; }
.table-scroll .tbl tr > :first-child { position: sticky; left: 0; z-index: 2; background: var(--solid-surface); box-shadow: 1px 0 var(--line-2); }
:root[data-skin] body .table-scroll .tbl thead th { background: var(--solid-surface); backdrop-filter: none; -webkit-backdrop-filter: none; }
.table-scroll .tbl thead tr > :first-child, .table-scroll .tbl tfoot tr > :first-child { z-index: 4; }
.table-scroll .tbl thead .grp + tr th { top: var(--group-head-height); }
.table-scroll .tbl thead .grp th { padding: 0; height: 40px; border-left: 0; }
.table-group-label { position: absolute; top: 0; left: 0; display: block; box-sizing: border-box; padding: var(--space-8); white-space: nowrap; }
.table-snap-row > td:not(:first-child) { scroll-snap-align: none start; }
#arch .table-scroll .tbl :is(th,td), #hist .table-scroll .tbl :is(th,td) { white-space: normal; overflow-wrap: anywhere; }
#arch .table-scroll .tbl :is(th,td):first-child, #hist .table-scroll .tbl :is(th,td):first-child { white-space: nowrap; }
.table-scroll .tbl thead tr.grp th:not(:empty) { border-left: 0; box-shadow: inset 1px 0 var(--line); }
.table-period-short { display: none; }
.import-filename { display: block; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 700px) {
  .table-period-full { display: none; }
  .table-period-short { display: inline; white-space: pre-line; }
  .table-scroll .tbl :is(th,td) { padding-inline: var(--space-8); font-size: var(--text-caption); }
  .table-scroll .tbl td.num, .table-scroll .tbl td.r { white-space: nowrap; }
  #rt .refer-receipt { display: block; margin-left: 0; }
}
