/* Shared mobile layer: public site, customer area, administration and PDV. */
[hidden]{display:none!important}
html{scroll-padding-top:90px}img{max-width:100%;height:auto}button,a,input,select,textarea{touch-action:manipulation}
.sidebar{overflow-y:auto;overscroll-behavior:contain}.app-shell:not(:has(.sidebar)){grid-template-columns:1fr}
.nav-list a[aria-current=page]{background:#1269a8;color:white;font-weight:800}
.mobile-menu-toggle,.mobile-menu-close,.mobile-menu-backdrop,.pdv-mobile-cart{display:none}
.pwa-tools{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;display:flex;gap:8px;align-items:center}
body:not(:has(.app-shell)) .pwa-tools{bottom:calc(88px + env(safe-area-inset-bottom))}
.pwa-install{min-height:44px;padding:10px 15px;border:1px solid #cbd9e5;border-radius:99px;background:#092747;color:white;box-shadow:0 5px 20px #09274726;cursor:pointer;font:700 14px Inter,Arial,sans-serif}
.connection-status{padding:9px 12px;border-radius:10px;background:#fff1db;color:#854d0e;font:700 13px Arial,sans-serif;max-width:240px}
.pwa-help{width:min(440px,calc(100vw - 24px));padding:24px;border:0;border-radius:18px;color:#122033;box-shadow:0 20px 80px #09274755;font-family:Inter,Arial,sans-serif}
.pwa-help::backdrop{background:#09274799}.pwa-help h2{margin-top:0}.pwa-help p{line-height:1.6}.pwa-help button{width:100%;min-height:46px;background:#092747;color:white;border:0;border-radius:9px;font-weight:700}
.table-wrap{max-width:100%;overscroll-behavior-x:contain}.table-wrap:focus-visible{outline:3px solid #f3a421}
@media(max-width:1100px) and (min-width:881px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:16px}.content{padding:20px}.stats,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:1fr 1fr}.pdv-mode .pdv-workspace{grid-template-columns:minmax(0,1fr) minmax(340px,1fr)}.pdv-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){
  body{overflow-wrap:anywhere}.content{padding:18px 14px 100px}.main,.card,.grid,.form-grid,.filter-bar,.field{min-width:0}
  .app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,88vw);height:100dvh;z-index:101;transform:translateX(-105%);transition:transform .2s;padding:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom));visibility:hidden}
  .mobile-menu-open .sidebar{transform:translateX(0);visibility:visible}.mobile-menu-open{overflow:hidden}
  .mobile-menu-close{display:block;position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:8px;background:#ffffff15;color:white;font-size:28px}
  .sidebar .brand{padding-right:24px}.mobile-menu-toggle{display:inline-flex;flex-shrink:0;min-width:44px}.mobile-menu-toggle span{display:none}
  .mobile-menu-backdrop{position:fixed;inset:0;background:#061d3588;border:0;z-index:100}.mobile-menu-open .mobile-menu-backdrop{display:block}
  .topbar{position:sticky;top:0;z-index:35;gap:10px;padding:12px 14px;padding-top:calc(12px + env(safe-area-inset-top));min-height:68px}.topbar>div{flex:1;min-width:0}.topbar>.btn:last-child{font-size:12px;padding:9px;max-width:100px}
  .stats,.dashboard-stats,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat strong{font-size:clamp(1.25rem,5vw,1.9rem)}.stat span{font-size:12px}.card{padding:16px;border-radius:14px}
  .section-head,.label-page-title{flex-wrap:wrap;align-items:flex-start}.section-head h2{font-size:1.15rem}.section-head .btn{flex-grow:1}.section-head.compact{align-items:center}
  .filter-bar,.form-grid,.settings-grid,.phase-card{grid-template-columns:minmax(0,1fr)}.field input,.field select,.field textarea,input,select,textarea{font-size:16px;max-width:100%}
  .finance-title{align-items:flex-start;flex-direction:column}.finance-chart{height:180px;gap:5px;padding-inline:0}.finance-bars{gap:3px}.finance-bar{width:min(18px,40%)}.finance-legend{font-size:.75rem}.finance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filters .btn{grid-column:1/-1}.finance-submit{justify-content:stretch}.finance-submit .btn{width:100%}
  .btn,button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select{min-height:44px}.btn{white-space:normal;text-align:center}
  .table-wrap{border-radius:10px;background:white}.table-wrap table{min-width:560px}.table-wrap th,.table-wrap td{padding:12px 10px}.entry-table input,.entry-table select{min-width:120px}
  .admin-edit-list summary{flex-wrap:wrap;padding:14px}.admin-edit-list summary span:nth-child(2){flex-basis:60%}.barcode-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
  .auth-page{padding:18px 12px 100px;min-height:100dvh}.auth-card{padding:24px 18px;border-radius:18px}.public-flow .brand strong{font-size:16px}
  .site-header .header-inner{flex-wrap:wrap;gap:12px}.site-header .nav{display:flex;order:3;width:100%;overflow:auto;white-space:nowrap;gap:6px;padding:4px 0}.site-header .nav a{padding:10px 12px;min-height:44px;background:#edf6ff;border-radius:8px;font-size:13px}.site-header .brand{min-width:0}.hero{padding-top:30px}.hero h1{font-size:clamp(2rem,9vw,3.5rem)}.hero-copy p{line-height:1.65}.hero-card{padding:18px}.hero-grid{gap:24px}.section{padding-block:40px}
  .pdv-mode .content{padding:12px 12px 100px}.pdv-commandbar{margin:-12px -12px 12px;padding:12px;padding-top:calc(12px + env(safe-area-inset-top));border-radius:0 0 14px 14px}.pdv-commandbar>div{gap:10px}.pdv-commandbar strong{font-size:16px}.pdv-commandbar #pdv-clock{font-size:14px}
  .pdv-heading{gap:10px}.pdv-register{min-width:0;padding:12px;grid-template-columns:1fr auto}.pdv-heading p{font-size:12px}.pdv-operations{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pdv-operations>*{font-size:12px;flex-wrap:wrap}.pdv-mode kbd{display:none}
  .pdv-mode .pdv-workspace{grid-template-columns:minmax(0,1fr);gap:14px}.pdv-search{position:sticky;top:0;z-index:2;background:white;padding-block:6px}.pdv-mode .pdv-products{max-height:52dvh;grid-template-columns:repeat(2,minmax(0,1fr));padding:2px}.pdv-product{min-width:0;padding:12px;gap:8px}.pdv-product strong{font-size:14px}.pdv-product small{font-size:11px}.pdv-preview-prices{flex-direction:column}.pdv-preview-prices b{font-size:15px!important}
  .pdv-mode .pdv-cart{position:static;scroll-margin-top:16px}.pdv-cart-items{max-height:none}.pdv-cart-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0}.pdv-cart-row>div:first-child{grid-column:1/-1}.pdv-cart-row .pdv-qty{grid-column:1}.pdv-cart-row .pdv-discount{grid-column:2;grid-row:2}.pdv-cart-row>b{grid-column:1;grid-row:3}.pdv-cart-row .pdv-remove{grid-column:2;grid-row:3;justify-self:end;width:44px;border-radius:10px}.pdv-qty input{width:64px}.pdv-qty button{width:44px}.pdv-discount input{width:90px}
  .pdv-payment-title{flex-wrap:wrap}.pdv-payment-title span{font-size:12px}.pdv-mode .pdv-shortcuts button{min-height:72px;border:1px solid #dbe6ef;border-radius:12px;background:#edf6ff;grid-template-columns:30px minmax(0,1fr);padding:10px;gap:8px}.pdv-mode .pdv-shortcut-icon{font-size:26px;width:30px;height:32px;margin:0}.pdv-mode .pdv-shortcuts button>span:last-child{margin:0}.pdv-mode .pdv-shortcuts strong{font-size:14px}.pdv-mode .pdv-shortcuts small{font-size:11px}
  .pdv-payment-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;background:#f5f8fb;border:1px solid #dbe6ef;border-radius:12px;gap:8px}.pdv-payment-row select{grid-column:1/-1}.pdv-payment-summary{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:12px}.pdv-finish{min-height:56px;justify-content:center}.pdv-total strong{font-size:1.6rem}.pdv-sale-success{flex-wrap:wrap}.pdv-print-actions{display:grid;gap:10px;padding:18px}.pdv-dialog{max-height:88dvh}.pdv-dialog-head{gap:12px}.pdv-dialog-head button{min-width:44px}.unit-picker-actions{flex-wrap:wrap}.unit-picker-actions .btn{flex:1}
  .pdv-mobile-cart{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:39;align-items:center;justify-content:space-between;gap:8px;min-height:58px;padding:12px 16px;background:#092747;color:white;border:0;border-radius:16px;box-shadow:0 8px 30px #09274740;font-weight:800}.pdv-mode .pwa-tools{bottom:calc(82px + env(safe-area-inset-bottom))}.pdv-mobile-cart span{display:grid;gap:3px;text-align:left}.pdv-mobile-cart small{font-weight:500;font-size:11px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media print{.pwa-tools,.pdv-mobile-cart,.mobile-menu-toggle,.mobile-menu-backdrop{display:none!important}}
