body { margin: 0; }

.app-loading {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 32px 20px;
  box-sizing: border-box;
  background: #f6f8f9;
  color: #52646b;
  font: 400 14px/1.5 Roboto, system-ui, sans-serif;
  text-align: center;
}

.app-loading--content { min-height: 50vh; background: transparent; }
.app-loading__logo { width: 180px; height: 54px; object-fit: contain; }
.app-loading__message { margin: 0; }
.app-loading__spinner {
  width: 28px;
  height: 28px;
  box-sizing: border-box;
  border: 3px solid #dceef0;
  border-top-color: #039ba6;
  border-radius: 50%;
  animation: app-loading-spin 800ms linear infinite;
}

@keyframes app-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .app-loading__spinner { animation: none; }
}
