/* SpaMaster 360 v52.6 — Icon-only Liquid Crystal preloaders */
:root{
  --sm360-loader-accent:#7047eb;
  --sm360-loader-ink:#5b35d5;
}
body > #sm360BootPreloader,
body #sm360AgendaPreloader{
  position:fixed!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  z-index:2147483000!important;
  background:rgba(244,246,252,.64)!important;
  backdrop-filter:blur(18px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.18)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:all!important;
  transition:opacity .26s ease,visibility .26s ease!important;
}
body #sm360AgendaPreloader{
  z-index:2147482200!important;
  background:rgba(247,248,252,.58)!important;
}
body > #sm360BootPreloader.is-hidden,
body #sm360AgendaPreloader.is-hidden{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.sm360-loader-orb{
  position:relative!important;
  width:76px!important;
  height:76px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:26px!important;
  border:1px solid color-mix(in srgb,var(--sm360-loader-accent) 22%,rgba(255,255,255,.84))!important;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--sm360-loader-accent) 13%,rgba(255,255,255,.96)),rgba(255,255,255,.58))!important;
  box-shadow:
    0 18px 52px color-mix(in srgb,var(--sm360-loader-accent) 18%,transparent),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -8px 22px color-mix(in srgb,var(--sm360-loader-accent) 7%,transparent)!important;
  overflow:hidden!important;
  animation:sm360LoaderFloat 1.8s ease-in-out infinite!important;
}
.sm360-loader-orb::before{
  content:""!important;
  position:absolute!important;
  inset:-35%!important;
  border-radius:50%!important;
  background:conic-gradient(from 0deg,transparent 0 28%,color-mix(in srgb,var(--sm360-loader-accent) 55%,transparent) 44%,transparent 60% 100%)!important;
  animation:sm360LoaderSpin 1.15s linear infinite!important;
  opacity:.72!important;
}
.sm360-loader-orb::after{
  content:""!important;
  position:absolute!important;
  inset:2px!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.52))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.sm360-loader-glyph{
  position:relative!important;
  z-index:2!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  grid-template-rows:repeat(2,1fr)!important;
  gap:4px!important;
  transform:rotate(0deg)!important;
}
.sm360-loader-glyph i{
  display:block!important;
  border-radius:5px!important;
  background:var(--sm360-loader-accent)!important;
  box-shadow:0 4px 10px color-mix(in srgb,var(--sm360-loader-accent) 25%,transparent)!important;
  animation:sm360LoaderTile 1.2s ease-in-out infinite!important;
}
.sm360-loader-glyph i:nth-child(2){animation-delay:.12s!important;opacity:.78!important}
.sm360-loader-glyph i:nth-child(3){animation-delay:.24s!important;opacity:.82!important}
.sm360-loader-glyph i:nth-child(4){animation-delay:.36s!important}
@keyframes sm360LoaderSpin{to{transform:rotate(360deg)}}
@keyframes sm360LoaderFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.025)}}
@keyframes sm360LoaderTile{0%,100%{transform:scale(.72);opacity:.55}50%{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){
  .sm360-loader-orb,.sm360-loader-orb::before,.sm360-loader-glyph i{animation-duration:2.4s!important}
}
/* Definitive removal of duplicated POS SPA warning */
#posSpaRequired,.pos-spa-required{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}

/* v80.6 — Global boot overlays disabled definitively. */
#sm360BootPreloader,
#sm360MobileBootV7160,
#sm360BootPreloaderV4761,
html.sm360-boot-preloading-v4761 #sm360BootPreloaderV4761,
html.sm360-mobile-shell-booting-v7160 #sm360MobileBootV7160{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html.sm360-boot-preloading-v4761 body,
html.sm360-mobile-shell-booting-v7160 body{
  overflow:auto!important;
}
html.sm360-mobile-shell-booting-v7160 body>.app-shell,
html.sm360-mobile-shell-booting-v7160 body>.mobile-top{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
