/* Preloader global do VestOnline — compatível com postbacks Web Forms. */
.scpivot-preloader { position: fixed; inset: 0; z-index: 30000; display: grid; place-items: center; padding: 1rem; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .22s ease, visibility .22s ease; }
.scpivot-preloader.is-visible { visibility: visible; opacity: 1; pointer-events: auto; }
.scpivot-preloader.is-leaving { pointer-events: none; }
.scpivot-preloader__backdrop { position: absolute; inset: 0; background: rgba(0, 36, 61, .68); backdrop-filter: blur(4px); }
.scpivot-preloader__card { position: relative; width: min(460px, 94vw); overflow: hidden; display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 1rem; align-items: center; padding: 1.35rem; background: #fff; color: #183247; border: 1px solid rgba(255,255,255,.65); border-radius: 22px; box-shadow: 0 24px 80px rgba(0,25,45,.35); }
.scpivot-preloader__visual { width: 76px; height: 76px; position: relative; display: grid; place-items: center; border-radius: 22px; background: linear-gradient(145deg,#014573,#087cb5); }
.scpivot-preloader__core { width: 38px; height: 38px; display: flex; align-items: end; justify-content: center; gap: 4px; padding: 8px; border-radius: 12px; background: rgba(255,255,255,.96); }
.scpivot-preloader__bar { width: 6px; border-radius: 5px 5px 2px 2px; background: #e06633; transform-origin: bottom; animation: scpivotBar 1s ease-in-out infinite; }
.scpivot-preloader__bar--one { height: 12px; }
.scpivot-preloader__bar--two { height: 23px; animation-delay: .13s; }
.scpivot-preloader__bar--three { height: 17px; animation-delay: .26s; }
.scpivot-preloader__orbit { position: absolute; inset: 7px; border: 2px solid rgba(255,255,255,.28); border-top-color: #fff; border-radius: 50%; animation: scpivotSpin 1.35s linear infinite; }
.scpivot-preloader__orbit--two { inset: 1px; border-style: dashed; animation-direction: reverse; animation-duration: 2s; }
.scpivot-preloader__spark { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #ffd98a; box-shadow: 0 0 10px #ffd98a; animation: scpivotPulse 1.3s ease-in-out infinite; }
.scpivot-preloader__spark--one { top: 8px; right: 15px; }
.scpivot-preloader__spark--two { bottom: 13px; left: 8px; animation-delay: .35s; }
.scpivot-preloader__spark--three { top: 31px; left: 3px; animation-delay: .7s; }
.scpivot-preloader__content { min-width: 0; display: flex; flex-direction: column; gap: .3rem; }
.scpivot-preloader__title { color: #014573; font-size: 1.08rem; }
.scpivot-preloader__message { font-weight: 650; }
.scpivot-preloader__hint { color: #647789; font-size: .82rem; line-height: 1.4; }
.scpivot-preloader__progress { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: #e8f0f5; overflow: hidden; }
.scpivot-preloader__progress-line { display: block; width: 40%; height: 100%; background: linear-gradient(90deg,#014573,#e06633); border-radius: 999px; animation: scpivotProgress 1.25s ease-in-out infinite; }
.scpivot-preloader__dots { position: absolute; right: 1.25rem; bottom: .72rem; display: flex; gap: 4px; }
.scpivot-preloader__dots span { width: 5px; height: 5px; border-radius: 50%; background: #014573; animation: scpivotDots 1.1s ease-in-out infinite; }
.scpivot-preloader__dots span:nth-child(2) { animation-delay: .13s; }
.scpivot-preloader__dots span:nth-child(3) { animation-delay: .26s; }
body.scpivot-preloader-open { overflow: hidden !important; }
@keyframes scpivotSpin { to { transform: rotate(360deg); } }
@keyframes scpivotBar { 0%,100% { transform: scaleY(.55); } 50% { transform: scaleY(1.15); } }
@keyframes scpivotPulse { 0%,100% { opacity:.35; transform:scale(.7); } 50% { opacity:1; transform:scale(1.2); } }
@keyframes scpivotProgress { 0% { transform: translateX(-120%); } 100% { transform: translateX(350%); } }
@keyframes scpivotDots { 0%,100% { opacity:.3; transform:translateY(0); } 50% { opacity:1; transform:translateY(-3px); } }
@media (max-width: 520px) { .scpivot-preloader__card { grid-template-columns: 1fr; text-align:center; } .scpivot-preloader__visual { margin:auto; } }
@media (prefers-reduced-motion: reduce) { .scpivot-preloader *, .scpivot-preloader *::before, .scpivot-preloader *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; } }
