/* Screen-only adaptation: fiscal documents and print styles remain unchanged. */
.mobile-menu-trigger,.mobile-nav-close,.mobile-nav-backdrop{display:none}
@media screen and (max-width:900px){
 html,body{width:100%;min-width:0;overscroll-behavior-x:none}
 .zoomroot{zoom:1!important;height:var(--mobile-viewport-height,100dvh)!important;width:100%;max-width:100vw;overflow:hidden!important}
 .zoomroot *{box-sizing:border-box}
 .zoomroot>div,.zoomroot>div>div:last-child{height:var(--mobile-viewport-height,100dvh)!important;min-width:0}
 .zoomroot nav#workspace-navigation{position:fixed!important;inset:0 auto 0 0!important;width:min(290px,calc(100vw - 48px))!important;height:var(--mobile-viewport-height,100dvh)!important;padding:16px 0 max(16px,env(safe-area-inset-bottom))!important;z-index:202;transform:translateX(-100%);visibility:hidden;transition:transform .2s ease,visibility .2s!important;box-shadow:8px 0 32px #0004}
 .zoomroot[data-mobile-menu-open="true"] nav#workspace-navigation{transform:none;visibility:visible}
 .zoomroot nav .navscroll{height:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .zoomroot nav button{min-height:44px;font-size:14px!important}
 .mobile-nav-close{display:flex;align-items:center;justify-content:center;position:absolute;right:10px;top:6px;width:44px;height:44px;color:#fff;background:transparent;border:0;font-size:26px;cursor:pointer}
 .zoomroot nav .app-brand{margin-right:44px}
 .mobile-nav-backdrop{display:block;position:fixed;inset:0;background:#0008;border:0;z-index:201;touch-action:none}
 .workspace-view-controls{display:none!important}
 .zoomroot .topnav,.zoomroot .topnav[style]{left:0!important;right:0!important;top:0!important;height:calc(56px + env(safe-area-inset-top))!important;padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))!important;gap:8px!important;justify-content:flex-end!important;min-width:0}
 .mobile-menu-trigger{display:flex;align-items:center;justify-content:center;flex:none;margin-right:auto;width:44px;height:44px;padding:10px;border:0;border-radius:6px;background:transparent;color:#fff;cursor:pointer}
 .mobile-menu-trigger svg{width:24px;height:24px}
 .topnav .branch-selector{min-width:0;max-width:150px;width:auto;flex:1 1 90px}
 .topnav .profile-name,.topnav .profile-chevron,.topnav .ctx-suc{display:none!important}
 .topnav .profile-trigger{padding:0!important;min-width:44px;min-height:44px;justify-content:center}
 .topnav>button{min-width:40px;min-height:44px;flex:none}
 .profile-dropdown{position:fixed!important;top:calc(60px + env(safe-area-inset-top))!important;right:8px!important;left:auto!important;max-width:calc(100vw - 16px)!important}
 .topnav div:is([style*="position:absolute"],[style*="position: absolute"]){max-width:calc(100vw - 24px)!important}
 .zoomroot .appmain{width:100%;max-width:100%;padding:calc(68px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;overflow:auto!important;min-width:0;-webkit-overflow-scrolling:touch;scroll-padding-block:76px 24px}
 .zoomroot[data-mobile-menu-open="true"] .appmain{overflow:hidden!important}
 .zoomroot [data-screen-label]{width:100%;min-width:0!important;max-width:100%;overflow:visible!important}
 .zoomroot.fs .topnav{transform:none!important;opacity:1!important;pointer-events:auto!important}
 .zoomroot.fs nav#workspace-navigation{opacity:1;pointer-events:auto}
 .zoomroot:has(.login-scene){overflow-y:auto!important}
 .zoomroot>.login-scene{height:auto!important;min-height:100dvh}
 .zoomroot .sale-quick-picks{flex-wrap:wrap!important;overflow:visible!important}
 .zoomroot .sale-quick-picks .chip{max-width:100%;white-space:normal!important;height:auto!important;min-height:42px}
 .zoomroot .sale-quick-picks .chip span{white-space:nowrap}
 .zoomroot [data-screen-label]>div{min-width:0;max-width:100%}
 .zoomroot :is(input,select,textarea){max-width:100%;font-size:16px!important;min-width:0}
 .zoomroot :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select){min-height:44px}
 .zoomroot :is(.btn,button[title],.subtab){min-height:42px;touch-action:manipulation}
 .zoomroot .btn{white-space:normal;line-height:1.3}
 .zoomroot :is(.field,.card,.dialog){min-width:0;max-width:100%}
 .zoomroot .field>input,.zoomroot .field>select,.zoomroot .field>textarea{max-width:100%!important}
 .zoomroot :is(.table,.held-documents-table){display:block;max-width:100%;width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .zoomroot .table :is(th,td){min-width:80px}
 .zoomroot .table td:last-child{min-width:120px}
 .zoomroot .table button{min-width:36px;min-height:40px}
 .zoomroot .table .tf-ctl{min-width:24px;min-height:32px}
 .zoomroot .cart-wrap{max-width:100%;min-height:180px!important;max-height:none!important;overflow:auto!important;flex:none!important}
 .zoomroot .cart-wrap .table{min-width:0!important}
 .zoomroot :is(.foot,.foot-r){width:100%;flex-wrap:wrap!important;gap:10px!important;align-items:stretch!important}
 .zoomroot .foot{flex-direction:column!important}
 .zoomroot .foot-r>*{max-width:100%}
 .workspace-modal{padding:12px;overflow-y:auto;overscroll-behavior:contain;align-items:center}
 .workspace-editor{box-sizing:border-box;width:100%;max-height:calc(var(--mobile-viewport-height,100dvh) - 24px);padding:18px;overflow:auto;scroll-padding:16px}
 :is(.bd,.modal-backdrop,.dialog-backdrop){padding:12px!important;overflow:auto;overscroll-behavior:contain}
 .dialog{width:100%!important;max-width:100%!important;max-height:calc(var(--mobile-viewport-height,100dvh) - 24px)!important;overflow:auto!important}
 .workspace-editor-heading{gap:12px;align-items:flex-start}
 :is(.workspace-editor,.dialog) :is(input,select,textarea){font-size:16px!important}
 .zoomroot [style*="position:fixed"][style*="left:50%"],.zoomroot [style*="position: fixed"][style*="left: 50%"]{max-width:calc(100vw - 24px)!important;max-height:calc(var(--mobile-viewport-height,100dvh) - 24px)!important;overflow:auto}
 .zoomroot [style*="position:fixed"][style*="right:40px"]{right:12px!important;width:calc(100vw - 24px)!important;top:80px!important;max-height:calc(var(--mobile-viewport-height,100dvh) - 96px);overflow:auto}
 .zoomroot .held-documents-body{overflow:auto!important}
 .zoomroot .held-documents-table{min-width:0!important;table-layout:auto}
 .zoomroot .held-documents-table :is(th,td){min-width:95px;font-size:12px!important}
 .zoomroot .held-document-actions button{min-height:40px;padding:8px!important}
 .zoomroot :is(.fiscal-filters,.fiscal-engine-heading,.settings-page-heading,.employee-section-heading){flex-wrap:wrap;gap:12px}
 .zoomroot :is(.fiscal-filters .field,.fiscal-filters .fiscal-search){min-width:0;max-width:100%;flex-basis:100%}
 .zoomroot :is(.fiscal-table-scroll,.fiscal-table-wrap,.permissions-table-wrap,.retentions-table-wrap){max-width:100%;overflow:auto;overscroll-behavior-x:contain}
 .zoomroot :is(.fiscal-page,.settings-page,.settings-section,.permissions-screen,.cash-module-panel){min-width:0;max-width:100%}
 .zoomroot .employee-picker-overlay{max-width:calc(100vw - 16px);max-height:65dvh}
}
@media screen and (max-width:600px){
 .zoomroot [data-screen-label] div[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .zoomroot [data-screen-label] div[style*="grid-template-columns"]>*{grid-column:auto!important;min-width:0!important;max-width:100%}
 .zoomroot [data-screen-label] div:is([style*="display:flex"],[style*="display: flex"]):not([style*="flex-direction:column"]):not([style*="flex-direction: column"]){min-width:0;flex-wrap:wrap}
 .zoomroot [data-screen-label] .field{width:100%!important;flex-basis:auto;min-width:0!important}
 .zoomroot [data-screen-label] :is(input,select,textarea){max-width:100%!important}
 .zoomroot [data-screen-label] h2{font-size:24px!important}
 .zoomroot [data-screen-label] h3{font-size:20px!important}
 .zoomroot .catalog-service-actions{width:100%;margin-left:0!important}
 .zoomroot .catalog-service-actions>.btn{flex:1}
 .zoomroot :is(.settings-parameters-grid,.settings-reminder-layout,.fiscal-layout,.fiscal-summary,.fiscal-form-grid,.branch-form,.service-units-grid){grid-template-columns:minmax(0,1fr)!important}
 .zoomroot :is(.settings-parameters-grid,.settings-reminder-layout)>*{grid-column:1!important}
 .zoomroot :is(.settings-section,.permissions-screen,.cash-module-card){padding:16px!important}
 .zoomroot .cash-header-actions{flex-wrap:wrap}
 .zoomroot .cash-module-tabs{width:100%}
 .zoomroot .cash-module-tabs .btn{flex:1 1 40%;min-height:44px}
 .zoomroot .settings-page-heading{align-items:flex-start}
 .zoomroot .workspace-toast{bottom:max(16px,env(safe-area-inset-bottom))!important;max-width:calc(100vw - 24px);width:max-content;font-size:14px!important}
}
@media screen and (max-height:500px) and (max-width:900px){
 .workspace-modal{align-items:start}
 .workspace-editor{max-height:calc(var(--mobile-viewport-height,100dvh) - 16px)}
 .zoomroot .login-scene{height:auto!important;min-height:100dvh;overflow:auto}
}

@media screen and (min-width:901px) and (max-width:1200px){
 .zoomroot .appmain .table{display:block;max-width:100%;width:100%;overflow-x:auto}
 .zoomroot [data-screen-label]{min-width:0;max-width:100%}
}
@media screen and (max-width:900px){
 #tf-pop{max-width:calc(100vw - 16px);max-height:70dvh;overflow:auto;box-sizing:border-box}
 #tf-pop input{font-size:16px!important;min-height:44px;max-width:100%}
 #tf-pop button{min-height:40px}
 .workspace-modal,.dialog-backdrop{z-index:300!important}
 :is(.workspace-editor,.dialog) :is(.btn,button){min-height:44px}
 :is(.workspace-editor,.dialog) :is(input:not([type=checkbox]):not([type=radio]),select){min-height:44px;font-size:16px!important}
 :is(.workspace-editor,.dialog) div[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .dialog-actions{flex-wrap:wrap}
}

@media screen and (max-width:600px){
 .zoomroot [data-screen-label="Venta"] .cart-wrap .table,.zoomroot [data-screen-label="Venta"] .cart-wrap tbody{display:block;width:100%;overflow:visible}
 .zoomroot [data-screen-label="Venta"] .cart-wrap thead{display:none}
 .zoomroot [data-screen-label="Venta"] .cart-wrap tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:12px;border:1px solid var(--color-neutral-200);border-radius:8px;background:var(--color-surface)}
 .zoomroot [data-screen-label="Venta"] .cart-wrap td{display:block;width:auto!important;min-width:0!important;max-width:100%;padding:4px!important;border:0!important;text-align:left!important;white-space:normal!important;container-type:normal!important}
 .zoomroot [data-screen-label="Venta"] .cart-wrap td::before{content:attr(data-mobile-label);display:block;font-size:11px;font-weight:600;color:var(--color-neutral-700);margin-bottom:5px}
 .zoomroot [data-screen-label="Venta"] .cart-wrap td:nth-child(2),.zoomroot [data-screen-label="Venta"] .cart-wrap td.employee-assignment-cell{grid-column:1/-1}
 .zoomroot [data-screen-label="Venta"] .cart-wrap td:nth-child(2) input{width:100%!important}
 .zoomroot [data-screen-label="Venta"] .cart-wrap td .employee-picker{width:100%;min-width:0;max-width:100%}
 .zoomroot [data-screen-label="Venta"] .cart-wrap td>span{font-size:14px!important}
 .zoomroot [data-screen-label="Venta"] .cart-wrap tr:has(td[colspan]){display:block}
 .zoomroot [data-screen-label="Venta"] .cart-wrap td[colspan]::before{display:none}
}

/* Login uses content height; application-only viewport rules must not stretch its card. */
@media screen and (max-width:900px){
 .zoomroot>.login-scene{height:auto!important;min-height:var(--mobile-viewport-height,100dvh);grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;gap:16px;padding:20px 16px;overflow:visible}
 .zoomroot .login-scene>.login-panel{height:auto!important;min-height:0;max-width:400px;align-self:center;padding:24px;overflow:visible}
 .zoomroot .login-intro{width:100%;max-width:260px;padding:0;align-self:center}
 .zoomroot .login-intro .app-brand-login{width:180px;max-width:100%}
 .zoomroot .login-intro .login-tagline{font-size:9px;letter-spacing:.12em;margin-top:4px}
 .zoomroot .login-promise,.zoomroot .login-features{display:none}
 .zoomroot .login-panel-heading{margin-bottom:18px}
 .zoomroot .login-panel-heading p{margin-bottom:8px}
 .zoomroot .login-panel-heading h1{font-size:26px;margin-bottom:6px}
 .zoomroot .login-panel-heading span{font-size:13px}
 .zoomroot .login-panel form>.field{margin-bottom:12px!important}
 .zoomroot .login-panel label{font-size:12px}
 .zoomroot .login-panel .input,.zoomroot .login-panel .btn-block{min-height:44px}
 .zoomroot .login-panel>div:last-child{margin-top:12px!important}
}
@media screen and (max-width:900px) and (max-height:650px){
 .zoomroot>.login-scene{gap:10px;padding:12px 16px}
 .zoomroot .login-scene>.login-panel{padding:18px 22px}
 .zoomroot .login-intro .app-brand-login{width:140px}
 .zoomroot .login-tagline{display:none}
 .zoomroot .login-panel-heading{margin-bottom:12px}
 .zoomroot .login-panel-heading p{display:none}
 .zoomroot .login-panel-heading h1{font-size:24px}
 .zoomroot .login-panel form>.field{margin-bottom:10px!important}
}
@media screen and (max-width:900px) and (max-height:500px){
 .zoomroot .login-intro{display:none}
 .zoomroot .login-panel-heading span{display:none}
 .zoomroot .login-scene>.login-panel{padding:14px 22px}
}
