/**
 * Admin login — Digital Sanctuary (overrides Craftable .auth defaults)
 */
body.iab-sanctuary.iab-login-page {
  font-family: var(--iab-font-body, "Inter", system-ui, sans-serif);
  background: linear-gradient(160deg, #003434 0%, #004d4c 45%, #002828 100%) !important;
}

body.iab-sanctuary.iab-login-page.header-fixed,
body.iab-sanctuary.iab-login-page.sidebar-fixed {
  padding: 0;
}

body.iab-sanctuary.iab-login-page .iab-login-backdrop {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 2rem 1rem;
}

body.iab-sanctuary.iab-login-page .auth {
  min-height: auto;
  width: 100%;
}

body.iab-sanctuary.iab-login-page .auth .card {
  border: none !important;
  border-radius: var(--iab-radius-xl, 1.5rem) !important;
  box-shadow: var(--iab-shadow-elevated, 0 12px 32px rgba(25, 28, 29, 0.08)) !important;
  background: var(--iab-surface-container-lowest, #fff) !important;
  overflow: hidden;
}

body.iab-sanctuary.iab-login-page .auth .auth-header {
  border: none !important;
  background: var(--iab-surface-container-low, #f0f4f4) !important;
  padding: 2rem 2.75rem 1.5rem !important;
}

body.iab-sanctuary.iab-login-page .auth .auth-body {
  padding: 1.5rem 2.75rem 2.75rem !important;
}

body.iab-sanctuary.iab-login-page .auth .auth-title {
  text-transform: none !important;
  color: var(--iab-on-surface, #191c1d) !important;
  font-family: var(--iab-font-display, "Manrope", system-ui, sans-serif) !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 0.5rem !important;
}

body.iab-sanctuary.iab-login-page .auth .auth-subtitle {
  text-transform: none !important;
  font-weight: 500 !important;
  color: var(--iab-on-surface-variant, #5c6263) !important;
  font-size: 0.9375rem !important;
  letter-spacing: normal !important;
}

body.iab-sanctuary.iab-login-page .auth label {
  text-transform: none !important;
  color: var(--iab-on-surface-variant, #5c6263) !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
}

body.iab-sanctuary.iab-login-page .auth .form-control {
  border: none !important;
  border-radius: var(--iab-radius-lg, 1rem) !important;
  background: var(--iab-surface-container-high, #e0e6e6) !important;
  height: auto !important;
  padding: 0.75rem 1rem !important;
  box-shadow: none !important;
}

body.iab-sanctuary.iab-login-page .auth .form-control:focus {
  box-shadow: 0 0 0 2px var(--iab-secondary, #fed488) !important;
  outline: none !important;
}

body.iab-sanctuary.iab-login-page .auth .input-group-addon {
  border: none !important;
  background: var(--iab-surface-container, #e8eded) !important;
  border-radius: var(--iab-radius-lg, 1rem) 0 0 var(--iab-radius-lg, 1rem) !important;
  min-width: 44px;
}

body.iab-sanctuary.iab-login-page .auth .input-group .form-control {
  border: none !important;
  border-left: none !important;
  border-radius: 0 var(--iab-radius-lg, 1rem) var(--iab-radius-lg, 1rem) 0 !important;
}

body.iab-sanctuary.iab-login-page .auth .has-danger .form-control,
body.iab-sanctuary.iab-login-page .auth .form-control-danger {
  border: none !important;
  box-shadow: 0 0 0 2px var(--iab-danger, #b3261e) !important;
}

body.iab-sanctuary.iab-login-page .auth .btn-primary.btn-block {
  background: linear-gradient(135deg, var(--iab-primary, #003434) 0%, var(--iab-primary-container, #004d4c) 100%) !important;
  border: none !important;
  border-radius: var(--iab-radius-xl, 1.5rem) !important;
  padding: 0.875rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

body.iab-sanctuary.iab-login-page .auth .btn-primary.btn-block:hover {
  transform: scale(1.02);
  box-shadow: var(--iab-shadow-ambient, 0 8px 24px rgba(25, 28, 29, 0.06));
}

body.iab-sanctuary.iab-login-page .auth .auth-ghost-link {
  color: var(--iab-primary, #003434) !important;
  font-weight: 500;
  text-decoration: none;
}

body.iab-sanctuary.iab-login-page .auth .auth-ghost-link:hover {
  color: var(--iab-primary-container, #004d4c) !important;
  text-decoration: underline;
}

body.iab-sanctuary.iab-login-page .iab-login-logo,
body.iab-sanctuary.iab-login-page .iab-animated-logo {
  margin: 0 auto 1.5rem;
}

/* MyAzzuha logo — square mark + gold meteor orbit on frame */
body.iab-sanctuary.iab-login-page .iab-animated-logo {
  position: relative;
  display: inline-block;
  width: 168px;
  max-width: min(168px, 72vw);
  aspect-ratio: 1;
}

body.iab-sanctuary.iab-login-page .iab-animated-logo__orbit {
  position: absolute;
  inset: -3%;
  z-index: 0;
  border-radius: 22%;
  pointer-events: none;
}

body.iab-sanctuary.iab-login-page .iab-animated-logo__meteor-spin {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  animation: iab-meteor-orbit 3.6s linear infinite;
}

body.iab-sanctuary.iab-login-page .iab-animated-logo__meteor-ring {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 3px;
  background: conic-gradient(
    from 0deg,
    transparent 0deg 248deg,
    rgba(254, 212, 136, 0.12) 268deg,
    rgba(254, 212, 136, 0.55) 292deg,
    #fff8e7 302deg,
    var(--iab-secondary, #fed488) 308deg,
    rgba(254, 212, 136, 0.35) 318deg,
    transparent 338deg,
    transparent 360deg
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  filter: drop-shadow(0 0 4px rgba(254, 212, 136, 0.95))
    drop-shadow(0 0 12px rgba(254, 212, 136, 0.55));
}

body.iab-sanctuary.iab-login-page .iab-animated-logo__meteor-ring--tail {
  inset: -2px;
  padding: 5px;
  opacity: 0.7;
  background: conic-gradient(
    from 0deg,
    transparent 0deg 228deg,
    rgba(254, 212, 136, 0.06) 252deg,
    rgba(254, 212, 136, 0.28) 278deg,
    rgba(254, 212, 136, 0.12) 305deg,
    transparent 332deg,
    transparent 360deg
  );
  filter: blur(5px) drop-shadow(0 0 20px rgba(254, 212, 136, 0.5));
}

body.iab-sanctuary.iab-login-page .iab-animated-logo__glow {
  position: absolute;
  inset: -14%;
  z-index: 0;
  border-radius: 24%;
  background: radial-gradient(
    ellipse at 50% 48%,
    rgba(254, 212, 136, 0.28) 0%,
    rgba(0, 77, 76, 0.18) 42%,
    transparent 72%
  );
  animation: iab-logo-glow 3.5s ease-in-out infinite;
  pointer-events: none;
}

body.iab-sanctuary.iab-login-page .iab-animated-logo__img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 18%;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.28));
  animation: iab-logo-float 4.5s ease-in-out infinite;
  transform-origin: center center;
}

@keyframes iab-logo-float {
  0%,
  100% {
    transform: translateY(0) scale(1) perspective(520px) rotateY(0deg);
  }
  50% {
    transform: translateY(-8px) scale(1.03) perspective(520px) rotateY(6deg);
  }
}

@keyframes iab-logo-glow {
  0%,
  100% {
    opacity: 0.55;
    transform: scale(0.92);
  }
  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes iab-meteor-orbit {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.iab-sanctuary.iab-login-page .iab-animated-logo__img,
  body.iab-sanctuary.iab-login-page .iab-animated-logo__glow,
  body.iab-sanctuary.iab-login-page .iab-animated-logo__meteor-spin {
    animation: none !important;
  }

  body.iab-sanctuary.iab-login-page .iab-animated-logo__meteor-ring {
    background: conic-gradient(
      from 45deg,
      transparent 0deg 300deg,
      rgba(254, 212, 136, 0.45) 320deg,
      transparent 360deg
    );
  }

  body.iab-sanctuary.iab-login-page .iab-animated-logo__img {
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
  }
}
