/* SpaMaster360 v47.30 — POS UI Refactor (sin tocar #posExpenseModal)
   Mantiene estabilidad general del POS/Nueva Venta y excluye por completo Nuevo Gasto. */
body.sc-view-pos, body.sc-view-pos *{box-sizing:border-box;}
body.sc-view-pos{scrollbar-gutter:stable;}
body.sc-view-pos .workspace, body.sc-view-pos main, body.sc-view-pos .app-main{overflow-x:hidden!important;max-width:none!important;}
body.sc-view-pos #view-pos{width:100%!important;max-width:none!important;min-width:0!important;overflow:visible!important;}
body.sc-view-pos #view-pos .pos-pro{width:100%!important;max-width:none!important;min-width:0!important;display:grid!important;gap:18px!important;}
body.sc-view-pos #view-pos .pos-head,
body.sc-view-pos #view-pos .pos-filter-pro,
body.sc-view-pos #view-pos .pos-kpis,
body.sc-view-pos #view-pos .pos-panel,
body.sc-view-pos #view-pos .pos-movement-panel,
body.sc-view-pos #view-pos .pos-tabs{width:100%!important;max-width:none!important;min-width:0!important;}

body.sc-view-pos #view-pos .pos-modal.open:not(#posExpenseModal),
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal){
  position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:18px!important;margin:0!important;overflow:auto!important;overscroll-behavior:contain!important;
  background:rgba(15,23,42,.30)!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.08)!important;backdrop-filter:blur(10px) saturate(1.08)!important;
  transform:none!important;z-index:10000!important;
}
body.sc-view-pos #view-pos .pos-modal.open:not(#posExpenseModal) .pos-modal-card,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .pos-modal-card{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;translate:none!important;margin:auto!important;min-width:0!important;
  width:min(1500px,calc(100vw - 36px))!important;max-width:min(1500px,calc(100vw - 36px))!important;
  max-height:calc(100vh - 36px)!important;padding:0!important;border-radius:28px!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,251,255,.82))!important;
  border:1px solid rgba(148,163,184,.24)!important;box-shadow:0 32px 90px rgba(15,23,42,.25), inset 0 1px 0 rgba(255,255,255,.88)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.18)!important;backdrop-filter:blur(24px) saturate(1.18)!important;
}
body.sc-view-pos #view-pos .pos-modal.open:not(#posExpenseModal) .pos-modal-head,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .pos-modal-head{
  flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  padding:18px 22px!important;margin:0!important;border-bottom:1px solid rgba(148,163,184,.18)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(245,249,255,.44))!important;
}
body.sc-view-pos #view-pos .pos-modal.open:not(#posExpenseModal) .pos-modal-head h3{font-size:20px!important;line-height:1.1!important;margin:0!important;letter-spacing:-.035em!important;}

body.sc-view-pos #view-pos #posSaleModal.pos-modal.open .pos-modal-card,
body.sc-view-pos #posSaleModal.pos-modal.open .pos-modal-card{width:min(1540px,calc(100vw - 36px))!important;max-width:min(1540px,calc(100vw - 36px))!important;}
body.sc-view-pos #view-pos #posSaleModal .pos-sale-layout,
body.sc-view-pos #posSaleModal .pos-sale-layout,
body.sc-view-pos #view-pos #posSaleModal .modal-body,
body.sc-view-pos #posSaleModal .modal-body,
body.sc-view-pos #view-pos #posSaleModal .sale-body,
body.sc-view-pos #posSaleModal .sale-body{
  flex:1 1 auto!important;min-height:0!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,500px)!important;gap:0!important;overflow:hidden!important;
  background:linear-gradient(90deg,rgba(255,255,255,.50),rgba(241,245,249,.58))!important;
}
body.sc-view-pos #view-pos #posSaleModal .pos-products,
body.sc-view-pos #posSaleModal .pos-products{min-width:0!important;overflow:auto!important;max-height:calc(100vh - 118px)!important;padding:22px!important;border-right:1px solid rgba(148,163,184,.22)!important;}
body.sc-view-pos #view-pos #posSaleModal .pos-cart,
body.sc-view-pos #posSaleModal .pos-cart{min-width:0!important;overflow:auto!important;max-height:calc(100vh - 118px)!important;padding:22px!important;background:linear-gradient(160deg,rgba(255,255,255,.88),rgba(248,250,252,.72))!important;}
body.sc-view-pos #view-pos #posSaleModal .pos-product-grid,
body.sc-view-pos #posSaleModal .pos-product-grid,
body.sc-view-pos #view-pos #posSaleModal .sale-products-grid,
body.sc-view-pos #posSaleModal .sale-products-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important;gap:22px!important;align-items:start!important;justify-content:start!important;}
body.sc-view-pos #view-pos #posSaleModal .pos-product,
body.sc-view-pos #posSaleModal .pos-product,
body.sc-view-pos #view-pos #posSaleModal [data-service-id],
body.sc-view-pos #posSaleModal [data-service-id]{width:100%!important;max-width:190px!important;margin:0 auto!important;}

body.sc-view-pos #view-pos .pos-pay-method-grid,
body.sc-view-pos #view-pos .pos-pay-method-grid.three-only,
body.sc-view-pos #view-pos .sm360-payment-unified-grid,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .pos-pay-method-grid,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .sm360-payment-unified-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;margin:14px 0 20px!important;align-items:stretch!important;
}
body.sc-view-pos #view-pos button.pos-pay-method-btn,
body.sc-view-pos #view-pos .sm360-pay-card,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) button.pos-pay-method-btn,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .sm360-pay-card{
  --sm360-pay-color:#16a34a;--sm360-pay-soft:rgba(34,197,94,.15);appearance:none!important;position:relative!important;isolation:isolate!important;overflow:hidden!important;
  width:100%!important;min-width:0!important;height:118px!important;min-height:118px!important;max-height:118px!important;padding:16px 14px!important;
  border-radius:24px!important;border:1px solid rgba(148,163,184,.22)!important;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(245,249,255,.72))!important;
  color:#334155!important;box-shadow:0 16px 34px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.88)!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;text-align:center!important;
  font-size:14px!important;line-height:1.08!important;font-weight:900!important;letter-spacing:-.025em!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;cursor:pointer!important;transform:none!important;
}
body.sc-view-pos #view-pos button.pos-pay-method-btn.active,
body.sc-view-pos #view-pos button.pos-pay-method-btn.is-selected,
body.sc-view-pos #view-pos .sm360-pay-card.active,
body.sc-view-pos #view-pos .sm360-pay-card.is-selected,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) button.pos-pay-method-btn.active,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .sm360-pay-card.active{border-color:var(--sm360-pay-color)!important;background:linear-gradient(145deg,rgba(255,255,255,.94),var(--sm360-pay-soft))!important;color:#0f172a!important;}
body.sc-view-pos #view-pos .sm360-pay-icon,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .sm360-pay-icon{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:18px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;background:var(--sm360-pay-soft)!important;color:var(--sm360-pay-color)!important;font-size:0!important;}
body.sc-view-pos #view-pos .sm360-pay-icon::before,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .sm360-pay-icon::before{content:""!important;width:24px!important;height:24px!important;display:block!important;background:currentColor!important;-webkit-mask:var(--sm360-pay-mask) center/contain no-repeat!important;mask:var(--sm360-pay-mask) center/contain no-repeat!important;}
body.sc-view-pos #view-pos .sm360-pay-label,
body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) .sm360-pay-label{margin:0!important;padding:0!important;width:100%!important;display:block!important;color:#0f172a!important;font-size:14px!important;line-height:1.05!important;font-weight:950!important;letter-spacing:-.035em!important;text-align:center!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;}
body.sc-view-pos #view-pos [data-sm360-payment-method="cash"], body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) [data-sm360-payment-method="cash"]{--sm360-pay-color:#16a34a;--sm360-pay-soft:rgba(34,197,94,.15);--sm360-pay-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M7 10h.01M17 14h.01'/%3E%3C/svg%3E");}
body.sc-view-pos #view-pos [data-sm360-payment-method="card"], body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) [data-sm360-payment-method="card"]{--sm360-pay-color:#2563eb;--sm360-pay-soft:rgba(37,99,235,.13);--sm360-pay-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18M7 15h4'/%3E%3C/svg%3E");}
body.sc-view-pos #view-pos [data-sm360-payment-method="transfer"], body.sc-view-pos .pos-modal.open[id^="pos"]:not(#posExpenseModal) [data-sm360-payment-method="transfer"]{--sm360-pay-color:#7c3aed;--sm360-pay-soft:rgba(124,58,237,.13);--sm360-pay-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 4l9 6.5'/%3E%3Cpath d='M5 10v8M9 10v8M15 10v8M19 10v8M4 18h16'/%3E%3C/svg%3E");}

body.sc-view-pos #view-pos #posFinishSale,
body.sc-view-pos #view-pos .pos-modal-submit{min-height:48px!important;border-radius:18px!important;font-weight:950!important;}
@media(max-width:1100px){body.sc-view-pos #view-pos #posSaleModal .pos-sale-layout,body.sc-view-pos #posSaleModal .pos-sale-layout,body.sc-view-pos #view-pos #posSaleModal .modal-body,body.sc-view-pos #posSaleModal .modal-body{grid-template-columns:1fr!important;}body.sc-view-pos #view-pos #posSaleModal .pos-products,body.sc-view-pos #posSaleModal .pos-products,body.sc-view-pos #view-pos #posSaleModal .pos-cart,body.sc-view-pos #posSaleModal .pos-cart{max-height:none!important;border-right:0!important;border-bottom:1px solid rgba(148,163,184,.22)!important;}}
@media(max-width:700px){body.sc-view-pos #view-pos .pos-pay-method-grid,body.sc-view-pos #view-pos .pos-pay-method-grid.three-only,body.sc-view-pos #view-pos .sm360-payment-unified-grid{grid-template-columns:1fr!important;}body.sc-view-pos #view-pos button.pos-pay-method-btn,body.sc-view-pos #view-pos .sm360-pay-card{height:82px!important;min-height:82px!important;max-height:82px!important;flex-direction:row!important;justify-content:flex-start!important;padding:12px 16px!important;text-align:left!important;}body.sc-view-pos #view-pos .sm360-pay-label{text-align:left!important;}}
