.scan-progress{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden}.scan-progress__bar{height:3px;background:var(--bg-sunken);overflow:hidden}.scan-progress__bar-fill{height:100%;background:var(--accent);position:relative;transition:width var(--dur-3) var(--ease-out)}.scan-progress__bar-fill:after{content:"";position:absolute;right:0;top:0;bottom:0;width:28px;background:linear-gradient(90deg,transparent,var(--accent));filter:blur(1px)}.scan-progress__steps{padding:var(--space-4);display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:0}.scan-progress__step{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-small);color:var(--ink-3)}.scan-progress__step.is-done{color:var(--ink-2)}.scan-progress__step.is-active{color:var(--ink)}.scan-progress__icon{width:20px;height:20px;display:grid;place-items:center;flex:none}.scan-progress__icon .icon--done{color:var(--success)}.scan-progress__icon .icon--active{color:var(--accent-ink);animation:spin .9s linear infinite}.scan-progress__dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--line-strong)}.scan-progress__label{margin-right:auto}.scan-progress__status{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-mono-label);text-transform:uppercase;color:var(--ink-3)}.scan-progress__note{padding:0 var(--space-4) var(--space-4);margin:0}@media (prefers-reduced-motion:reduce){.scan-progress__icon .icon--active{animation:none}.scan-progress__bar-fill:after{display:none}}