/* Shared viewport safety. Long datasets scroll inside their existing containers. */
@media screen{
 :is(.wrap,#app,#tab-body,.card,.erp-main,.nerp-main,.ps-workspace,.task-modal-body){min-width:0}
 :is(.modal,.erp-dialog,.nerp-dialog,.layout-column-dialog,.ps-edit-dialog){box-sizing:border-box;min-width:0!important;max-width:calc(var(--slg-vw,100vw) - 20px)!important;max-height:calc(var(--slg-vh,100dvh) - 20px)!important;container-type:inline-size;container-name:slg-dialog}
 .workspace-edit-modal .modal{max-height:calc(var(--slg-vh,100dvh) - var(--edit-nav-top,0px) - var(--edit-nav-bottom,0px) - 20px)!important}
 body:has(#tab-body[data-view="products"],#tab-body[data-view="erp"],#tab-body[data-view="sales"],#tab-body[data-view="inventory"],#tab-body[data-view="settings"])>.erp-overlay .erp-dialog{max-height:calc(var(--slg-vh,100dvh) - var(--edit-nav-top,0px) - var(--edit-nav-bottom,0px) - 20px)!important}
 :is(.modal-bg,.erp-overlay,.nerp-overlay,.layout-column-bg,.ps-edit-overlay){box-sizing:border-box;max-width:100%;max-height:var(--slg-vh,100dvh);overflow:auto;overscroll-behavior:contain}
 :is(.modal,.erp-dialog,.nerp-dialog,.ps-edit-dialog) :is(.grid,.row,.b-body,.b-picked,.b-picked-scroll,.ba-new-scroll,.task-modal-body,.erp-form-lines,.nerp-form-lines){min-width:0;min-height:0}
 :is(.modal,.erp-dialog,.nerp-dialog,.ps-edit-dialog) :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
 :is(.modal,.erp-dialog,.nerp-dialog,.ps-edit-dialog) :is(.modal-actions,.erp-form-actions,.nerp-form-actions,.task-form-actions){flex-wrap:wrap;flex-shrink:0;z-index:12}
 :is(.modal,.erp-dialog,.nerp-dialog,.ps-edit-dialog) :is(.modal-actions,.erp-form-actions,.nerp-form-actions,.task-form-actions)>.btn{max-width:100%;white-space:normal}
 :is(.slg-table-host,.slg-table-native,.slg-table-screen,.fs-scroll,.ref-grid-scroll,.nref-grid-scroll,.erp-table,.rq-table-wrap,.scroll:has(table[data-layout-table])){min-width:0;max-width:100%;overscroll-behavior:contain}
 .slg-fit-unpin :is(.slg-table-leading,.slg-table-leading-handle,.fc-leading,.layout-leading){position:static!important;left:auto!important}
 .ps-shell{min-height:min(540px,calc(var(--slg-vh,100dvh) - 90px))}
 :is(.rq-preview,.image-viewer,.image-preview-overlay) img{max-width:100%;max-height:calc(var(--slg-vh,100dvh) - 110px);object-fit:contain}
 @container slg-dialog (max-width:620px){.grid:not(.keep-grid),.ref-column-panels,.ps-edit-grid{grid-template-columns:minmax(0,1fr)!important}.grid>.wide{grid-column:auto}.modal-title-row{flex-wrap:wrap}.return-results{grid-template-columns:minmax(0,1fr)}}
 @container slg-dialog (max-width:420px){.row{flex-wrap:wrap}.ref-cart-filter :is(input,select){width:100%!important}.slg-table-settings-list,.layout-column-list{grid-template-columns:minmax(0,1fr)}}
}
@media screen{.ps-edit-dialog .ps-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;padding:9px 0;background:#fff;z-index:12}}
