/* Shared local keyboard. Fields, passwords and text are never persisted. */
@media screen {
 .pos-keyboard-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px!important;min-width:44px;padding:7px 9px!important;font-size:12px!important;white-space:nowrap!important}
 .pos-keyboard-toggle svg{flex:none;width:20px;height:20px}
 .pos-keyboard-toggle[aria-expanded="true"]{background:var(--red,#e6002b);color:#fff;border-color:var(--red,#e6002b)}
 .pos-keyboard-floating{position:fixed;right:12px;top:10px;z-index:120}
 .pos-touch-keyboard[hidden]{display:none!important}
 .pos-touch-keyboard{position:fixed;z-index:1200;bottom:0;left:0;right:0;margin:0;padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--surface,#161820);color:var(--ink,#f5f6fa);border-top:2px solid var(--red,#e6002b);box-shadow:0 -10px 32px #0005;font:14px/1.2 Manrope,Arial,sans-serif;isolation:isolate}
 .pos-keyboard-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:920px;min-height:44px;margin:0 auto 4px}
 .pos-keyboard-context{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}
 .pos-keyboard-context>strong{font-size:13px;line-height:1.3;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #pos-keyboard-value{font-size:15px;font-weight:700;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 5px;border-radius:3px}
 #pos-keyboard-value.pos-keyboard-replace{background:#31569b;color:#fff}
 #pos-keyboard-notice{font-size:11px;line-height:1.2;color:var(--muted,#b7bdcd);min-width:0}
 .pos-keyboard-close,.pos-keyboard-mode,.pos-keyboard-key{appearance:none;touch-action:manipulation;font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line,#414653);border-radius:7px;background:var(--surface-raised,#242834);min-width:44px;min-height:44px;padding:4px 7px;user-select:none;-webkit-user-select:none}
 .pos-keyboard-mode{min-width:76px;flex:none;font-size:12px}
 .pos-keyboard-mode[aria-pressed="true"]{border-color:var(--red,#e6002b);background:var(--red-soft,#370a16)}
 .pos-keyboard-close{flex:none;font-size:12px;min-width:92px}
 .pos-keyboard-key{font-size:18px;font-weight:700;line-height:1.1}
 .pos-keyboard-key:active,.pos-keyboard-key[aria-pressed="true"]{background:var(--red,#e6002b);border-color:var(--red,#e6002b);color:#fff}
 .pos-keyboard-mode:focus-visible,.pos-keyboard-close:focus-visible,.pos-keyboard-key:focus-visible,.pos-keyboard-toggle:focus-visible{outline:3px solid var(--red,#e6002b);outline-offset:2px}
 .pos-keyboard-keys{max-width:920px;margin:0 auto}
 .pos-touch-keyboard[data-layout="numeric"] .pos-keyboard-keys{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px;max-width:560px}
 .pos-touch-keyboard[data-layout="numeric"] [data-key="done"],.pos-touch-keyboard[data-layout="numeric"] [data-key="clear"]{font-size:13px}
 .pos-touch-keyboard[data-layout="numeric"] [data-key="done"]{background:var(--red,#e6002b);color:#fff;border-color:var(--red,#e6002b)}
 .pos-keyboard-numeric-done{grid-row:span 2}
 .pos-keyboard-row{display:flex;gap:4px;min-width:476px;margin-top:4px}
 .pos-keyboard-row:first-child{margin-top:0}
 .pos-keyboard-row>.pos-keyboard-key{flex:1 1 0;min-width:44px}
 .pos-keyboard-row>.pos-keyboard-wide{flex:1.5 1 0;font-size:14px}
 .pos-keyboard-row>.pos-keyboard-space{flex:4 1 0;font-size:14px}
 .pos-keyboard-row-last>.pos-keyboard-key:not(.pos-keyboard-space){font-size:15px}
 .pos-keyboard-row-last>[data-key="clear"]{font-size:12px}
 body.pos-keyboard-open .modal-backdrop{padding-bottom:calc(var(--pos-keyboard-height,0px) + 8px)}
 body.pos-keyboard-open:not([data-page="history"]) .modal-backdrop{align-items:flex-start;padding-top:8px}
 body.pos-keyboard-open:not([data-page="history"]) .modal{display:flex;flex-direction:column;max-height:calc(100vh - var(--pos-keyboard-height,0px) - 16px);max-height:calc(100dvh - var(--pos-keyboard-height,0px) - 16px);min-height:0}
 body.pos-keyboard-open:not([data-page="history"]) .modal>.modal-header{flex:0 0 auto;padding-top:8px;padding-bottom:8px}
 body.pos-keyboard-open:not([data-page="history"]) .modal>.modal-body{min-height:0;overflow:auto;overscroll-behavior:contain}
 body.pos-keyboard-open:not([data-page="pos"]) .app-main{padding-bottom:calc(var(--pos-keyboard-height,0px) + 16px)}
 .cleemax-touch-dragging,.cleemax-touch-dragging *{user-select:none!important;-webkit-user-select:none!important;cursor:grabbing!important}
 .table-wrap,.modal-body,.refund-selections,.session-grid,.quick-product-grid,.cart-scroll,.suite-sidebar,.admin-sidebar{touch-action:pan-x pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 @media (max-width:759px){
  .pos-touch-keyboard[data-layout="text"] .pos-keyboard-keys{overflow-x:auto;overscroll-behavior:contain;padding:2px}
  .pos-keyboard-toggle>span{display:none}
  .pos-keyboard-context{gap:4px;flex-wrap:wrap}
  .pos-keyboard-context>strong{max-width:160px;font-size:11px}
  #pos-keyboard-value{max-width:130px;font-size:12px}
  #pos-keyboard-notice{flex-basis:100%;font-size:10px}
 }
}
@media print{.pos-touch-keyboard,.pos-keyboard-toggle{display:none!important}}
