/* One header/body/footer table. Explicit grid rows keep ordinary semantic
   table markup while the body alone scrolls, without consuming bar space. */
.source-table-host{position:relative;overflow:hidden!important;max-height:none!important}
:is(.document-record-popup,.invoice-draft-popup) .source-table-viewport[data-source-table-layout]{display:block!important;box-sizing:border-box;width:100%;min-width:0!important;max-width:none;height:var(--source-table-height);padding:0;border:1px solid #dce0e6;border-collapse:separate;border-spacing:0;border-radius:3px;overflow:hidden;table-layout:fixed}
.source-table-viewport>colgroup{display:none}
.source-table-viewport>thead,.source-table-viewport>tbody,.source-table-viewport>tfoot{display:block;box-sizing:border-box;width:100%;padding:0;border:0;margin:0}
.source-table-viewport>thead{height:40px;overflow:hidden}
.source-table-viewport>tbody{height:var(--source-table-body-height);overflow:auto;scrollbar-width:none;overscroll-behavior:contain}
.source-table-viewport>tbody::-webkit-scrollbar{display:none}
.source-table-viewport>tfoot{height:var(--source-table-footer-height);overflow:hidden}
.source-table-viewport>thead>tr,.source-table-viewport>tbody>tr,.source-table-viewport>tfoot>tr{display:grid;grid-template-columns:var(--source-table-columns);width:var(--source-table-width);box-sizing:border-box;height:40px;min-height:40px;border:0;padding:0;margin:0}
:is(.document-record-popup,.invoice-draft-popup) .source-table-viewport[data-source-table-layout] :is(th,td){box-sizing:border-box;display:flex;align-items:center;min-width:0;width:auto;height:40px;min-height:0;max-height:40px;position:static!important;overflow:hidden;white-space:nowrap;overflow-wrap:normal;border:0;border-right:1px solid #dce0e6;border-bottom:1px solid #dce0e6}
.source-table-viewport :is(th,td)>:is(span,button){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.document-record-popup,.invoice-draft-popup) .source-table-viewport[data-source-table-layout]>tfoot :is(tr,td){height:40px;min-height:40px;max-height:40px}
.source-table-viewport>tfoot td{border-top:1px solid #dce0e6!important;border-bottom:0!important;white-space:nowrap}
.source-table-viewport td[style*="text-align:right"],.source-table-viewport .invoice-draft-number{justify-content:flex-end}
.source-table-viewport>tbody:focus-visible{outline:2px solid #3982ff;outline-offset:-2px}
.source-table-host .source-scrollbar{position:absolute;box-sizing:border-box;padding:2px;z-index:3;touch-action:none;user-select:none;outline-offset:-2px}
.source-table-host .source-scrollbar[hidden]{display:none!important}
.source-scrollbar-vertical{top:41px;right:1px;width:12px;height:var(--source-table-body-height)}
.source-scrollbar-horizontal{bottom:calc(var(--source-table-footer-height) + 1px);left:1px;height:12px;width:calc(100% - 2px)}
.source-scrollbar>span{display:block;background:#0b0c0e;border-radius:50px;position:relative;min-height:8px;min-width:8px;opacity:0;transition:opacity .5s}
.source-scrollbar-vertical>span{width:8px}
.source-scrollbar-horizontal>span{height:8px}
.source-scrollbar:hover>span,.source-scroll-active>span,.source-scroll-dragging>span{opacity:.4}

.source-table-viewport[data-source-table-layout] .document-native-link{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;min-width:0}
