/* Shared visual hierarchy for the POSBANK, tablet and phone. */
:root{--bg:#e9e5dd;--panel:#fffdf8;--ink:#18211f;--muted:#555e59;--line:#cbc9bf;--pos-gold:#d5ad56;--pos-top-height:72px}
body{font-family:Arial,Helvetica,sans-serif}
.top{min-height:72px;padding:10px 16px;gap:12px;background:#172922;border-bottom:3px solid var(--pos-gold)}
.brand{font-size:18px;letter-spacing:.06em}.top #status{color:#e9ecdc;line-height:1.35}
.top .topActions{display:flex!important;gap:8px!important;flex-wrap:wrap;justify-content:flex-end}
.top .topActions button{min-height:48px;padding:10px 14px;font-size:14px;border-radius:10px}
.top #posFullscreen{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--pos-gold);color:#17231b;border:1px solid #e9c777;font-weight:800;white-space:nowrap}
#posFullscreen svg{width:22px;height:22px;flex:none}#posFullscreen kbd{border:1px solid #7a632b;border-radius:4px;padding:2px 4px;font:11px Arial}
#posFullscreen[aria-pressed="true"]{background:#fff6dd}
#posScreenMessage{position:fixed;z-index:10001;top:80px;right:12px;max-width:min(460px,calc(100vw - 24px));padding:16px;border:2px solid #a26e1b;border-radius:10px;background:#fff5d6;color:#33270d;box-shadow:0 8px 28px #0003;font-size:16px}
#posScreenMessage[hidden]{display:none}
.wrap{height:calc(100dvh - var(--pos-top-height));gap:10px;padding:10px;grid-template-columns:minmax(280px,27%) minmax(0,1fr)}
.wrap>section.panel{grid-template-columns:minmax(0,1fr) 156px}
.panel{border-radius:14px;border-color:#c7c9be;box-shadow:0 2px 5px #2430260a}
.panel h2{font-size:19px;padding:13px 14px;font-weight:800;color:#20392d}
.posCatalogTitle{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.posCatalogTitle small{margin-left:auto;font-size:12px;font-weight:500;color:var(--muted)}
.quickbar{padding:8px 10px;gap:8px;background:#f0eee5}
.quickBtn{min-height:48px!important;font-size:15px!important;padding:10px 14px!important;border-radius:10px}
.quickBtn.active{outline:3px solid #b68b32;outline-offset:0}
.toolbar{padding:10px!important;background:#fffdf8;gap:8px!important}
.toolbar #search{min-height:48px;font-size:18px;border:1.5px solid #aaa99d;border-radius:10px;padding:12px;margin:0}
.posSearchScope{font-size:13px;line-height:1.35;min-height:28px}.posSearchScope input{width:23px;height:23px}
.wrap>section.panel>#categorybar{padding:8px!important;background:#eeede5}
.catBtn{min-height:54px;padding:10px 8px;font-size:14px;line-height:1.2;border-radius:10px;font-weight:800;white-space:normal;overflow-wrap:anywhere;touch-action:pan-y}
.catBtn.active{outline:none;box-shadow:inset 0 0 0 3px #f5ce72,0 2px 4px #0002;border-color:#735820}
.catGroupTitle{font-size:11px;letter-spacing:.06em;padding:7px 2px;color:#485548}.catUtility,.catGroupItems{gap:7px}
#products{padding:10px;gap:10px!important;grid-auto-rows:minmax(174px,auto)!important;scrollbar-gutter:stable;overscroll-behavior-y:contain}
#products .product{min-height:174px!important;padding:13px!important;border-width:1px 1px 1px 5px;border-radius:12px;box-shadow:0 2px 3px #1c271910;display:flex;flex-direction:column;gap:5px;position:relative;cursor:pointer}
#products .product strong{font-size:17px!important;line-height:1.2;overflow-wrap:anywhere}
#products .product .posProductPrice{font-size:23px!important;line-height:1.1;margin-top:auto;padding-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
#products .product small{font-size:12px;line-height:1.25;color:#47544b}.wineYear,.wineVolume{font-size:13px;line-height:1.3}
#products .product button{font-size:13px!important;min-height:48px!important}
#products .product:focus-visible,button:focus-visible{outline:3px solid #8b6110;outline-offset:2px}
#products .product.optionsOpen{border-color:#9e7225;box-shadow:0 4px 16px #49381135!important}
#products .product.holdPending::after{height:6px;background:#ae7f20}
#products .product:active{filter:brightness(.96)}
.pos-dragging,.pos-dragging *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
#products,#categorybar,#quickbar,.wrap>aside,.manageSheet{scroll-behavior:auto;-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:#898f7b #e6e7dd}
.wrap>aside{padding-right:2px}.wrap>aside>.panel{margin-bottom:10px}
.order{padding:12px}.order h2{padding:8px 0 14px;font-size:20px}.order input{min-height:48px;font-size:18px}.order .fields{grid-template-columns:1fr}
.total{background:#18392a;color:#fff;margin:12px -2px;padding:16px 12px;border-radius:10px;font-size:21px}.total #total{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums}
.actions button{min-height:52px;padding:11px 8px;font-size:15px;font-weight:800;border-radius:10px}
.actions button.primary{background:#204c36;color:#fff;border-color:#204c36}
.actions button:disabled{opacity:.48;color:#555}.actions button.primary:disabled{color:#fff}
.qty button{min-width:44px;min-height:44px}.tableBtn{min-height:50px;font-size:15px}
.mobileDock button{min-height:48px;font-size:14px!important}.mobileDock{background:#172922}
@media(min-width:701px){
  .wrap{overflow:hidden}
  .wrap>aside{grid-column:1;grid-row:1}
  .wrap>section.panel{grid-column:2;grid-row:1;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr)}
}
@media(min-width:701px) and (max-width:1100px){.wrap{grid-template-columns:280px minmax(0,1fr);padding:8px;gap:8px}.wrap>section.panel{grid-template-columns:minmax(0,1fr) 132px}.catBtn{font-size:13px}.posCatalogTitle small{display:none}}
@media(max-width:700px){
  :root{--pos-top-height:104px}
  .top{padding:8px 10px;align-items:center;flex-wrap:wrap;gap:7px;min-height:104px}.brand{font-size:15px}.top #status{font-size:10px!important}
  .top .topActions{gap:6px!important;flex-wrap:nowrap;width:100%;justify-content:space-between}.top .topActions button{min-height:44px;padding:7px 10px;font-size:12px}
  #posFullscreen kbd{display:none}.top #posFullscreen{gap:6px}.top #posFullscreen span{font-size:13px}.top #toggle{font-size:10px;padding:7px;max-width:130px}
  .top #menuNotice{display:none}.top #manageOpen{margin-left:auto}
  .wrap{height:auto;min-height:calc(100dvh - 104px);padding:6px}.panel h2{font-size:17px}.posCatalogTitle small{display:none}
  .toolbar{position:static;padding:8px!important}.toolbar #search{font-size:16px;min-height:48px}
  .quickbar{padding:8px!important}.quickBtn{font-size:14px!important;min-height:44px!important;padding:8px 14px!important}
  .wrap>section.panel>#categorybar{padding:8px!important;gap:8px;scrollbar-width:thin;touch-action:pan-x}
  #categorybar .catBtn{min-height:48px;min-width:90px;font-size:13px;white-space:nowrap;touch-action:pan-x}
  .catUtility,.catGroup,.catGroupItems{gap:8px!important}
  #products{padding:8px;gap:8px!important;overscroll-behavior-y:auto}
  #products .product{min-height:172px!important;padding:10px!important;border-left-width:4px}
  #products .product strong{font-size:16px!important}#products .product .posProductPrice{font-size:23px!important}
  #products .product small{font-size:11px}.wineYear,.wineVolume{font-size:12px}
  #products .product button{font-size:12px!important}.posSearchScope{font-size:12px}
  .mobileDock{gap:6px;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .mobileSheetClose{min-height:44px;font-size:14px!important}
  .dw-keyboard-open .top{position:static}
}
@media(prefers-reduced-motion:reduce){#products .product{transition:none}}
@media(max-width:380px){.top .topActions{flex-wrap:wrap}.top #toggle{order:3;flex-basis:100%;max-width:none}.top #posFullscreen{flex:1}.top #manageOpen{flex:none}}
