/* ===========================================================
   1) Esconde APENAS o spinner interno duplicado
   =========================================================== */
.dash-default-spinner,
.dash-loading-spinner,
._dash-loading-spinner,
._dash-loading-callback .dash-default-spinner,
.dash-loading-overlay .dash-default-spinner {
    display: none !important;
}

/* ===========================================================
   2) Overlay FULLSCREEN acima de tudo (até modal)
   =========================================================== */
.dash-loading-overlay,
._dash-loading-callback {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;

    background: rgba(255, 255, 255, 0.55) !important;
    z-index: 20000 !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    pointer-events: all !important; /* bloqueia clique atrás */
}

/* ===========================================================
   3) Seu loader "dots" (colocado no overlay)
   =========================================================== */

/* MUDE SOMENTE AQUI*/


.dash-loading-overlay::after,
._dash-loading-callback::after {
  content: "";
  width: 90px;
  height: 90px;
  background: url("/assets/logoinfracode.png") center/contain no-repeat;
  animation: rotatePulse 1.4s infinite ease-in-out;
}

@keyframes rotatePulse {
  0%   { transform: rotate(0deg)   scale(0.9); opacity: .6; }
  40%  { transform: rotate(45deg)  scale(1.15); opacity: 1; }
  70%  { transform: rotate(20deg)  scale(1.05); opacity: .9; }
  100% { transform: rotate(0deg)   scale(0.9); opacity: .6; }
}
