/* Unified wait-state presentation.
   Long LP-generation work keeps the existing real progress state; this file only
   presents it consistently with the alternate-appeal creation modal. */

.lp-production-progress-modal {
  background: rgba(15, 23, 42, 0.34) !important;
  backdrop-filter: none !important;
  padding: 24px !important;
}

.lp-production-progress-card {
  width: min(360px, calc(100vw - 48px)) !important;
  box-sizing: border-box !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.22) !important;
  text-align: center !important;
}

.lp-production-progress-card > strong {
  display: block !important;
  margin: 0 0 14px !important;
  color: var(--ink, #0f172a) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

.lp-production-progress-track {
  height: 10px !important;
  border-radius: 999px !important;
  background: #e8edf3 !important;
}

.lp-production-progress-track > span {
  background: var(--accent, #00d9c0) !important;
  transition: width 280ms ease !important;
}

.unified-wait-progress-value {
  display: block;
  min-height: 18px;
  margin-top: 9px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  font-variant-numeric: tabular-nums;
}

.unified-wait-progress-value[hidden] {
  display: none !important;
}

.lp-production-progress-recovery {
  margin-top: 12px !important;
}

.lp-production-progress-recovery > p {
  display: none !important;
}

/* The alternate-appeal flow already uses the desired visual language. Keep its
   native progress bar consistent with the shared LP progress bar. */
[data-campaign-create-progress] progress {
  width: 100% !important;
  height: 10px !important;
  accent-color: var(--accent, #00d9c0);
}

/* Login/bootstrap: keep the guard opaque from the first frame so the temporary
   zero-project workspace can never show through. Hide only the card contents at
   first; if checking lasts 800ms, reveal the logo without any Japanese status text. */
#shunlp-project-bootstrap-guard:not([data-project-bootstrap-ux]) {
  opacity: 1 !important;
}

#shunlp-project-bootstrap-guard:not([data-project-bootstrap-ux]) [data-project-bootstrap-card] {
  opacity: 0 !important;
}

#shunlp-project-bootstrap-guard[data-project-bootstrap-ux="checking"] {
  opacity: 1 !important;
  animation: none !important;
}

#shunlp-project-bootstrap-guard[data-project-bootstrap-ux="checking"] [data-project-bootstrap-card] {
  width: auto !important;
  padding: 18px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  animation: shunlpQuietBootstrapCardReveal 1ms linear 800ms forwards !important;
}

#shunlp-project-bootstrap-guard[data-project-bootstrap-ux="checking"] [data-project-bootstrap-card] > img {
  height: 58px !important;
  margin: 0 !important;
}

#shunlp-project-bootstrap-guard[data-project-bootstrap-ux="checking"] [data-project-bootstrap-title],
#shunlp-project-bootstrap-guard[data-project-bootstrap-ux="checking"] [data-project-bootstrap-message] {
  display: none !important;
}

#shunlp-project-bootstrap-guard[data-project-bootstrap-ux="message"] {
  opacity: 1 !important;
  animation: none !important;
}

#shunlp-project-bootstrap-guard[data-project-bootstrap-ux="message"] [data-project-bootstrap-card] {
  opacity: 1 !important;
  animation: none !important;
}

@keyframes shunlpQuietBootstrapCardReveal {
  to { opacity: 1; }
}
