/* Import progress represents actual local file work; no synthetic percentages. */
.im-processing{display:grid;gap:14px;margin:17px 0 6px;padding:15px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 65%,var(--surface))}
.im-processing[hidden],.im-skeleton[hidden]{display:none}
.im-status{display:flex;align-items:center;gap:9px;min-width:0}
.im-status strong{font-size:13px;font-weight:550;line-height:1.5;color:var(--text)}
.im-spinner{display:block;width:17px;height:17px;flex:none;border:1.5px solid color-mix(in srgb,var(--lime) 20%,transparent);border-top-color:var(--lime);border-radius:50%;animation:im-spin 900ms linear infinite}
.im-stages{list-style:none;display:grid;gap:8px;padding:0;margin:0;counter-reset:import-stage}
.im-stages li{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5;color:var(--muted);counter-increment:import-stage}
.im-stages li:before{content:counter(import-stage);display:grid;place-items:center;flex:none;width:19px;height:19px;border:1px solid var(--line);border-radius:50%;font-size:10px;line-height:1}
.im-stages .is-current{color:var(--text)}
.im-stages .is-current:before{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 55%,var(--line));background:color-mix(in srgb,var(--lime) 8%,transparent)}
.im-stages .is-complete:before{content:'✓';color:var(--lime);border-color:transparent}
.im-skeleton{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.im-skeleton span{display:block;height:11px;border-radius:4px;background:linear-gradient(90deg,var(--elevated) 25%,color-mix(in srgb,var(--text) 9%,var(--elevated)) 50%,var(--elevated) 75%);background-size:220% 100%;animation:im-shimmer 1600ms ease-in-out infinite}
.im-skeleton span:nth-child(2){width:85%}.im-skeleton span:nth-child(3){width:62%}
.import-drop[aria-busy=true]{border-color:color-mix(in srgb,var(--lime) 45%,var(--line))}
.import-preview{scroll-margin-top:16px}
@keyframes im-spin{to{transform:rotate(360deg)}}
@keyframes im-shimmer{from{background-position:180% 0}to{background-position:-40% 0}}
[data-motion=reduced] .im-spinner,[data-motion=reduced] .im-skeleton span{animation:none}
@media(prefers-reduced-motion:reduce){.im-spinner,.im-skeleton span{animation:none}}
@media print{.im-processing{display:none}}
