/* ZOVRO ERP FIX18 - Unified Soft Pulsing Ring / no image or external dependency. */
:root { --zovro-loader-blue:#1777d2; --zovro-loader-soft:#e4efff; }
.zovro-soft-ring {
  --zovro-ring-size:58px;
  --zovro-ring-stroke:6px;
  position:relative;display:inline-block;vertical-align:middle;
  width:var(--zovro-ring-size);height:var(--zovro-ring-size);
  min-width:var(--zovro-ring-size);min-height:var(--zovro-ring-size);
  border:0!important;border-radius:50%;background:transparent!important;
  animation:none!important;flex:none;box-sizing:border-box;
}
.zovro-soft-ring::before,.zovro-soft-ring::after {content:"";position:absolute;inset:0;border-radius:50%;box-sizing:border-box;pointer-events:none;}
.zovro-soft-ring::before {
  border:var(--zovro-ring-stroke) solid #dbeafe;
  border-top-color:var(--zovro-loader-blue);
  border-right-color:#55a0ef;
  box-shadow:0 2px 14px rgba(23,119,210,.15),inset 0 0 14px rgba(23,119,210,.08);
  animation:zovro-soft-ring-spin 1.12s cubic-bezier(.55,.22,.45,.78) infinite;
}
.zovro-soft-ring::after {
  inset:-8px;border:7px solid rgba(70,150,245,.13);
  box-shadow:0 0 15px rgba(70,150,245,.09);
  animation:zovro-soft-ring-pulse 2s ease-in-out infinite;
}
.zovro-soft-ring--small,.erp-button-busy .zovro-soft-ring {--zovro-ring-size:18px;--zovro-ring-stroke:2.5px;}
.zovro-soft-ring--small::after,.erp-button-busy .zovro-soft-ring::after{inset:-3px;border-width:2px;}
@keyframes zovro-soft-ring-spin {to{transform:rotate(360deg)}}
@keyframes zovro-soft-ring-pulse {0%,100%{opacity:.34;transform:scale(.94)}50%{opacity:1;transform:scale(1.1)}}
.zovro-page-loader {
  position:fixed;inset:0;z-index:2147482000;display:flex;align-items:center;justify-content:center;
  background:rgba(244,248,253,.76);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  cursor:default!important;
}
.zovro-page-loader[hidden]{display:none!important}
.zovro-page-loader__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:25px;min-width:160px;}
.zovro-page-loader__label{color:#163e66;font:600 13px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;text-align:center;letter-spacing:.01em;}
html.zovro-page-loader-active,html.zovro-page-loader-active body,html.zovro-page-loader-active body *{cursor:default!important;}
/* Preserve original form button visibility; only the busy state shows the ring. */
.spinner.zovro-soft-ring {display:none;--zovro-ring-size:17px;--zovro-ring-stroke:2.3px;margin-left:8px;vertical-align:middle;}
.busy .spinner.zovro-soft-ring {display:inline-block;}
/* Existing warning dialogs (company provisioning and Fresh Start) keep their own labels. */
.busy-card>.zovro-soft-ring,.db-busy-card>.zovro-soft-ring,.zcr-busy-card>.zovro-soft-ring,.zcrf-busy-card>.zovro-soft-ring {display:block;margin:0 auto 19px;}
@media (max-width:620px){.zovro-page-loader .zovro-soft-ring{--zovro-ring-size:48px;--zovro-ring-stroke:5px;}}
@media (prefers-reduced-motion:reduce){.zovro-soft-ring::before{animation-duration:3.2s}.zovro-soft-ring::after{animation:none;opacity:.6;}}
@media print {.zovro-page-loader{display:none!important}}
