.oc-export-progress-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  padding: 18px;
  color: var(--oc-export-ink,var(--ink,#111));
  font-family: var(--oc-export-font,Arial,"Noto Sans SC",sans-serif);
}
.oc-export-progress-overlay[hidden] { display: none !important; }
.oc-export-progress-backdrop { position: absolute; inset: 0; background: rgba(18,20,18,.66); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.oc-export-progress-card { position: relative; z-index: 1; width: min(390px,calc(100vw - 28px)); box-sizing: border-box; padding: 25px; border: 1px solid var(--oc-export-line,var(--line,#d8dad5)); border-radius: 8px; background: var(--oc-export-panel,var(--panel,#fff)); box-shadow: 0 26px 80px rgba(0,0,0,.32); text-align: center; }
.oc-export-progress-spinner { width: 42px; height: 42px; box-sizing: border-box; margin: 0 auto 14px; border: 4px solid #dedfda; border-top-color: var(--oc-export-primary,var(--primary,#111)); border-radius: 50%; animation: oc-export-progress-spin .8s linear infinite; }
.oc-export-progress-kicker { color: var(--oc-export-primary,var(--primary,#111)); font: 800 9px/1 monospace; letter-spacing: .18em; }
.oc-export-progress-title { margin: 8px 0 7px; font: 700 21px/1.25 Georgia,"Noto Serif SC",serif; }
.oc-export-progress-message { margin: 0; color: var(--oc-export-muted,var(--muted,#666)); font-size: 12px; line-height: 1.65; }
.oc-export-progress-steps { margin: 18px 0 13px; padding: 0; display: grid; gap: 7px; list-style: none; text-align: left; }
.oc-export-progress-step { position: relative; padding: 9px 11px 9px 34px; border: 1px solid var(--oc-export-line,var(--line,#d8dad5)); border-radius: 4px; color: var(--oc-export-muted,var(--muted,#666)); background: var(--oc-export-step-bg,#fff); font-size: 12px; }
.oc-export-progress-step::before { content: ""; position: absolute; left: 12px; top: 50%; width: 9px; height: 9px; box-sizing: border-box; transform: translateY(-50%); border: 2px solid #c7cac5; border-radius: 50%; }
.oc-export-progress-step.is-active { color: var(--oc-export-ink,var(--ink,#111)); border-color: #888d87; background: var(--oc-export-step-active,#f2f3ef); font-weight: 750; }
.oc-export-progress-step.is-active::before { border-color: var(--oc-export-primary,var(--primary,#111)); box-shadow: inset 0 0 0 2px #fff; background: var(--oc-export-primary,var(--primary,#111)); }
.oc-export-progress-step.is-complete { color: var(--oc-export-ink,var(--ink,#111)); }
.oc-export-progress-step.is-complete::before { content: "✓"; width: 15px; height: 15px; display: grid; place-items: center; border: 0; color: #fff; background: #4f9474; font: 800 10px/1 sans-serif; }
.oc-export-progress-note { margin: 0; color: var(--oc-export-muted,var(--muted,#666)); font-size: 10px; line-height: 1.55; }
.oc-export-progress-close { min-width: 100px; min-height: 38px; margin-top: 16px; padding: 7px 16px; border: 1px solid var(--oc-export-line,var(--line,#d8dad5)); border-radius: 4px; background: var(--oc-export-panel,var(--panel,#fff)); color: var(--oc-export-ink,var(--ink,#111)); font: 700 13px/1 sans-serif; cursor: pointer; }
.oc-export-progress-overlay.is-success .oc-export-progress-spinner { animation: none; border-color: #4f9474; background: #4f9474; }
.oc-export-progress-overlay.is-success .oc-export-progress-spinner::after { content: "✓"; display: grid; place-items: center; height: 100%; color: #fff; font: 800 22px/1 sans-serif; }
.oc-export-progress-overlay.is-error .oc-export-progress-spinner { animation: none; border-color: #b9473e; background: #b9473e; }
.oc-export-progress-overlay.is-error .oc-export-progress-spinner::after { content: "!"; display: grid; place-items: center; height: 100%; color: #fff; font: 800 22px/1 sans-serif; }
.oc-export-progress-overlay.is-error .oc-export-progress-steps { display: none; }
.oc-export-progress-overlay.is-error .oc-export-progress-note { margin-top: 12px; }
@keyframes oc-export-progress-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .oc-export-progress-spinner { animation-duration: 1.6s; } }
.oc-export-stack {
  display: grid;
  gap: 8px;
}

.oc-export-stack > button,
.oc-export-stack > .oc-pw-export-button {
  width: 100%;
  margin-block-start: 0 !important;
}
