/* Встроенный экран Dash при старте/гидрации: убираем текст "Loading..." */
._dash-loading {
  margin: 0 !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  width: 100%;
  min-height: 100vh;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--mantine-color-gray-0, #f8f9fa);
}

._dash-loading::after {
  content: "" !important;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border: 3px solid rgba(34, 139, 230, 0.25);
  border-top-color: #228be6;
  border-radius: 50%;
  animation: ariadna-spin 0.7s linear infinite;
}

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

/* Не показывать стандартный текст Loading через ::before на обновляемых блоках */
*[data-dash-is-loading="true"]::before {
  content: none !important;
  display: none !important;
}

/* Спиннер смены страницы — fixed, не раздувает высоту #page-content.
   display не трогаем через !important: Dash сам скрывает спиннер (inline). */
#page-loading .ariadna-page-spinner {
  position: fixed !important;
  inset: 52px 0 0 0; /* под AppShell header */
  z-index: 200;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  pointer-events: none;
  background: transparent;
}
