/* Loader/Spinner Component Styles */
.loader-spinner {
  display: inline-block;
  width: 48px;
  height: 48px;
  border: 4px solid var(--loader-bg, #e0e0e0);
  border-top: 4px solid var(--loader-fg, #1a73e8);
  border-radius: 50%;
  animation: loader-spin 1s linear infinite;
  box-sizing: border-box;
}

@keyframes loader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.loader-spinner[hidden] {
  display: none !important;
}

/* Centered variant */
.loader-spinner.centered {
  display: block;
  margin: 2rem auto;
}
