/* ============================================================
   APM LOGIN — FRESH PACK v3 (load SETELAH login.css)
   ============================================================ */

/* ===== BRAND kiri-atas: monogram APM (bukan logo gunungan, biar gak kembar) ===== */
.apm-brand-lock{
  display:flex; align-items:center; gap:13px; position:relative; z-index:1; margin-bottom:24px;
}
.apm-brand-lock .bl-logo{
  width:50px; height:50px; flex:0 0 50px; border-radius:14px;
  background:#fff; display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 10px 24px -10px rgba(0,0,0,.45), 0 0 0 4px rgba(255,255,255,.18);
  animation:apmLogoPop .8s .2s cubic-bezier(.18,1.5,.4,1) both;
}
.apm-brand-lock .bl-logo img{ max-width:80%; max-height:80%; object-fit:contain; }
/* monogram */
.apm-brand-lock .bl-mono{ background:linear-gradient(135deg,#1f3a93,#2f55c4); }
.apm-brand-lock .bl-mono span{
  font-weight:800; font-size:1.02rem; letter-spacing:.06em; color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
@keyframes apmLogoPop{ from{opacity:0; transform:scale(.5) rotate(-10deg);} to{opacity:1; transform:scale(1) rotate(0);} }
.apm-brand-lock .bl-text{ line-height:1.2; }
.apm-brand-lock .bl-text .bl-co{ font-size:1rem; font-weight:800; color:#fff; letter-spacing:.01em; }
.apm-brand-lock .bl-text .bl-sys{ font-size:.72rem; color:#cdd9ff; font-weight:500; margin-top:1px; }
.apm-brand-lock::after{
  content:""; position:absolute; left:0; bottom:-12px; width:46px; height:3px; border-radius:3px;
  background:linear-gradient(90deg,#ffd166,#ffb627);
}

/* ===== sparkle kecil (JS) ===== */
.apm-msp{ position:absolute; color:#ffd166; pointer-events:none; z-index:2;
  text-shadow:0 0 6px rgba(255,209,102,.9); animation:apmMspTwinkle 2.4s ease-in-out infinite; }
@keyframes apmMspTwinkle{ 0%,100%{ opacity:0; transform:scale(.4) rotate(0);} 50%{ opacity:1; transform:scale(1) rotate(40deg);} }

/* ===== INFO BOX & judul kanan ===== */
.apm-info-box{ backdrop-filter:blur(4px); }
.apm-form-title{ position:relative; display:inline-block; }
.apm-form-title::after{
  content:""; position:absolute; left:0; bottom:-4px; width:38px; height:4px; border-radius:4px;
  background:linear-gradient(90deg,#2f55c4,#e23b3b);
}

/* ===== LOGO APM gede di tengah — jarak rapi + animasi ===== */
.apm-mascot.apm-mascot-logo{
  width:150px; height:150px; margin:6px auto 18px; /* napas atas-bawah biar gak numpuk judul */
  display:grid; place-items:center; position:relative; z-index:1;
}
.apm-mascot-logo::after{ content:none !important; } /* matiin bayangan box lama */
/* aura statis (gak dianimasi blur -> ringan). Cuma muter via transform. */
.apm-mascot-logo::before{
  content:""; position:absolute; width:120%; height:120%; border-radius:50%; z-index:0;
  background:conic-gradient(from 0deg, transparent, rgba(255,209,102,.30), transparent 42%, rgba(91,130,240,.26), transparent 72%);
  opacity:.7; will-change:transform; animation:apmAura 14s linear infinite;
}
@keyframes apmAura{ to{ transform:rotate(360deg); } }
/* glow napas: cuma opacity (murah), gak pakai scale+blur */
.apm-logo-glow{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:78%; height:78%; border-radius:50%; z-index:0; pointer-events:none;
  background:radial-gradient(circle, rgba(255,255,255,.5), rgba(255,209,102,.3) 45%, transparent 68%);
  will-change:opacity; animation:apmGlowBreath 4s ease-in-out infinite;
}
@keyframes apmGlowBreath{ 0%,100%{ opacity:.35;} 50%{ opacity:.8;} }
/* logo: cuma transform (GPU murah). drop-shadow dijadiin statis biar gak ngerender tiap frame */
.apm-logo-anim{
  position:relative; z-index:2; width:90%; height:90%; object-fit:contain;
  filter:drop-shadow(0 10px 16px rgba(31,58,147,.38));
  will-change:transform; backface-visibility:hidden;
  animation:apmLogoFloat 6s ease-in-out infinite, apmLogoIn .8s .15s cubic-bezier(.18,1.5,.4,1) both;
}
@keyframes apmLogoFloat{ 0%,100%{ transform:translate3d(0,0,0);} 50%{ transform:translate3d(0,-10px,0);} }
@keyframes apmLogoIn{ from{ opacity:0; transform:scale(.7);} to{ opacity:1; transform:scale(1);} }

/* ===== jarak teks panel kiri biar lega (gak dempet) ===== */
.apm-login-left h2{ margin-top:2px !important; }
.apm-login-left p.sub{ margin-bottom:2px; }

@media (max-width:780px){
  .apm-brand-lock{ justify-content:center; }
  .apm-brand-lock::after{ left:50%; transform:translateX(-50%); }
  .apm-mascot.apm-mascot-logo{ width:120px; height:120px; margin:4px auto 14px; }
}
@media (prefers-reduced-motion:reduce){
  .apm-brand-lock .bl-logo, .apm-msp,
  .apm-mascot-logo::before, .apm-logo-glow, .apm-logo-anim{ animation:none !important; }
}

/* badge mini panji */
.apm-brand-lock .bl-pataka{ background:linear-gradient(135deg,#1f3a93,#2f55c4); }
.apm-brand-lock .bl-pataka svg{ width:74%; height:74%; }
/* sparkle: ringanin (text-shadow blur dikurangi, jumlah dibatasi via CSS) */
.apm-msp{ text-shadow:0 0 4px rgba(255,209,102,.8); }