/* SpaMaster 360 v47.32
   Phase 2: Unified Form System
   Normaliza formularios y modales sin reconstruir DOM.
*/
.sm360-form-system-ready .pos-modal-card,
.sm360-form-system-ready .agenda-v221-modal,
.sm360-form-system-ready .sm360-clean-reservation-modal{
  font-family:var(--sc-font-body,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)!important;
}
.sm360-form{
  display:grid!important;
  gap:16px!important;
}
.sm360-form-grid-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.sm360-form-grid-3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.sm360-form-section{
  display:grid!important;
  gap:12px!important;
  padding:16px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(248,250,252,.54))!important;
}
.sm360-form-section-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0!important;
  color:var(--sm360-ink,#0f172a)!important;
  font-size:16px!important;
  font-weight:920!important;
  letter-spacing:-.025em!important;
}
.sm360-form-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  padding-top:8px!important;
}
.sm360-form-help{
  color:var(--sm360-muted,#64748b)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
/* POS: aplica sistema sin tocar comportamiento */
body.sc-view-pos #posSaleModal .pos-modal-card,
body.sc-view-pos #posExpenseModal .pos-modal-card{
  --sm360-modal-gray-a:#ffffff;
  --sm360-modal-gray-b:#f8fafc;
  --sm360-modal-gray-c:#f4f7fb;
}
body.sc-view-pos #posSaleModal .pos-modal-head,
body.sc-view-pos #posExpenseModal .pos-modal-head{
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(248,250,252,.70))!important;
  border-bottom:1px solid rgba(148,163,184,.18)!important;
}
body.sc-view-pos #posExpenseModal .expense-compact-form,
body.sc-view-pos #posSaleModal .pos-sale-layout{
  scrollbar-gutter:stable!important;
}
body.sc-view-pos #posExpenseModal .expense-field,
body.sc-view-pos #posSaleModal .pos-field-block,
body.sc-view-pos #posSaleModal .sale-field{
  display:grid!important;
  gap:8px!important;
}
body.sc-view-pos #posExpenseModal .expense-field label,
body.sc-view-pos #posSaleModal label{
  color:var(--sm360-muted,#64748b)!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  font-weight:900!important;
}
body.sc-view-pos #posExpenseModal input,
body.sc-view-pos #posExpenseModal textarea,
body.sc-view-pos #posExpenseModal select,
body.sc-view-pos #posSaleModal input,
body.sc-view-pos #posSaleModal textarea,
body.sc-view-pos #posSaleModal select{
  min-height:48px!important;
  border-radius:16px!important;
  border:1px solid rgba(148,163,184,.28)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,250,252,.86))!important;
}
body.sc-view-pos #posExpenseModal .expense-submit-compact,
body.sc-view-pos #posSaleModal .pos-modal-submit{
  min-height:52px!important;
  border-radius:18px!important;
}
@media(max-width:860px){
  .sm360-form-grid-2,.sm360-form-grid-3{grid-template-columns:1fr!important;}
  .sm360-form-actions{justify-content:stretch!important;flex-direction:column!important;}
  .sm360-form-actions .btn,.sm360-form-actions button{width:100%!important;}
}
