/* PuntoNegocio360 POS — R75.0 Venta Táctil Rápida */
.pos-touch-sr-only{
  position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}

body.pos-touch-sale-enabled .pos-touch-sale-hint{
  display:flex;align-items:center;gap:9px;margin:8px 10px 0;padding:9px 11px;border:1px solid #cce7e0;
  border-radius:12px;background:linear-gradient(135deg,#f1fcf9,#f4f9ff);color:#16394a
}
body.pos-touch-sale-enabled .pos-touch-sale-hint>span:first-child{
  display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#d9f6ee;font-size:18px
}
body.pos-touch-sale-enabled .pos-touch-sale-hint>span:last-child{display:grid;gap:1px;min-width:0}
body.pos-touch-sale-enabled .pos-touch-sale-hint b{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#087f6e}
body.pos-touch-sale-enabled .pos-touch-sale-hint small{font-size:9px;line-height:1.35;color:#60798a}

body.pos-touch-sale-enabled .pos-touch-product-card{
  touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;contain:layout style;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease
}
body.pos-touch-sale-enabled .pos-touch-product-card::after{
  content:"Mantén y arrastra";position:absolute;left:8px;top:8px;z-index:3;padding:4px 7px;border:1px solid rgba(255,255,255,.75);
  border-radius:999px;background:rgba(13,43,59,.76);color:#fff;font-size:7px;font-weight:900;letter-spacing:.04em;
  opacity:0;transform:translateY(-3px);pointer-events:none;transition:.15s ease
}
body.pos-touch-sale-enabled .pos-touch-product-card:focus-within::after,
body.pos-touch-sale-enabled .pos-touch-product-card:active::after{opacity:1;transform:none}
body.pos-touch-sale-enabled .pos-touch-product-card.pos-touch-drag-source{
  z-index:7;border-color:#13b895!important;box-shadow:0 0 0 3px rgba(19,184,149,.22),0 14px 30px rgba(8,43,76,.18)!important;
  transform:scale(.985)!important
}
body.pos-touch-sale-enabled .pos-touch-product-card.pos-touch-committing{opacity:.72;pointer-events:none}
body.pos-touch-sale-enabled .pos-v6-card-footer,
body.pos-touch-sale-enabled .pos-core-r2-card-footer{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important
}
body.pos-touch-sale-enabled .pos-touch-quantity-btn,
body.pos-touch-sale-enabled .pos-touch-quick-add{
  min-height:34px!important;border-radius:9px!important;font-size:9px!important;font-weight:900!important;white-space:nowrap
}
body.pos-touch-sale-enabled .pos-touch-quantity-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border:1px solid #cbdde6;
  background:#f4f9fb;color:#315b70;cursor:pointer
}
body.pos-touch-sale-enabled .pos-touch-quantity-btn>span:first-child{font-size:13px;color:#087f6e}
body.pos-touch-sale-enabled .pos-touch-quick-add{min-width:42px!important;padding-inline:9px!important}
body.pos-touch-sale-enabled .pos-touch-quantity-btn:disabled{opacity:.5;cursor:not-allowed}
body.pos-touch-sale-enabled .pos-touch-quantity-btn:focus-visible,
body.pos-touch-sale-enabled .pos-touch-quick-add:focus-visible{outline:3px solid rgba(14,165,233,.32)!important;outline-offset:2px}

.pos-touch-drag-ghost{
  position:fixed;left:0;top:0;z-index:12050;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;
  width:min(245px,68vw);padding:8px;border:1px solid rgba(139,225,207,.9);border-radius:15px;background:rgba(255,255,255,.96);
  box-shadow:0 18px 50px rgba(7,30,47,.28);opacity:0;pointer-events:none;will-change:transform;transition:opacity .12s ease
}
.pos-touch-drag-ghost.visible{opacity:1}
.pos-touch-drag-ghost img,.pos-touch-ghost-fallback{width:48px;height:48px;border-radius:11px;object-fit:contain;background:#f1f7f8}
.pos-touch-ghost-fallback{display:grid;place-items:center;color:#168c76;font-size:21px}
.pos-touch-drag-ghost>span:last-child{display:grid;gap:3px;min-width:0}
.pos-touch-drag-ghost b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#14364a;font-size:11px}
.pos-touch-drag-ghost small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#60798a;font-size:9px}

body.pos-touch-dragging{cursor:grabbing!important;overscroll-behavior:none}
body.pos-touch-dragging .pos-touch-product-card{cursor:grabbing!important}
.pos-touch-drop-zone{
  position:relative!important;outline:2px dashed rgba(8,127,110,.5)!important;outline-offset:-5px!important;
  box-shadow:0 0 0 5px rgba(45,212,191,.09),0 15px 38px rgba(8,43,76,.13)!important;
  transition:outline-color .12s ease,box-shadow .12s ease,transform .12s ease!important
}
.pos-touch-drop-zone.pos-touch-drop-ready{
  outline:4px solid #10b981!important;outline-offset:-6px!important;background:linear-gradient(180deg,#f0fdf8,#ecfdf5)!important;
  box-shadow:0 0 0 7px rgba(16,185,129,.17),0 20px 50px rgba(5,92,67,.2)!important;transform:scale(1.012)
}

.pos-touch-drop-dock{display:none}
@media (max-width:820px){
  body.pos-touch-sale-enabled .pos-touch-drop-dock{
    position:fixed;right:max(12px,env(safe-area-inset-right));top:50%;z-index:11950;display:flex;align-items:center;gap:8px;
    width:172px;min-height:58px;padding:9px 11px;border:1px solid #bcded5;border-radius:17px;background:rgba(246,255,252,.95);
    color:#164a43;box-shadow:0 14px 36px rgba(8,43,76,.17);transform:translate3d(calc(100% - 42px),-50%,0);
    opacity:.83;pointer-events:none;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease
  }
  body.pos-touch-sale-enabled .pos-touch-drop-dock.drag-active,
  body.pos-touch-sale-enabled .pos-touch-drop-dock.pos-touch-drop-ready{transform:translate3d(0,-50%,0);opacity:1}
  .pos-touch-drop-dock .pos-touch-drop-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#d7f7ed;font-size:18px}
  .pos-touch-drop-dock>span:last-child{display:grid;gap:2px;min-width:0}.pos-touch-drop-dock b{font-size:10px}.pos-touch-drop-dock small{font-size:8px;color:#5e7a76}
  body.pos-touch-sale-enabled .pos-touch-sale-hint{margin-inline:8px}
}

.pos-touch-quantity-modal{width:min(560px,calc(100vw - 28px))!important;max-height:min(94vh,760px);overflow:auto!important}
.pos-touch-quantity-modal>header{align-items:center!important}
.pos-touch-modal-thumb{flex:0 0 58px;width:58px;height:58px;border:1px solid #d8e8e6;border-radius:14px;background:#f6fbfa;overflow:hidden}
.pos-touch-modal-thumb img{width:100%;height:100%;object-fit:contain}
.pos-touch-source{display:inline-flex!important;margin-left:6px;padding:3px 6px;border-radius:999px;background:#e8f8f3;color:#087f6e!important;font-size:7px!important;font-style:normal;letter-spacing:.04em!important;vertical-align:middle}
.pos-touch-quantity-modal .pos-stepper-panel{padding-bottom:12px!important}
.pos-touch-quantity-tools{display:grid;gap:11px;padding:0 20px 18px}
.pos-touch-presets{display:grid;gap:7px}.pos-touch-presets>span,.pos-touch-exact>span,.pos-touch-merge>span{font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#5f7485}
.pos-touch-presets>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.pos-touch-presets button,.pos-touch-merge button{
  min-height:40px;padding:5px;border:1px solid #cfe0e7;border-radius:11px;background:#f7fafc;color:#214b60;font-size:10px;font-weight:900;cursor:pointer
}
.pos-touch-presets button:active,.pos-touch-presets button:focus-visible,.pos-touch-merge button.active{
  border-color:#17a987;background:#e9fbf5;color:#087f6e;outline:none;box-shadow:0 0 0 3px rgba(23,169,135,.12)
}
.pos-touch-exact{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:center;padding:9px 10px;border:1px solid #dce8ee;border-radius:12px;background:#fbfdfe}
.pos-touch-exact input{height:43px;text-align:center;font-size:17px;font-weight:900}
.pos-touch-merge{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #d8e8ee;border-radius:12px;background:#f8fbfd}
.pos-touch-merge>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.pos-touch-merge button{min-height:34px;padding-inline:9px}
.pos-touch-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:end;padding:12px 13px;border:1px solid #bee7dc;border-radius:14px;background:linear-gradient(135deg,#f2fdf9,#f7fbfe)}
.pos-touch-preview>span{font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#527063}.pos-touch-preview>b{font-size:22px;color:#087f6e}.pos-touch-preview>small{grid-column:1/-1;color:#60798a;font-size:9px;line-height:1.4}
.pos-touch-preview.invalid{border-color:#fecaca;background:#fff5f5}.pos-touch-preview.invalid>b{color:#b91c1c}.pos-touch-preview.invalid>small{color:#991b1b}

@media (max-width:680px){
  .pos-touch-quantity-modal{width:100%!important;max-height:94vh;border-radius:24px 24px 0 0!important}
  .pos-touch-modal-thumb{width:48px;height:48px;flex-basis:48px}
  .pos-touch-quantity-tools{padding:0 16px 16px}.pos-touch-presets>div{grid-template-columns:repeat(5,minmax(44px,1fr));overflow-x:auto}
  .pos-touch-exact,.pos-touch-merge{grid-template-columns:1fr}.pos-touch-exact input{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .pos-touch-drag-ghost,.pos-touch-drop-zone,.pos-touch-product-card,.pos-touch-drop-dock{transition:none!important;animation:none!important}
}
@media (forced-colors:active){
  .pos-touch-drop-zone,.pos-touch-drop-ready,.pos-touch-quantity-btn,.pos-touch-presets button{border:2px solid CanvasText!important;outline-color:Highlight!important}
}
