/* Indicador de carregamento global: ocupa somente a faixa natural do topo da
   área que vai receber o conteúdo e mantém a animação centrada nela. Nunca
   estica nem encolhe com o container, para não ficar centrado na altura toda. */
.admin-loading-indicator {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  min-height: 132px;
  padding: 28px 0;
}

.admin-loading-indicator-spinner {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 2px solid var(--admin-border);
  border-top-color: var(--admin-accent);
  animation: admin-loading-spin 720ms linear infinite;
}

.admin-loading-indicator--sm {
  min-height: 72px;
  padding: 16px 0;
}

.admin-loading-indicator--sm .admin-loading-indicator-spinner {
  width: 20px;
  height: 20px;
}

@keyframes admin-loading-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-loading-indicator-spinner {
    animation-duration: 2400ms;
  }
}
