/* Admin "aurora" background — code-drawn replacement for the background
   video (915KB mp4 + a hardware decoder that could fail black). Five
   brand-color glows on staggered drift loops, each breathing on its own
   rhythm. Pure CSS, GPU-composited, ~1.5KB. Tuned to read through the
   75% .admin-video-overlay. */

body.video-background-body {
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
  background: #0a0a0a;
}

.admin-aurora-background {
  position: fixed;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  pointer-events: none;
}

.admin-aurora-background .blob {
  position: absolute;
  width: 55vmax;
  height: 55vmax;
  border-radius: 50%;
  filter: blur(70px);
  will-change: transform, opacity;
}

.admin-aurora-background .b1 {
  background: radial-gradient(circle, rgba(1,164,166,0.85) 0%, transparent 65%);
  top: -12%; left: -8%;
  animation: aurora-drift1 19s ease-in-out infinite alternate, aurora-breathe 7s ease-in-out infinite;
}
.admin-aurora-background .b2 {
  background: radial-gradient(circle, rgba(95,225,212,0.55) 0%, transparent 65%);
  bottom: -18%; right: -10%;
  animation: aurora-drift2 23s ease-in-out infinite alternate, aurora-breathe 9s ease-in-out infinite 1.5s;
}
.admin-aurora-background .b3 {
  background: radial-gradient(circle, rgba(252,114,68,0.42) 0%, transparent 65%);
  top: 30%; left: 45%;
  animation: aurora-drift3 29s ease-in-out infinite alternate, aurora-breathe 11s ease-in-out infinite 3s;
}
.admin-aurora-background .b4 {
  width: 34vmax; height: 34vmax;
  background: radial-gradient(circle, rgba(44,196,187,0.6) 0%, transparent 65%);
  top: 55%; left: -6%;
  animation: aurora-drift4 15s ease-in-out infinite alternate, aurora-breathe 6s ease-in-out infinite 0.8s;
}
.admin-aurora-background .b5 {
  width: 28vmax; height: 28vmax;
  background: radial-gradient(circle, rgba(255,182,119,0.4) 0%, transparent 65%);
  top: -8%; right: 18%;
  animation: aurora-drift5 17s ease-in-out infinite alternate, aurora-breathe 8s ease-in-out infinite 2.2s;
}

@keyframes aurora-drift1 { from { transform: translate(0,0) scale(1) rotate(0deg); }    to { transform: translate(22vw, 14vh) scale(1.2) rotate(12deg); } }
@keyframes aurora-drift2 { from { transform: translate(0,0) scale(1.15) rotate(0deg); } to { transform: translate(-18vw, -13vh) scale(0.85) rotate(-10deg); } }
@keyframes aurora-drift3 { from { transform: translate(0,0) scale(0.9) rotate(0deg); }  to { transform: translate(-14vw, 18vh) scale(1.25) rotate(8deg); } }
@keyframes aurora-drift4 { from { transform: translate(0,0) scale(1); }                 to { transform: translate(26vw, -16vh) scale(1.3); } }
@keyframes aurora-drift5 { from { transform: translate(0,0) scale(1.1); }               to { transform: translate(-20vw, 20vh) scale(0.8); } }
@keyframes aurora-breathe { 0%, 100% { opacity: 0.30; } 50% { opacity: 0.55; } }

/* Blueprint grid over the aurora — fine graph-paper lattice with stronger
   major lines every 5 cells, radially faded so it reads as etched texture
   (forge/schematic theme) rather than a printed overlay. */
.admin-aurora-background .blueprint {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(150,220,220,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150,220,220,0.05) 1px, transparent 1px),
    linear-gradient(rgba(150,220,220,0.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150,220,220,0.11) 1px, transparent 1px);
  background-size: 28px 28px, 28px 28px, 140px 140px, 140px 140px;
  -webkit-mask-image: radial-gradient(ellipse 85% 80% at 50% 45%, black 40%, transparent 100%);
  mask-image: radial-gradient(ellipse 85% 80% at 50% 45%, black 40%, transparent 100%);
}

@media (prefers-reduced-motion: reduce) {
  .admin-aurora-background .blob { animation: none; opacity: 0.4; }
}

/* 75% darkening overlay above the aurora, below the content. */
.admin-video-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  z-index: -1;
}
