.document-progress{margin:16px 0;padding:18px;border:1px solid var(--line,#dedede);border-radius:14px;background:var(--surface,#fff)}
.document-progress-head{display:flex;align-items:center;gap:12px;min-height:30px}.document-progress-head strong{flex:1;font-size:14px}.document-progress-head [data-progress-count]{white-space:nowrap}
.document-progress-ring{width:24px;height:24px;flex:0 0 24px;border:2px solid #ddd;border-top-color:#111;border-radius:50%;animation:document-spin 1s linear infinite}
.document-progress ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;margin:18px 0 0;padding:0;list-style:none}.document-progress li{display:flex;gap:8px;align-items:center;font-size:12px;color:#888}.document-progress-dot{width:9px;height:9px;border:1px solid #bbb;border-radius:50%;flex:0 0 9px}.document-progress li.is-active{font-weight:600;color:#111}.document-progress li.is-active .document-progress-dot{background:#111;border-color:#111;animation:document-pulse 1.2s ease-in-out infinite}.document-progress li.is-complete{color:#555}.document-progress li.is-complete .document-progress-dot{background:#777;border-color:#777}.document-progress.has-error .document-progress-ring,.document-progress.is-finished .document-progress-ring{animation:none}.document-progress.has-error .document-progress-head strong{color:var(--danger,#b42318)}.document-progress.is-finished .document-progress-ring{border-color:#111}
@keyframes document-spin{to{transform:rotate(360deg)}}@keyframes document-pulse{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.document-progress-ring,.document-progress-dot{animation:none!important}}
