/* SpaMaster360 v47.30 — Nuevo Gasto Single Visual System
   Un solo diseño para #posExpenseModal. Fondo gris con acento morado muy leve. */
:root{
  --sm360-expense-ink:#0f172a;
  --sm360-expense-muted:#64748b;
  --sm360-expense-purple:#6d4aff;
  --sm360-expense-green:#16a34a;
  --sm360-expense-blue:#2563eb;
  --sm360-expense-red:#ef4444;
}
body.sc-view-pos #posExpenseModal.pos-modal,
body.sc-view-pos #view-pos #posExpenseModal.pos-modal{box-sizing:border-box!important;}
body.sc-view-pos #posExpenseModal.pos-modal.open,
body.sc-view-pos #view-pos #posExpenseModal.pos-modal.open,
body.sc-view-pos body > #posExpenseModal.pos-modal.open{
  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,.28)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.02)!important;backdrop-filter:blur(12px) saturate(1.02)!important;
  transform:none!important;z-index:40010!important;border-radius:0!important;
}
body.sc-view-pos #posExpenseModal .pos-modal-card.pos-expense-compact-card,
body.sc-view-pos #view-pos #posExpenseModal .pos-modal-card.pos-expense-compact-card{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;translate:none!important;
  width:min(920px,calc(100vw - 36px))!important;max-width:min(920px,calc(100vw - 36px))!important;max-height:calc(100vh - 36px)!important;
  min-width:0!important;margin:auto!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;
  border-radius:28px!important;border:1px solid rgba(148,163,184,.22)!important;
  background:
    radial-gradient(circle at 18% 0%, rgba(109,74,255,.075), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.97), rgba(248,250,252,.94) 58%, rgba(241,245,249,.90))!important;
  box-shadow:0 34px 90px rgba(15,23,42,.26), inset 0 1px 0 rgba(255,255,255,.96)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.08)!important;backdrop-filter:blur(22px) saturate(1.08)!important;
  z-index:40020!important;
}
body.sc-view-pos #posExpenseModal .pos-modal-head,
body.sc-view-pos #view-pos #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,.82), rgba(248,250,252,.68))!important;
}
body.sc-view-pos #posExpenseModal .pos-modal-title-row{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;}
body.sc-view-pos #posExpenseModal .pos-modal-title-icon.expense{
  width:42px!important;height:42px!important;min-width:42px!important;border-radius:16px!important;display:grid!important;place-items:center!important;
  font-size:0!important;color:var(--sm360-expense-purple)!important;background:linear-gradient(145deg,rgba(109,74,255,.12),rgba(255,255,255,.86))!important;
  box-shadow:0 12px 28px rgba(109,74,255,.12), inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body.sc-view-pos #posExpenseModal .pos-modal-title-icon.expense::before{content:"";width:21px;height:21px;background:currentColor;-webkit-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.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7H14.5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E") center/contain no-repeat;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.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7H14.5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E") center/contain no-repeat;}
body.sc-view-pos #posExpenseModal .pos-modal-head h3{font-size:21px!important;line-height:1.1!important;margin:0!important;letter-spacing:-.04em!important;color:var(--sm360-expense-ink)!important;font-weight:920!important;}
body.sc-view-pos #posExpenseModal #expenseCompactClose{width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:0!important;border-radius:999px!important;font-size:0!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.88)!important;color:#0f172a!important;box-shadow:0 10px 22px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.92)!important;}
body.sc-view-pos #posExpenseModal #expenseCompactClose::before{content:"×"!important;font-size:22px!important;font-weight:850!important;line-height:1!important;}
body.sc-view-pos #posExpenseModal .expense-compact-form,
body.sc-view-pos #view-pos #posExpenseModal .expense-compact-form{
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;display:grid!important;gap:16px!important;
  padding:22px 24px 26px!important;background:transparent!important;max-height:calc(100vh - 116px)!important;
}
body.sc-view-pos #posExpenseModal .expense-compact-form::-webkit-scrollbar{width:8px;height:8px;}
body.sc-view-pos #posExpenseModal .expense-compact-form::-webkit-scrollbar-thumb{background:rgba(109,74,255,.22);border-radius:999px;}
body.sc-view-pos #posExpenseModal .expense-compact-form::-webkit-scrollbar-track{background:rgba(226,232,240,.42);border-radius:999px;}
body.sc-view-pos #posExpenseModal .expense-field{display:grid!important;gap:8px!important;margin:0!important;padding:0!important;}
body.sc-view-pos #posExpenseModal .expense-field label{color:#475569!important;font-size:12px!important;line-height:1.1!important;letter-spacing:.055em!important;text-transform:uppercase!important;font-weight:900!important;}
body.sc-view-pos #posExpenseModal input,
body.sc-view-pos #posExpenseModal textarea{min-height:50px!important;border-radius:17px!important;border:1px solid rgba(148,163,184,.24)!important;background:rgba(255,255,255,.90)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.86), 0 8px 20px rgba(15,23,42,.035)!important;padding:13px 15px!important;font-weight:760!important;color:#0f172a!important;outline:none!important;}
body.sc-view-pos #posExpenseModal textarea{min-height:92px!important;resize:vertical!important;}
body.sc-view-pos #posExpenseModal input:focus,
body.sc-view-pos #posExpenseModal textarea:focus{border-color:rgba(109,74,255,.42)!important;box-shadow:0 0 0 4px rgba(109,74,255,.10), inset 0 1px 0 rgba(255,255,255,.92)!important;}
body.sc-view-pos #posExpenseModal .expense-money-box{border:1px solid rgba(148,163,184,.22)!important;border-radius:21px!important;overflow:hidden!important;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(248,250,252,.70))!important;box-shadow:0 12px 24px rgba(15,23,42,.04), inset 0 1px 0 rgba(255,255,255,.90)!important;}
body.sc-view-pos #posExpenseModal .expense-money-box input{border:0!important;border-radius:0!important;background:transparent!important;text-align:right!important;font-size:24px!important;font-weight:920!important;box-shadow:none!important;}
body.sc-view-pos #posExpenseModal .expense-money-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 14px!important;background:rgba(248,250,252,.82)!important;color:#64748b!important;font-size:13px!important;font-weight:750!important;}
body.sc-view-pos #posExpenseModal .expense-money-footer strong{color:var(--sm360-expense-red)!important;font-size:16px!important;font-weight:920!important;}
body.sc-view-pos #posExpenseModal .expense-categories-wrap{margin:2px 0 4px!important;padding:12px!important;border-radius:22px!important;border:1px solid rgba(148,163,184,.22)!important;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(248,250,252,.64))!important;max-height:300px!important;overflow:auto!important;box-shadow:0 12px 24px rgba(15,23,42,.04)!important;}
body.sc-view-pos #posExpenseModal .expense-cat-root{border-bottom:1px solid rgba(226,232,240,.82)!important;background:transparent!important;}
body.sc-view-pos #posExpenseModal .expense-cat-root:last-child{border-bottom:0!important;}
body.sc-view-pos #posExpenseModal .expense-cat-main{display:grid!important;grid-template-columns:38px 1fr 18px!important;align-items:center!important;gap:10px!important;padding:10px 11px!important;border-radius:16px!important;cursor:pointer!important;transition:background .16s, transform .16s!important;}
body.sc-view-pos #posExpenseModal .expense-cat-main:hover{background:linear-gradient(135deg,rgba(109,74,255,.07),rgba(255,255,255,.65))!important;}
body.sc-view-pos #posExpenseModal .expense-cat-icon{width:34px!important;height:34px!important;border-radius:13px!important;display:grid!important;place-items:center!important;background:var(--cat-color,#7c3aed)!important;color:#fff!important;font-size:17px!important;box-shadow:0 10px 20px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.35)!important;}
body.sc-view-pos #posExpenseModal .expense-cat-title{font-weight:900!important;color:#172033!important;font-size:15px!important;line-height:1.2!important;}
body.sc-view-pos #posExpenseModal .expense-cat-arrow{color:#64748b!important;font-size:16px!important;font-weight:920!important;}
body.sc-view-pos #posExpenseModal .expense-cat-children{display:none!important;padding:0 14px 13px 60px!important;gap:7px!important;}
body.sc-view-pos #posExpenseModal .expense-cat-root.open .expense-cat-children{display:grid!important;}
body.sc-view-pos #posExpenseModal .expense-cat-child{display:grid!important;grid-template-columns:12px 1fr!important;align-items:center!important;gap:9px!important;width:100%!important;border:1px solid rgba(148,163,184,.18)!important;background:rgba(255,255,255,.78)!important;border-radius:14px!important;padding:10px 12px!important;color:#475569!important;font-weight:820!important;text-align:left!important;}
body.sc-view-pos #posExpenseModal .expense-cat-child:hover,
body.sc-view-pos #posExpenseModal .expense-cat-child.active{border-color:rgba(109,74,255,.28)!important;background:rgba(109,74,255,.08)!important;color:#4329c7!important;}
body.sc-view-pos #posExpenseModal .expense-cat-child-dot{width:12px!important;height:12px!important;border-radius:999px!important;background:var(--cat-color,#7c3aed)!important;}
body.sc-view-pos #posExpenseModal .expense-selected-pill{display:none!important;align-items:center!important;width:max-content!important;max-width:100%!important;border-radius:999px!important;padding:9px 12px!important;background:rgba(109,74,255,.08)!important;color:#4329c7!important;font-weight:900!important;border:1px solid rgba(109,74,255,.18)!important;}
body.sc-view-pos #posExpenseModal .expense-selected-pill.show{display:inline-flex!important;}

body.sc-view-pos #posExpenseModal .expense-pay-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;width:100%!important;margin:4px 0 2px!important;align-items:stretch!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn{
  --sm360-pay-color:#16a34a;--sm360-pay-soft:rgba(34,197,94,.13);appearance:none!important;position:relative!important;isolation:isolate!important;overflow:hidden!important;
  width:100%!important;min-width:0!important;height:92px!important;min-height:92px!important;max-height:92px!important;padding:12px 12px!important;border-radius:22px!important;
  border:1px solid rgba(148,163,184,.22)!important;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,250,252,.82))!important;color:#334155!important;
  box-shadow:0 14px 30px rgba(15,23,42,.065), inset 0 1px 0 rgba(255,255,255,.92)!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;text-align:center!important;
  font-size:13px!important;line-height:1.08!important;font-weight:900!important;letter-spacing:-.02em!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;cursor:pointer!important;transform:none!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease!important;
}
body.sc-view-pos #posExpenseModal button.expense-pay-btn:hover{transform:translateY(-1px)!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn.active,
body.sc-view-pos #posExpenseModal button.expense-pay-btn.is-selected{border-color:var(--sm360-pay-color)!important;background:linear-gradient(145deg,rgba(255,255,255,.95),var(--sm360-pay-soft))!important;color:#0f172a!important;box-shadow:0 18px 36px color-mix(in srgb,var(--sm360-pay-color) 15%,transparent), inset 0 1px 0 rgba(255,255,255,.96)!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn[data-sm360-payment-method="cash"]{--sm360-pay-color:var(--sm360-expense-green)!important;--sm360-pay-soft:rgba(34,197,94,.14)!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn[data-sm360-payment-method="card"]{--sm360-pay-color:var(--sm360-expense-blue)!important;--sm360-pay-soft:rgba(37,99,235,.13)!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn[data-sm360-payment-method="transfer"]{--sm360-pay-color:var(--sm360-expense-purple)!important;--sm360-pay-soft:rgba(109,74,255,.13)!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn[data-method-name*="Efectivo"]{--sm360-pay-color:var(--sm360-expense-green)!important;--sm360-pay-soft:rgba(34,197,94,.14)!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn[data-method-name*="Datafono"],
body.sc-view-pos #posExpenseModal button.expense-pay-btn[data-method-name*="Datáfono"]{--sm360-pay-color:var(--sm360-expense-blue)!important;--sm360-pay-soft:rgba(37,99,235,.13)!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn[data-method-name*="Transferencia"]{--sm360-pay-color:var(--sm360-expense-purple)!important;--sm360-pay-soft:rgba(109,74,255,.13)!important;}
body.sc-view-pos #posExpenseModal .sm360-pay-icon{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:16px!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;box-shadow:0 12px 26px color-mix(in srgb,var(--sm360-pay-color) 14%,transparent), inset 0 1px 0 rgba(255,255,255,.82)!important;font-size:0!important;line-height:0!important;}
body.sc-view-pos #posExpenseModal .sm360-pay-icon > *{display:none!important;}
body.sc-view-pos #posExpenseModal .sm360-pay-icon::before{content:""!important;width:21px!important;height:21px!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 #posExpenseModal [data-sm360-payment-method="cash"], body.sc-view-pos #posExpenseModal [data-method-name*="Efectivo"]{--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.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")!important;}
body.sc-view-pos #posExpenseModal [data-sm360-payment-method="card"], body.sc-view-pos #posExpenseModal [data-method-name*="Datafono"], body.sc-view-pos #posExpenseModal [data-method-name*="Datáfono"]{--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.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")!important;}
body.sc-view-pos #posExpenseModal [data-sm360-payment-method="transfer"], body.sc-view-pos #posExpenseModal [data-method-name*="Transferencia"]{--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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 4l9 6.5'/%3E%3Cpath d='M6 10v8M10 10v8M14 10v8M18 10v8M4 18h16'/%3E%3C/svg%3E")!important;}
body.sc-view-pos #posExpenseModal .sm360-pay-label{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;color:#0f172a!important;font-size:13px!important;line-height:1.08!important;font-weight:930!important;letter-spacing:-.025em!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 #posExpenseModal .sm360-pay-check{position:absolute!important;right:10px!important;top:10px!important;width:22px!important;height:22px!important;border-radius:999px!important;display:none!important;place-items:center!important;background:var(--sm360-pay-color)!important;color:white!important;font-size:14px!important;font-weight:950!important;line-height:1!important;box-shadow:0 8px 18px color-mix(in srgb,var(--sm360-pay-color) 32%,transparent)!important;z-index:4!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn.active .sm360-pay-check,
body.sc-view-pos #posExpenseModal button.expense-pay-btn.is-selected .sm360-pay-check{display:grid!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn::before,
body.sc-view-pos #posExpenseModal button.expense-pay-btn::after{content:none!important;display:none!important;}
body.sc-view-pos #posExpenseModal button.expense-pay-btn > span:not(.sm360-pay-icon):not(.sm360-pay-label):not(.sm360-pay-check){display:none!important;}
body.sc-view-pos #posExpenseModal .expense-submit-compact{width:100%!important;min-height:54px!important;border:0!important;border-radius:19px!important;background:linear-gradient(135deg,#ef4444,#fb7185)!important;color:white!important;font-weight:950!important;margin-top:4px!important;box-shadow:0 18px 36px rgba(239,68,68,.22), inset 0 1px 0 rgba(255,255,255,.3)!important;}
body.sc-view-pos #posExpenseModal .expense-submit-compact:disabled{background:#cbd5e1!important;color:#64748b!important;box-shadow:none!important;}
@media(max-width:760px){body.sc-view-pos #posExpenseModal.pos-modal.open{padding:10px!important;align-items:stretch!important;}body.sc-view-pos #posExpenseModal .pos-modal-card.pos-expense-compact-card{width:100%!important;max-width:100%!important;max-height:calc(100vh - 20px)!important;border-radius:24px!important;}body.sc-view-pos #posExpenseModal .pos-modal-head{padding:14px 16px!important;}body.sc-view-pos #posExpenseModal .expense-compact-form{padding:16px!important;}body.sc-view-pos #posExpenseModal .expense-pay-grid{grid-template-columns:1fr!important;}body.sc-view-pos #posExpenseModal button.expense-pay-btn{height:78px!important;min-height:78px!important;max-height:78px!important;flex-direction:row!important;justify-content:flex-start!important;text-align:left!important;padding:12px 16px!important;}body.sc-view-pos #posExpenseModal .sm360-pay-label{text-align:left!important;}}
