#aipe-deadline-compression-loader {
  --aipe-dlc-progress: 0%;
  position: fixed;
  inset: 0;
  z-index: 2147482400;
  display: grid;
  place-items: center;
  padding: 24px;
  /* Cheap dim scrim instead of a full-viewport backdrop-filter blur. The blur was
     re-computed over the ENTIRE page (a huge Gantt) on every repaint — ~350ms per
     paint even on a light page, minutes of overhead on a real schedule. A plain
     semi-opaque scrim composites almost for free, so progress paints cost nothing.
     The card itself is an opaque panel, so the look is nearly unchanged. */
  background:
    linear-gradient(135deg, rgba(246, 241, 231, .55), rgba(12, 28, 51, .5)),
    rgba(8, 18, 33, .55);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
}

#aipe-deadline-compression-loader.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

#aipe-deadline-compression-loader .aipe-dlc-glass {
  width: min(560px, calc(100vw - 40px));
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 18px;
  color: #0d2038;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(248, 244, 236, .78)),
    rgba(255, 255, 255, .7);
  box-shadow:
    0 26px 80px rgba(4, 19, 36, .28),
    0 1px 0 rgba(255, 255, 255, .7) inset;
}

#aipe-deadline-compression-loader .aipe-dlc-orbit {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 112px;
  min-height: 112px;
}

#aipe-deadline-compression-loader .aipe-dlc-orbit::before,
#aipe-deadline-compression-loader .aipe-dlc-orbit::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

#aipe-deadline-compression-loader .aipe-dlc-orbit::before {
  width: 126px;
  height: 126px;
  border: 1px solid rgba(13, 32, 56, .1);
  background: radial-gradient(circle, rgba(202, 162, 81, .18), transparent 58%);
}

#aipe-deadline-compression-loader .aipe-dlc-orbit::after {
  width: 132px;
  height: 132px;
  border-top: 2px solid rgba(202, 162, 81, .9);
  border-right: 2px solid transparent;
  animation: aipeDlcSpin 1.05s linear infinite;
}

#aipe-deadline-compression-loader .aipe-dlc-ring {
  position: relative;
  width: 102px;
  height: 102px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    conic-gradient(#c99336 var(--aipe-dlc-progress), rgba(13, 32, 56, .1) 0),
    linear-gradient(145deg, #ffffff, #efe7d8);
  box-shadow: 0 14px 34px rgba(13, 32, 56, .16);
}

#aipe-deadline-compression-loader .aipe-dlc-ring::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: inherit;
  background: linear-gradient(145deg, #fffdf9, #f4efe4);
  box-shadow: inset 0 0 0 1px rgba(13, 32, 56, .08);
}

#aipe-deadline-compression-loader .aipe-dlc-percent {
  position: relative;
  z-index: 1;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  color: #0d2038;
  font-variant-numeric: tabular-nums;
}

#aipe-deadline-compression-loader .aipe-dlc-copy {
  min-width: 0;
}

#aipe-deadline-compression-loader .aipe-dlc-eyebrow {
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9b6b1f;
}

#aipe-deadline-compression-loader .aipe-dlc-title {
  font-size: 22px;
  font-weight: 900;
  line-height: 1.12;
  color: #0b1d34;
}

#aipe-deadline-compression-loader .aipe-dlc-phase {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  color: #183451;
}

#aipe-deadline-compression-loader .aipe-dlc-message {
  margin-top: 5px;
  min-height: 20px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: #607087;
}

#aipe-deadline-compression-loader .aipe-dlc-bar {
  position: relative;
  height: 8px;
  margin-top: 16px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(13, 32, 56, .1);
}

#aipe-deadline-compression-loader .aipe-dlc-bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c99336, #38a878);
  box-shadow: 0 0 18px rgba(56, 168, 120, .36);
  transition: width .24s ease;
}

#aipe-deadline-compression-loader .aipe-dlc-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

#aipe-deadline-compression-loader .aipe-dlc-stats span {
  min-width: 0;
  padding: 6px 9px;
  border: 1px solid rgba(13, 32, 56, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .62);
  color: #28415d;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

#aipe-deadline-compression-loader.is-finishing .aipe-dlc-bar span {
  background: linear-gradient(90deg, #38a878, #2d8f68);
}

#aipe-deadline-compression-loader.has-error .aipe-dlc-eyebrow,
#aipe-deadline-compression-loader.has-error .aipe-dlc-phase {
  color: #b33333;
}

#aipe-deadline-compression-loader.has-error .aipe-dlc-bar span {
  background: linear-gradient(90deg, #d75b5b, #b33333);
}

@keyframes aipeDlcSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 620px) {
  #aipe-deadline-compression-loader {
    padding: 16px;
  }

  #aipe-deadline-compression-loader .aipe-dlc-glass {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    padding: 20px;
  }

  #aipe-deadline-compression-loader .aipe-dlc-copy {
    width: 100%;
  }

  #aipe-deadline-compression-loader .aipe-dlc-stats {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  #aipe-deadline-compression-loader,
  #aipe-deadline-compression-loader *,
  #aipe-deadline-compression-loader *::before,
  #aipe-deadline-compression-loader *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
