.app-spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  flex: none;
  border: 3px solid var(--booking-selected, #eff6ff);
  border-top-color: var(--booking-primary, #2563eb);
  border-radius: 50%;
  animation: app-spinner-turn 0.7s linear infinite;
}
.app-spinner--inline { width: 16px; height: 16px; border-width: 2px; }
.app-spinner--inverse { border-color: rgb(255 255 255 / 30%); border-top-color: white; }
@keyframes app-spinner-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .app-spinner { animation-duration: 2s; }
}

#loading-bg {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: #fff;
}
