/* EVPL Loading PRO 19 - experiência premium, informativa e resiliente */
:root{
  --loader-navy:#111a2d;
  --loader-navy-2:#17233a;
  --loader-red:#bc111a;
  --loader-red-2:#e0262a;
  --loader-gold:#f6b51c;
  --loader-gold-2:#ffe08a;
  --loader-ink:#101828;
  --loader-muted:#65758b;
  --loader-line:#d8e2ee;
  --loader-soft:#f6f8fc;
  --loader-card:#ffffff;
  --loader-progress:10;
}

#loader{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(14px, 3vw, 34px)!important;
  overflow:hidden!important;
  color:var(--loader-ink)!important;
  background:
    radial-gradient(circle at 16% 12%, rgba(246,181,28,.34), transparent 25%),
    radial-gradient(circle at 84% 14%, rgba(188,17,26,.22), transparent 30%),
    radial-gradient(circle at 52% 98%, rgba(17,26,45,.13), transparent 42%),
    linear-gradient(135deg,#eef3fb 0%,#fbfcff 44%,#edf2f9 100%)!important;
  backdrop-filter:saturate(155%) blur(15px)!important;
  -webkit-backdrop-filter:saturate(155%) blur(15px)!important;
  isolation:isolate!important;
}
#loader.hidden{display:none!important;}
#loader::before,
#loader::after{
  content:""!important;
  position:absolute!important;
  pointer-events:none!important;
  z-index:-1!important;
}
#loader::before{
  width:min(920px,96vw)!important;
  height:min(920px,96vw)!important;
  border-radius:999px!important;
  background:conic-gradient(from 215deg,rgba(188,17,26,.16),rgba(246,181,28,.25),rgba(17,26,45,.11),rgba(188,17,26,.16))!important;
  filter:blur(36px)!important;
  opacity:.78!important;
  animation:evplLoaderFloat 8.5s ease-in-out infinite alternate!important;
}
#loader::after{
  inset:0!important;
  background:
    linear-gradient(rgba(17,26,45,.034) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,26,45,.034) 1px,transparent 1px)!important;
  background-size:36px 36px!important;
  mask-image:radial-gradient(circle at center,rgba(0,0,0,.78),transparent 75%)!important;
  opacity:.62!important;
}

#loader .loader-panel{
  position:relative!important;
  width:min(880px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 28px)!important;
  overflow:hidden!important;
  border-radius:32px!important;
  padding:0!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(255,255,255,.95)) padding-box,
    linear-gradient(135deg,rgba(188,17,26,.42),rgba(246,181,28,.48),rgba(15,23,42,.13)) border-box!important;
  border:1px solid transparent!important;
  box-shadow:0 38px 110px rgba(15,23,42,.25),0 14px 38px rgba(15,23,42,.11),inset 0 1px 0 rgba(255,255,255,.92)!important;
  color:var(--loader-ink)!important;
}
#loader .loader-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto 0!important;
  height:7px!important;
  background:linear-gradient(90deg,var(--loader-red),#f06424,var(--loader-gold),var(--loader-red))!important;
  background-size:240% 100%!important;
  animation:evplLoaderStripe 3s ease-in-out infinite!important;
}
#loader .loader-panel::after{
  content:""!important;
  position:absolute!important;
  right:-145px!important;
  top:-165px!important;
  width:380px!important;
  height:380px!important;
  border-radius:999px!important;
  background:radial-gradient(circle,rgba(246,181,28,.18),transparent 68%)!important;
  pointer-events:none!important;
}

#loader .loader-brand{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:17px!important;
  margin:0!important;
  padding:30px 32px 18px!important;
  color:var(--loader-ink)!important;
}
#loader .loader-brand::after{
  content:"Sistema gerencial"!important;
  justify-self:end!important;
  align-self:start!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:linear-gradient(180deg,#fff,#f7f9fc)!important;
  color:#334155!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}
#loader .laser-logo-wrap{
  position:relative!important;
  width:76px!important;
  height:76px!important;
  border-radius:24px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.94)) padding-box,linear-gradient(135deg,rgba(188,17,26,.42),rgba(246,181,28,.70)) border-box!important;
  border:1px solid transparent!important;
  box-shadow:0 17px 34px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
#loader .laser-logo-wrap::before{
  content:""!important;
  position:absolute!important;
  inset:9px!important;
  border-radius:19px!important;
  background:radial-gradient(circle,rgba(246,181,28,.24),transparent 58%)!important;
}
#loader .laser-logo{
  position:absolute!important;
  inset:50% auto auto 50%!important;
  transform:translate(-50%,-50%)!important;
  width:58px!important;
  height:58px!important;
  object-fit:contain!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  pointer-events:none!important;
}
#loader .laser-logo.base{opacity:.16!important;filter:grayscale(.12) brightness(.92)!important;}
#loader .laser-logo.reveal{opacity:1!important;filter:drop-shadow(0 12px 18px rgba(188,17,26,.21))!important;animation:evplLogoReveal 2.45s ease-in-out infinite!important;}
#loader .laser-scan{
  position:absolute!important;
  top:-20%!important;
  bottom:-20%!important;
  width:22px!important;
  left:-34%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,rgba(188,17,26,0),rgba(255,255,255,.95),rgba(246,181,28,.94),rgba(188,17,26,0))!important;
  box-shadow:0 0 18px rgba(246,181,28,.72),0 0 30px rgba(188,17,26,.38)!important;
  animation:evplLaserSweep 1.75s cubic-bezier(.22,.8,.22,1) infinite!important;
}
#loader .loader-brand-text{min-width:0!important;display:flex!important;flex-direction:column!important;gap:5px!important;line-height:1.1!important;}
#loader .loader-title{color:#111827!important;opacity:1!important;font-size:clamp(21px,3vw,30px)!important;font-weight:950!important;letter-spacing:-.045em!important;}
#loader .loader-subtitle{color:#475569!important;opacity:1!important;font-size:13px!important;font-weight:850!important;letter-spacing:.01em!important;}

.evpl-loader-pro-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  justify-self:end!important;
  align-self:end!important;
  padding:8px 11px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#172033,#111827)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  box-shadow:0 12px 22px rgba(15,23,42,.18)!important;
}
.evpl-loader-pro-badge::before{content:""!important;width:8px!important;height:8px!important;border-radius:999px!important;background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.18)!important;}
.evpl-loader-pro-badge.is-offline::before{background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.18)!important;}

#loader .loader-bar{
  position:relative!important;
  height:15px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#e5edf7!important;
  border:1px solid rgba(15,23,42,.07)!important;
  margin:0 32px 16px!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.08)!important;
}
#loader .loader-bar::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent)!important;
  transform:translateX(-100%)!important;
  animation:evplBarSheen 2s ease-in-out infinite!important;
}
#loader .loader-bar-fill{
  position:relative!important;
  height:100%!important;
  min-width:9px!important;
  width:calc(var(--loader-progress) * 1%)!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#b91019 0%,#e64b20 40%,#f6b51c 100%)!important;
  box-shadow:0 0 24px rgba(246,181,28,.42)!important;
  transition:width .30s cubic-bezier(.2,.8,.2,1)!important;
  will-change:width!important;
}
#loader .loader-row{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 32px 14px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fff8ec,#fff)!important;
  border:1px solid #ffe0aa!important;
  color:var(--loader-ink)!important;
}
#loader .spinner{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  border-radius:50%!important;
  border:4px solid rgba(246,181,28,.28)!important;
  border-top-color:var(--loader-red)!important;
  border-right-color:var(--loader-gold)!important;
  animation:spin .82s linear infinite!important;
}
#loader .loader-text{font-size:13px!important;font-weight:900!important;color:#26344d!important;opacity:1!important;line-height:1.25!important;}
#loader .loader-note{padding:0 32px 18px!important;color:#667085!important;font-size:12px!important;font-weight:720!important;line-height:1.45!important;}

.evpl-loader-pro-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr)!important;
  gap:14px!important;
  padding:0 32px 26px!important;
  position:relative!important;
  z-index:1!important;
}
.evpl-loader-pro-main,
.evpl-loader-pro-side,
.evpl-loader-pro-helper{
  border:1px solid #dfe7f1!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.92))!important;
  box-shadow:0 12px 26px rgba(15,23,42,.065)!important;
  min-width:0!important;
}
.evpl-loader-pro-main{padding:15px!important;}
.evpl-loader-pro-side{padding:14px!important;display:flex!important;flex-direction:column!important;gap:12px!important;}
.evpl-loader-pro-topline{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:12px!important;}
.evpl-loader-pro-label{color:#64748b!important;font-size:11px!important;font-weight:950!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
.evpl-loader-pro-percent{
  min-width:54px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#172033!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:950!important;
  box-shadow:0 10px 22px rgba(15,23,42,.16)!important;
}
.evpl-loader-pro-meter{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:14px!important;
  align-items:center!important;
  margin-bottom:12px!important;
}
.evpl-loader-pro-ring{
  width:76px!important;
  height:76px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:conic-gradient(var(--loader-red) calc(var(--loader-progress) * 1%), #e7edf5 0)!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06),0 12px 28px rgba(15,23,42,.10)!important;
  position:relative!important;
}
.evpl-loader-pro-ring::before{content:""!important;position:absolute!important;inset:9px!important;border-radius:999px!important;background:#fff!important;box-shadow:inset 0 1px 3px rgba(15,23,42,.10)!important;}
.evpl-loader-pro-ring strong{position:relative!important;z-index:1!important;color:#172033!important;font-size:15px!important;font-weight:950!important;}
.evpl-loader-pro-current{min-width:0!important;}
.evpl-loader-pro-current b{display:block!important;color:#172033!important;font-size:14px!important;font-weight:950!important;margin-bottom:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.evpl-loader-pro-current span{display:block!important;color:#667085!important;font-size:12px!important;font-weight:720!important;line-height:1.35!important;}
.evpl-loader-pro-steps{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;}
.evpl-loader-pro-step{
  position:relative!important;
  height:42px!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:0 8px!important;
  border-radius:13px!important;
  background:#f1f5fa!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:860!important;
  text-align:center!important;
  line-height:1.12!important;
  overflow:hidden!important;
}
.evpl-loader-pro-step::before{content:""!important;width:7px!important;height:7px!important;border-radius:999px!important;flex:0 0 7px!important;background:#c7d3e2!important;}
.evpl-loader-pro-step.done{background:#ecfdf3!important;color:#166534!important;}
.evpl-loader-pro-step.done::before{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.12)!important;}
.evpl-loader-pro-step.active{background:#fff5df!important;color:#8a3a00!important;box-shadow:inset 0 0 0 1px rgba(246,181,28,.28)!important;}
.evpl-loader-pro-step.active::before{background:linear-gradient(135deg,var(--loader-red),var(--loader-gold))!important;box-shadow:0 0 0 4px rgba(246,181,28,.16)!important;}
.evpl-loader-pro-step.active::after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent)!important;transform:translateX(-100%)!important;animation:evplStepSheen 1.7s ease-in-out infinite!important;}

.evpl-loader-pro-kpis{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.evpl-loader-pro-kpi{padding:11px 10px!important;border-radius:15px!important;background:#fff!important;border:1px solid #e3eaf4!important;box-shadow:0 7px 16px rgba(15,23,42,.04)!important;}
.evpl-loader-pro-kpi b{display:block!important;color:#172033!important;font-size:15px!important;font-weight:950!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.evpl-loader-pro-kpi span{display:block!important;margin-top:4px!important;color:#718096!important;font-size:10.3px!important;font-weight:860!important;letter-spacing:.06em!important;text-transform:uppercase!important;}
.evpl-loader-pro-mini{display:grid!important;gap:6px!important;padding:12px!important;border-radius:16px!important;background:#f8fafc!important;border:1px solid #e4ebf5!important;}
.evpl-loader-pro-line{height:8px!important;border-radius:999px!important;background:linear-gradient(90deg,#e6edf6 0%,#f8fafc 45%,#e6edf6 100%)!important;background-size:180% 100%!important;animation:evplMiniScan 1.35s ease-in-out infinite!important;}
.evpl-loader-pro-line:nth-child(2){width:90%!important;animation-delay:.08s!important;}
.evpl-loader-pro-line:nth-child(3){width:72%!important;animation-delay:.16s!important;}
.evpl-loader-pro-line:nth-child(4){width:96%!important;animation-delay:.24s!important;}
.evpl-loader-pro-line:nth-child(5){width:64%!important;animation-delay:.32s!important;}
.evpl-loader-pro-chips{display:flex!important;flex-wrap:wrap!important;gap:6px!important;}
.evpl-loader-pro-chip{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:25px!important;padding:0 9px!important;border-radius:999px!important;background:#fff!important;border:1px solid #e3eaf4!important;color:#475569!important;font-size:10.8px!important;font-weight:850!important;}
.evpl-loader-pro-chip::before{content:""!important;width:7px!important;height:7px!important;border-radius:999px!important;background:#22c55e!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)!important;}
.evpl-loader-pro-chip.offline::before{background:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.14)!important;}
.evpl-loader-pro-chip.warn::before{background:#f59e0b!important;box-shadow:0 0 0 3px rgba(245,158,11,.16)!important;}
.evpl-loader-pro-tech{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;color:#667085!important;font-size:11px!important;font-weight:760!important;line-height:1.35!important;}
.evpl-loader-pro-version{flex:0 0 auto!important;color:#172033!important;font-weight:950!important;}
.evpl-loader-pro-helper{grid-column:1 / -1!important;display:none!important;padding:12px!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.evpl-loader-pro-helper.show{display:flex!important;}
.evpl-loader-pro-helper-text{min-width:0!important;color:#475569!important;font-size:12px!important;font-weight:760!important;line-height:1.38!important;}
.evpl-loader-pro-helper-text b{display:block!important;color:#172033!important;font-weight:950!important;margin-bottom:2px!important;}
.evpl-loader-pro-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.evpl-loader-pro-action{height:30px!important;border-radius:10px!important;border:1px solid #d7e0ec!important;background:#fff!important;color:#24324a!important;font-size:11px!important;font-weight:900!important;padding:0 10px!important;cursor:pointer!important;box-shadow:0 6px 14px rgba(15,23,42,.05)!important;}
.evpl-loader-pro-action.primary{background:linear-gradient(135deg,var(--loader-red),var(--loader-red-2))!important;border-color:var(--loader-red)!important;color:#fff!important;}
body.evpl-loader-closing #loader .loader-panel{animation:evplLoaderClose .30s ease both!important;}

@keyframes evplLoaderFloat{from{transform:translate3d(-3%,-2%,0) rotate(0deg) scale(1)}to{transform:translate3d(3%,2%,0) rotate(16deg) scale(1.03)}}
@keyframes evplLoaderStripe{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes evplLogoReveal{0%,100%{clip-path:inset(0 0 0 0);transform:translate(-50%,-50%) scale(1)}50%{clip-path:inset(0 0 0 34%);transform:translate(-50%,-50%) scale(1.025)}}
@keyframes evplLaserSweep{0%{left:-36%;opacity:0}15%{opacity:1}76%{opacity:1}100%{left:124%;opacity:0}}
@keyframes evplBarSheen{0%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
@keyframes evplStepSheen{0%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
@keyframes evplMiniScan{0%{background-position:0 0}100%{background-position:180% 0}}
@keyframes evplLoaderClose{to{opacity:0;transform:translateY(12px) scale(.985)}}
@keyframes spin{to{transform:rotate(360deg)}}

@media (max-width:760px){
  #loader .loader-panel{width:min(94vw,560px)!important;border-radius:25px!important;}
  #loader .loader-brand{grid-template-columns:auto 1fr!important;padding:24px 20px 15px!important;gap:13px!important;}
  #loader .loader-brand::after,.evpl-loader-pro-badge{display:none!important;}
  #loader .laser-logo-wrap{width:62px!important;height:62px!important;border-radius:19px!important;}
  #loader .laser-logo{width:50px!important;height:50px!important;}
  #loader .loader-title{font-size:23px!important;}
  #loader .loader-bar{height:12px!important;margin:0 20px 13px!important;}
  #loader .loader-row{margin:0 20px 12px!important;padding:11px 12px!important;}
  #loader .loader-note{padding:0 20px 16px!important;}
  .evpl-loader-pro-shell{grid-template-columns:1fr!important;padding:0 20px 19px!important;gap:12px!important;}
  .evpl-loader-pro-side{display:none!important;}
  .evpl-loader-pro-meter{grid-template-columns:1fr!important;}
  .evpl-loader-pro-ring{display:none!important;}
  .evpl-loader-pro-steps{grid-template-columns:1fr!important;gap:5px!important;}
  .evpl-loader-pro-step{height:30px!important;justify-content:flex-start!important;text-align:left!important;font-size:12px!important;}
  .evpl-loader-pro-helper.show{display:block!important;}
  .evpl-loader-pro-actions{justify-content:flex-start!important;margin-top:9px!important;}
}
@media (max-height:620px){
  #loader .loader-note{display:none!important;}
  .evpl-loader-pro-side{display:none!important;}
  .evpl-loader-pro-shell{grid-template-columns:1fr!important;}
  #loader .loader-brand{padding-top:21px!important;}
  .evpl-loader-pro-meter{margin-bottom:9px!important;}
  .evpl-loader-pro-step{height:31px!important;}
}
@media (prefers-color-scheme:dark){
  #loader{background:radial-gradient(circle at 20% 12%,rgba(246,181,28,.16),transparent 26%),radial-gradient(circle at 86% 16%,rgba(188,17,26,.16),transparent 30%),linear-gradient(135deg,#080d18,#111827 48%,#0b1220)!important;}
  #loader::after{opacity:.22!important;}
  #loader .loader-panel{background:linear-gradient(180deg,rgba(17,24,39,.98),rgba(15,23,42,.96)) padding-box,linear-gradient(135deg,rgba(188,17,26,.50),rgba(246,181,28,.45),rgba(148,163,184,.22)) border-box!important;color:#f8fafc!important;}
  #loader .loader-brand::after,.evpl-loader-pro-main,.evpl-loader-pro-side,.evpl-loader-pro-helper,.evpl-loader-pro-kpi,.evpl-loader-pro-chip{background:rgba(15,23,42,.82)!important;border-color:rgba(148,163,184,.22)!important;}
  #loader .loader-row{background:rgba(127,29,29,.22)!important;border-color:rgba(246,181,28,.20)!important;}
  #loader .loader-title,#loader .loader-text,.evpl-loader-pro-kpi b,.evpl-loader-pro-current b,.evpl-loader-pro-ring strong,.evpl-loader-pro-version,.evpl-loader-pro-helper-text b{color:#f8fafc!important;}
  #loader .loader-subtitle,#loader .loader-note,.evpl-loader-pro-label,.evpl-loader-pro-tech,.evpl-loader-pro-helper-text,.evpl-loader-pro-current span{color:#cbd5e1!important;}
  #loader .loader-bar{background:rgba(148,163,184,.22)!important;}
  .evpl-loader-pro-ring::before{background:#111827!important;}
  .evpl-loader-pro-step{background:rgba(30,41,59,.85)!important;color:#cbd5e1!important;}
  .evpl-loader-pro-step.active{background:rgba(127,29,29,.34)!important;color:#fff7ed!important;}
  .evpl-loader-pro-step.done{background:rgba(20,83,45,.28)!important;color:#bbf7d0!important;}
}
@media (prefers-reduced-motion:reduce){
  #loader::before,#loader .loader-panel::before,#loader .laser-logo.reveal,#loader .laser-scan,#loader .loader-bar::before,#loader .spinner,.evpl-loader-pro-step.active::after,.evpl-loader-pro-line{animation:none!important;}
  #loader .loader-bar-fill{transition:none!important;}
}
