/* Ajustes finais, limitados às larguras e aos dispositivos de toque. */
.responsive-table{display:block;width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.responsive-table:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
#mobileNavBackdrop{display:none}#mobileNavBackdrop[hidden]{display:none!important}
@media(max-width:1024px){
 body>.shell{margin-left:0!important;width:100%;min-width:0}body>.shell>header{left:0!important}
 body>aside#mainSidebar{top:var(--lotus-topbar-height);height:calc(100dvh - var(--lotus-topbar-height));height:calc(100dvh - var(--lotus-topbar-height));width:min(280px,85vw);z-index:90;box-shadow:6px 0 24px #25303f20;transition:transform .18s ease}
 .sidebar-collapsed body>aside#mainSidebar{transform:translateX(-105%)}
 #mobileNavBackdrop:not([hidden]){display:block;position:fixed;inset:var(--lotus-topbar-height) 0 0;width:100%;height:calc(100dvh - var(--lotus-topbar-height));border:0;border-radius:0;background:#1e293b66;z-index:85;padding:0}
 .mobile-nav-open{overflow:hidden}
 .shell>main{padding:20px 18px}#content,#content>*,#modalbody,#modalbody>*{min-width:0;max-width:100%}
 #content :is(.grid,.manager-grid,.home-lists){grid-template-columns:minmax(0,1fr)}
 #content :is(.stats,.manager-totals,.manager-shortcuts,.report-metrics){grid-template-columns:repeat(2,minmax(0,1fr))}
 #content :is(.compact-customer-filters,.compact-invoice-filters,.registry-filter-row),#content.registry-scope .registry-filter-row,#content.registry-scope .registry-filter-row:not(:has(select[name=status])),#content.registry-scope .registry-filter-row:has(select[name=expiry]){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #content :is(.v-filters,.cash-filters,.lab-cost-filters .module-filter-grid){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #content .lab-cost-filters .module-filter-grid>*{min-width:0;max-width:100%}
 :is(#content,#modalbody) .tablewrap{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
 :is(#content,#modalbody) .product-stock-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #content .report-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
 #content :is(.polished-manager-filters,.mgr-filters){grid-template-columns:repeat(2,minmax(0,1fr))}
 #content .polished-manager-filters .manager-period{grid-column:1/-1}
 #content .polished-manager-filters .manager-period>.period-tabs{grid-template-columns:repeat(3,minmax(0,1fr));height:auto!important;max-height:none;min-height:72px!important}
 #content.sales-polish .sale-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 #modal{max-height:calc(100dvh - 24px);width:calc(100% - 24px);max-width:850px;padding:20px;overflow:auto;overscroll-behavior:contain}
 #modal .product-picker-dialog{width:100%;max-width:100%;padding:0}
 .floating-choice-panel{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}
 .product-help-popup,.vision-tooltip{max-width:calc(100vw - 24px);overflow-wrap:anywhere}
 #toast{max-width:calc(100vw - 28px);right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:100002}
 #content :is(.operational-inline,.actions,.page-head,.sales-header){flex-wrap:wrap;gap:10px}
 #content :is(.integration-hub-grid,.lab-partner-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .shell>main{padding:14px 10px}.notice{line-height:1.5;font-size:10px}.notice span{display:block;margin-top:3px}
 #content .card,#content .draft-section{padding:14px}
 #content :is(.mgr-filters,.v-filters){padding:14px}
 #content :is(.v-filters,.cash-filters,.lab-cost-filters .module-filter-grid,.polished-manager-filters,.mgr-filters,.report-catalog,.integration-hub-grid,.lab-partner-grid),:is(#content,#modalbody) :is(.draft-grid,.draft-payment-entry,.enhanced-payment,.receipt-card-fields,.product-stock-fields,.audit-detail-grid,.module-options,.admin-toggle-grid,.admin-config-links,.scan-layout){grid-template-columns:minmax(0,1fr)!important}
 #content .polished-manager-filters .manager-period{grid-column:auto}
 :is(#content,#modalbody) .draft-grid>*{grid-column:auto!important}
 #content :is(.compact-customer-filters,.compact-invoice-filters)>label:first-child,#content.registry-scope .registry-filter-row>label:first-child{grid-column:1/-1}
 #content :is(.compact-customer-filters,.compact-invoice-filters,.registry-filter-row)>button{min-width:0;white-space:normal}
 #content :is(.stats,.manager-totals,.manager-shortcuts){gap:10px}#content .stats .card{padding:12px}#content .stats strong{font-size:21px;overflow-wrap:anywhere}
 #content.sales-polish .sale-row{padding:12px;gap:12px;grid-template-columns:minmax(0,1fr)}
 #content .finance-compact .sales-list .finance-title-row{grid-template-columns:minmax(0,1fr) 40px;gap:10px}#content .finance-compact .sales-list .finance-title-row>div{grid-column:1}#content .finance-compact .sales-list .finance-title-row>.product-actions{grid-column:2;grid-row:1}
 #content .chart-bars{gap:5px}#content .barrow{grid-template-columns:minmax(60px,.8fr) minmax(0,1fr) 64px;gap:6px}#content .vision-scope .lab-cost-chart>div{grid-template-columns:minmax(0,1fr) 80px;gap:8px}#content .vision-scope .lab-cost-bar-track{grid-column:1;grid-row:auto}
 #content :is(.period-tabs,.report-months){max-width:100%;flex-wrap:wrap}#content .report-months{grid-template-columns:repeat(4,minmax(0,1fr))}
 :is(#content,#modalbody) form:not(.sale-draft-form):not(.report-detail-form):not(.registry-filter-row){grid-template-columns:minmax(0,1fr)}
 :is(#content,#modalbody) .draft-product-search,.product-picker-search{grid-template-columns:minmax(0,1fr) auto!important;gap:8px} .product-picker-item{gap:8px}
 #modal{padding:16px;border-radius:12px}#modalbody h2{padding-right:26px;font-size:19px}
 #content :is(h1,h2,h3,p,strong),#modalbody :is(p,strong){overflow-wrap:anywhere}
 .account-menu{width:min(240px,calc(100vw - 24px))}.notification-panel{width:calc(100vw - 24px);right:12px}
 #sessionExitScreen .login-panel{padding:16px 22px 10px}#sessionExitScreen .login-content{padding:10px 0}#sessionExitScreen .login-brand{font-size:21px}#sessionExitScreen .login-brand img{height:40px;width:36px}
 #sessionExitScreen .login-content h1{font-size:22px}#sessionExitScreen .login-subtitle{margin-bottom:14px}#sessionExitScreen .login-preview-note{margin-top:12px;padding-top:10px}
}
/* Alvos de toque maiores sem alterar a densidade visual do computador. */
@media(pointer:coarse){
 :is(#content,#modalbody) button:not(.help-trigger):not(.product-help),.unit-switcher-option,.login-units button{min-height:44px!important}
 :is(#content,#modalbody) :is(input:not([type=checkbox]):not([type=radio]),select),#sessionExitScreen input{min-height:44px!important;font-size:16px!important}
 :is(#content,#modalbody) :is(input[type=checkbox],input[type=radio]){min-width:20px;min-height:20px}
 .floating-choice-option{min-height:44px!important}.date-icon-button{width:36px!important;height:36px!important;min-height:36px!important}
 .app-calendar-days button{min-height:34px!important;max-height:none!important}.app-calendar{max-width:calc(100vw - 24px)}
 .top-icon-button,.account-toggle,.sidebar-toggle{min-height:40px!important;min-width:40px!important}
 #sessionExitScreen .login-link{min-height:36px}#sessionExitScreen .login-password button{height:44px}
}
/* O teclado virtual e o modo paisagem não podem esconder os campos de entrada. */
@media(max-height:600px) and (max-width:1024px){
 body>#sessionExitScreen{overflow-y:auto;overscroll-behavior:contain}#sessionExitScreen .login-layout{height:auto;min-height:100%}#sessionExitScreen .login-panel{height:auto;min-height:100dvh;overflow:visible}#sessionExitScreen .login-content{flex:none;margin:18px auto}#sessionExitScreen .login-welcome{display:none}#sessionExitScreen .login-layout{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){body>aside#mainSidebar{transition:none}}
