/* PHILADONF AUDIT SUITE V3.1.0 R6.21 R6 R12 R5 R11 R5 R1
   SATELLITE VISIBLE MOTION FIX - CSS/SVG only, no auth logic */
.as-login-satellite-stage-r1{
  position:fixed;inset:0;z-index:3;width:100vw;height:100vh;
  pointer-events:none;overflow:visible;opacity:1;
}
.as-login-satellite-stage-r1 .as-orbit{
  fill:none;stroke:rgba(79,205,255,.24);stroke-width:1.15;
  stroke-dasharray:10 18;vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 3px rgba(64,194,255,.26));
  animation:asOrbitFlowR1 7s linear infinite;
}
.as-login-satellite-stage-r1 .as-orbit-2{stroke:rgba(103,131,255,.22);stroke-dasharray:7 20;animation-duration:9s;animation-direction:reverse}
.as-login-satellite-stage-r1 .as-orbit-3{stroke:rgba(71,234,225,.18);stroke-dasharray:4 23;animation-duration:11s}
.as-login-satellite-stage-r1 .as-sat-body{fill:#d9fbff;stroke:#58cfff;stroke-width:1;vector-effect:non-scaling-stroke}
.as-login-satellite-stage-r1 .as-sat-core{fill:#173f72;stroke:#91ecff;stroke-width:.8;vector-effect:non-scaling-stroke}
.as-login-satellite-stage-r1 .as-sat-panel{fill:#315aff;stroke:#74dfff;stroke-width:.8;vector-effect:non-scaling-stroke}
.as-login-satellite-stage-r1 .as-sat-panel-line{stroke:rgba(220,251,255,.72);stroke-width:.55;vector-effect:non-scaling-stroke}
.as-login-satellite-stage-r1 .as-sat{
  filter:drop-shadow(0 0 4px rgba(126,238,255,.95)) drop-shadow(0 0 12px rgba(49,115,255,.72));
}
.as-login-satellite-stage-r1 .as-beacon{fill:#c9fdff;filter:drop-shadow(0 0 6px #75efff)}
.as-login-satellite-stage-r1 .as-radio{fill:none;stroke:#91f5ff;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.9}
.as-login-satellite-stage-r1 .as-globe-halo{
  fill:none;stroke:rgba(82,225,255,.16);stroke-width:1.2;vector-effect:non-scaling-stroke;
  stroke-dasharray:3 11;animation:asOrbitFlowR1 5s linear infinite reverse;
  filter:drop-shadow(0 0 6px rgba(59,180,255,.22));
}
body.as-login-page .as-auth-card{
  animation:asCardBreathR1 4.8s ease-in-out infinite!important;
}
body.as-login-page .as-auth-card::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;z-index:8;
  background:linear-gradient(105deg,transparent 0 37%,rgba(113,236,255,.11) 48%,rgba(88,111,255,.08) 53%,transparent 64% 100%);
  background-size:220% 100%;background-position:180% 0;
  animation:asCardSweepR1 5.6s ease-in-out infinite;
  mix-blend-mode:screen;opacity:.8;
}
@keyframes asOrbitFlowR1{to{stroke-dashoffset:-112}}
@keyframes asCardBreathR1{
  0%,100%{box-shadow:0 38px 110px rgba(0,0,0,.54),0 0 0 1px rgba(255,255,255,.026) inset,0 0 50px rgba(26,122,255,.09)}
  50%{box-shadow:0 38px 110px rgba(0,0,0,.54),0 0 0 1px rgba(255,255,255,.04) inset,0 0 86px rgba(38,188,255,.20)}
}
@keyframes asCardSweepR1{0%,20%{background-position:180% 0;opacity:0}42%{opacity:.9}72%,100%{background-position:-80% 0;opacity:0}}
@media(max-width:900px){
  .as-login-satellite-stage-r1{opacity:.62}
  .as-login-satellite-stage-r1 .as-orbit{stroke-opacity:.45}
}
@media(max-width:700px){
  .as-login-satellite-stage-r1{display:none}
  body.as-login-page .as-auth-card{animation:asCardBreathR1 7s ease-in-out infinite!important}
}
@media(prefers-reduced-motion:reduce){
  /* User explicitly requested a dynamic login: keep movement, but make it slower/softer. */
  .as-login-satellite-stage-r1 .as-orbit{animation-duration:18s!important}
  body.as-login-page .as-auth-card{animation-duration:10s!important}
  body.as-login-page .as-auth-card::after{animation-duration:12s!important}
}
