﻿/* Full-screen dim overlay */
.loading-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.5); /* slate-900/50 */
  display: grid;
  place-items: center;
  z-index: 9999;
}

/* The white card */
.loading-overlay__box {
  background: #fff;
  border-radius: 0.75rem;
  padding: 1rem 1.25rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  display: flex;
  align-items: center;
  gap: .75rem;
}

/* Spinner */
.loading-spinner {
  width: 22px; height: 22px;
  border-radius: 50%;
  border: 3px solid #e5e7eb;
  border-top-color: #374151;
  animation: spin 1s linear infinite;
}
.loading-text { font: 500 0.95rem/1.2 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }

@keyframes spin { to { transform: rotate(360deg); } }

/* Optional: inline button spinner */
.btn--busy {
  position: relative;
  pointer-events: none;
  opacity: .8;
}
.btn--busy > .btn-spinner {
  width: 1em; height: 1em;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  display: inline-block;
  margin-left: .5em;
  animation: spin .9s linear infinite;
}
