@media screen {
 .table-scroll {min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}
 .table-scroll table,.panel.mobile-table .table-scroll table{width:100%;min-width:0;table-layout:fixed}
 .table-scroll th,.table-scroll td{white-space:normal;overflow-wrap:anywhere;min-width:0}
 .table-scroll .amount,.table-scroll .product-cell{white-space:normal;min-width:0}
 .table-scroll thead th{position:sticky;top:0;z-index:2;background:var(--surface-muted)}
 .table-page{height:100dvh;overflow:hidden}
 .table-page #app,.table-page .shell,.table-page .mobile-shell{height:100%;min-height:0}
 .table-page .shell,.table-page .mobile-shell{display:flex;flex-direction:column;overflow:hidden}
 .table-page .topbar,.table-page .mobile-top,.table-page .mobile-bottom{flex:none}
 .table-page .main{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;overflow:hidden;padding-top:16px;padding-bottom:12px}
 .table-page #page-content{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}
 .table-page #page-content>.page-heading,.table-page #page-content>.banner,.table-page #page-content>.stats{flex:none}
 .table-page .page-heading{margin-bottom:14px}
 .table-page .page-heading p{margin-bottom:0}
 .table-page .viewport-path{min-height:0;min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden}
 .table-page .viewport-path.panel{margin-bottom:0}
 .table-page .data-viewport{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain}
 .table-page .data-viewport .mobile-records{min-width:0}
 .table-page .viewport-path>.filterbar,.table-page .viewport-path>.panel-head,.table-page .viewport-path>.panel-body,.table-page .section-footer{flex:none}
 .table-page .section-footer{gap:8px;flex-wrap:wrap;padding:8px 14px}
 .table-page .page-bottom{flex:none;padding-top:7px}
 .table-page .grid-main.viewport-path{display:grid;align-items:stretch}
 .table-page .grid-main>.right-stack{min-height:0;overflow-y:auto}
 /* Stage rows must fit their cards even when the scroll viewport is shorter. */
 .table-page .warehouse-kanban{align-content:start;grid-auto-rows:max-content;align-items:start}
 .table-page .connection-settings{flex:none;min-height:0;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface)}
 .connection-settings summary{cursor:pointer;font-weight:600}
 .connection-settings .cards{max-height:30dvh;overflow:auto;margin-top:10px}
 .filters-toggle{display:none}
 .compact-filters>.filters-toggle{display:inline-flex}
 .filterbar.compact-filters{display:flex;align-items:center;gap:8px;max-height:30dvh;overflow-y:auto;padding:10px}
 .filterbar.compact-filters:not(.filters-expanded)>:not(input):not(.filters-toggle){display:none!important}
 .filterbar.compact-filters>input{flex:1;min-width:0;width:auto}
 .filterbar.compact-filters.filters-expanded>*{flex:1 1 140px;min-width:0;max-width:100%}
 .report-filters.compact-filters{display:flex;flex-wrap:wrap;gap:8px;max-height:30dvh;overflow:auto}
 .report-filters.compact-filters>*{flex:1 1 130px;min-width:0}
 .report-filters.compact-filters:not(.filters-expanded)>:not(:first-child):not(.actions):not(.filters-toggle){display:none!important}
 .table-page #report-result .panel-body{padding-block:8px}
 .table-page .report-summary{margin:8px 0}
 .table-page .report-preview-heading img{max-height:32px}
 .table-page.mobile-view .main{padding:12px 12px 8px;max-width:none}
 .table-page.mobile-view .mobile-bottom{position:static}
 .table-page.mobile-view .page-heading{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
 .table-page.mobile-view .page-heading>div:first-child{flex:1 1 160px}
 .table-page.mobile-view .page-heading .eyebrow,.table-page.mobile-view .page-heading p,.table-page.mobile-view #page-content>.banner{display:none}
 .table-page.mobile-view .page-heading>.actions{margin-top:0}
 .table-page.mobile-view .page-heading h1{font-size:1.5rem;margin:0}
 .table-page.mobile-view #report-result .panel-head{padding:8px}
 .table-page.mobile-view #report-result .panel-body{padding:6px 12px}
 .table-page.mobile-view #report-result .panel-body>p{display:none}
 .table-page.mobile-view #report-form{margin:0}
 .table-page.mobile-view #page-content>.panel:not(.viewport-path)>.panel-body{padding:10px}
 dialog .table-scroll,.mobile-view dialog .table-scroll{max-height:45dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain}
 @media(max-height:650px){.table-page .page-heading p,.table-page #page-content>.banner,.table-page .page-bottom{display:none}.table-page .page-heading h1{font-size:1.5rem;margin:0}.table-page .page-heading .eyebrow{display:none}.table-page .main{padding-block:8px}}
}
@media print{.data-viewport,.viewport-path,.table-page #page-content{height:auto!important;max-height:none!important;overflow:visible!important}.filters-toggle{display:none!important}.table-scroll thead th{position:static}}
