/*
se necessario colocar nos grid's
		// <<< ESSENCIAL PARA O LOADING >>>
	//'loadingCssClass' => 'grid-is-loading', // nome livre (pode ser o padrão também)
	/////////consulte css loadingCssClass /////////////
*/

/*loadingCssClass */
	/* Garante contexto para o overlay mesmo dentro do modal */
.grid-view { position: relative; }

/* Escurece levemente o conteúdo enquanto carrega */
.grid-view.grid-is-loading .items,
.grid-view.grid-view-loading .items { /* inclui o nome padrão por segurança */
  opacity: 0.5;
  pointer-events: none;
}

/* Overlay simples (funciona em modal) */
.grid-view.grid-is-loading::after,
.grid-view.grid-view-loading::after { /* inclui o nome padrão por segurança */
  content: "Carregando…";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.75);
  z-index: 999;        /* acima do conteúdo da grid */
  font: 600 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #333;
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
}

/* Spinner minimalista via pseudo-elemento extra */
.grid-view.grid-is-loading::before,
.grid-view.grid-view-loading::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 22px; height: 22px;
  margin: -22px 0 0 -11px; /* centraliza acima do texto */
  border: 3px solid #999;
  border-top-color: transparent;
  border-radius: 50%;
  z-index: 1000;
  animation: spin 0.7s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }