.steps { display: flex; list-style: none; padding: 0; margin: 0 0 16px; counter-reset: s; flex-wrap: wrap; }
.steps li { counter-increment: s; display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-3); font-weight: 550; padding-right: 14px; }
.steps li::before { content: counter(s); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--line-2); font-family: var(--font-mono); font-size: 11px; }
.steps li:not(:last-child)::after { content: ""; width: 34px; height: 1.5px; background: var(--line-2); margin-left: 6px; }
.steps li.done { color: var(--ink-2); }
.steps li.done::before { content: "✓"; background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.steps li.cur { color: var(--ink); }
.steps li.cur::before { border-color: var(--ink); color: var(--ink); }
.imp-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 18px; align-items: start; }
.drop { display: grid; place-items: center; text-align: center; gap: 10px; padding: 24px 14px; border: 1.5px dashed var(--line-2); border-radius: 10px; color: var(--ink-2); font-size: 13px; }
.drop small { color: var(--ink-3); }
.csv-peek { margin: 0; padding: 10px 12px; border-radius: 8px; background: var(--surface-2); font-family: var(--font-mono); font-size: 10.5px; line-height: 1.6; color: var(--ink-2); overflow-x: auto; white-space: pre; }
.imp-right { overflow: hidden; }
.imp-sum { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.imp-sum .k { display: grid; }
.imp-sum .k b { font-family: var(--font-display); font-size: 22px; font-weight: 650; line-height: 1.1; font-variant-numeric: tabular-nums; }
.imp-sum .k span { font-size: 12px; color: var(--ink-3); }
.imp-sum .btn { margin-left: auto; }
.imp-sum .file { margin-left: auto; font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-3); }
.res { display: grid; gap: 3px; justify-items: start; }
.res small { font-size: 11.5px; color: var(--ink-3); }
.imp-foot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 14px 16px; border-top: 1px solid var(--line); }
.imp-foot p { flex: 1 1 260px; font-size: 12.5px; color: var(--ink-3); }
.skipped { border-top: 1px solid var(--line); padding: 14px 16px 6px; }
.skipped h2 { font-size: 15px; font-weight: 650; }
.skipped-list { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 4px; }
.skipped-list label { display: grid; grid-template-columns: 16px 64px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 13px; cursor: pointer; padding: 4px 0; }
.skipped-list input { accent-color: var(--accent); width: 16px; height: 16px; margin: 1px 0 0; }
.skipped-list .n { font-family: var(--font-mono); text-align: right; font-variant-numeric: tabular-nums; }
.skipped-rows { border-top: 1px solid var(--line); }
.skipped-rows h3 { display: flex; gap: 10px; align-items: baseline; padding: 12px 16px 8px; font-size: 14px; }
.skipped-rows .hsub { margin: 0; }
.banner { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 12px 16px; background: var(--accent-soft); border-bottom: 1px solid var(--line); font-size: 13.5px; }
.banner p { flex: 1 1 260px; }
@media (max-width: 1040px) { .imp-layout { grid-template-columns: 1fr; } }
