/* Login → Dashboard: fast crossfade (~220ms), no submit delay */

/* ─── Auth exit (plays during network, does not block submit) ─── */
.dm-auth-page.dm-auth-exiting::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 11;
  background: linear-gradient(
    165deg,
    rgba(30, 45, 110, 0.35) 0%,
    rgba(16, 24, 40, 0.2) 100%
  );
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.dm-auth-page.dm-auth-exiting .dm-auth-glass {
  opacity: 0;
  transform: scale(0.98) translateY(6px);
  filter: blur(2px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    filter 0.2s ease;
}

.dm-auth-page.dm-auth-exiting .dm-auth-topbar {
  opacity: 0;
  transition: opacity 0.15s ease;
}

.dm-auth-page.dm-auth-exiting .dm-auth-bg__img {
  filter: blur(8px) brightness(0.88);
  transform: scale(1.03);
  transition:
    filter 0.22s ease,
    transform 0.22s ease;
}

/* ─── App enter: single quick overlay dissolve ─── */
.dm-app-enter {
  position: fixed;
  inset: 0;
  z-index: 10050;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.22s ease;
}

html.dm-handoff-pending .dm-app-enter {
  opacity: 1;
}

.dm-app-enter__bg {
  position: absolute;
  inset: -4%;
  width: 108%;
  height: 108%;
  object-fit: cover;
  object-position: center;
  filter: blur(12px) brightness(0.82);
  transform: scale(1.02);
}

.dm-app-enter__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(30, 45, 110, 0.3) 0%,
    rgba(245, 246, 248, 0.65) 45%,
    var(--dm-bg, #f5f6f8) 100%
  );
}

[data-theme="dark"] .dm-app-enter__veil {
  background: linear-gradient(
    180deg,
    rgba(30, 45, 110, 0.45) 0%,
    rgba(7, 11, 22, 0.78) 45%,
    var(--dm-bg, #070b16) 100%
  );
}

html.dm-handoff-ready .dm-app-enter {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .dm-auth-page.dm-auth-exiting::after,
  .dm-auth-page.dm-auth-exiting .dm-auth-glass,
  .dm-auth-page.dm-auth-exiting .dm-auth-topbar,
  .dm-auth-page.dm-auth-exiting .dm-auth-bg__img,
  .dm-app-enter {
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
}
