/* Indicador de atualização exclusivo do painel comercial da Sul Solar.
   O elemento é inserido dentro da aba do dashboard para nunca cobrir outras áreas do SaaS. */
#tab-dashboard{ position:relative; }
#sul-dashboard-key-loader{
  --sul-loader-ink:#172033;
  --sul-loader-muted:#6f7889;
  --sul-loader-blue:#2f63f6;
  position:absolute;
  z-index:9500;
  inset:0;
  min-height:100%;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  background:radial-gradient(circle at 50% 43%,rgba(47,99,246,.13),transparent 220px),rgba(246,247,251,.86);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility 0s linear .2s;
}
#sul-dashboard-key-loader.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .2s ease;
}
#sul-dashboard-key-loader::before{
  content:"";
  position:absolute;
  inset:-25%;
  z-index:-1;
  background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.54) 50%,transparent 58%);
  transform:translateX(-48%);
  animation:sul-dashboard-loader-sheen 2.8s ease-in-out infinite;
}
.sul-dashboard-loader__content{
  display:grid;
  justify-items:center;
  gap:8px;
  color:var(--sul-loader-ink);
  text-align:center;
}
.sul-dashboard-loader__halo{
  width:108px;
  height:108px;
  display:grid;
  place-items:center;
  position:relative;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.98) 0 50%,rgba(255,255,255,.48) 51% 100%);
  box-shadow:0 20px 46px rgba(47,99,246,.18),inset 0 0 0 1px rgba(47,99,246,.10);
}
.sul-dashboard-loader__halo::before{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(47,99,246,.18);
  border-radius:inherit;
  animation:sul-dashboard-loader-pulse 1.7s ease-in-out infinite;
}
.sul-dashboard-loader__mark{width:78px;height:78px;overflow:visible}
.sul-dashboard-loader__orbit{
  stroke:rgba(47,99,246,.45);
  stroke-width:2;
  stroke-dasharray:7 9;
  transform-origin:40px 40px;
  animation:sul-dashboard-loader-orbit 1.7s linear infinite;
}
.sul-dashboard-loader__key{
  transform-origin:40px 40px;
  animation:sul-dashboard-loader-key-float 1.35s ease-in-out infinite;
}
.sul-dashboard-loader__ring,
.sul-dashboard-loader__stem{
  stroke:var(--sul-loader-blue);
  stroke-width:4.3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:100;
  stroke-dashoffset:100;
  animation:sul-dashboard-loader-key-trace 1.35s cubic-bezier(.65,0,.35,1) infinite;
}
.sul-dashboard-loader__stem{animation-delay:.12s}
.sul-dashboard-loader__core{
  fill:var(--sul-loader-blue);
  transform-origin:40px 23px;
  animation:sul-dashboard-loader-key-core 1.35s ease-in-out infinite;
}
.sul-dashboard-loader__content strong{
  margin-top:6px;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
}
.sul-dashboard-loader__content span{color:var(--sul-loader-muted);font-size:12px;font-weight:600}
@keyframes sul-dashboard-loader-orbit{to{transform:rotate(360deg)}}
@keyframes sul-dashboard-loader-key-trace{
  0%{stroke-dashoffset:100;opacity:.35}
  45%{stroke-dashoffset:0;opacity:1}
  78%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:-15;opacity:.45}
}
@keyframes sul-dashboard-loader-key-core{
  0%,100%{transform:scale(.62);opacity:.28}
  52%{transform:scale(1);opacity:1}
}
@keyframes sul-dashboard-loader-key-float{
  0%,100%{transform:translateY(2px)}
  50%{transform:translateY(-2px)}
}
@keyframes sul-dashboard-loader-pulse{
  0%,100%{transform:scale(.94);opacity:.28}
  50%{transform:scale(1.08);opacity:.75}
}
@keyframes sul-dashboard-loader-sheen{
  0%,28%{transform:translateX(-48%);opacity:0}
  48%{opacity:1}
  72%,100%{transform:translateX(48%);opacity:0}
}
body:not(.theme-light) #sul-dashboard-key-loader{
  --sul-loader-ink:#edf2fb;
  --sul-loader-muted:#a4afc0;
  background:radial-gradient(circle at 50% 43%,rgba(75,129,255,.19),transparent 220px),rgba(12,17,25,.88);
}
body:not(.theme-light) .sul-dashboard-loader__halo{background:radial-gradient(circle,rgba(28,37,51,.98) 0 50%,rgba(28,37,51,.56) 51% 100%)}
@media (prefers-reduced-motion:reduce){
  #sul-dashboard-key-loader *,
  #sul-dashboard-key-loader::before{animation:none!important;transition:none!important}
}
