/* import.html · wizard + export (DS v4 tokens) */
.imp-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--space-5); align-items: start; }
.imp-card { display: grid; gap: var(--space-5); }
.imp-step { display: grid; gap: var(--space-3); }
.imp-step[hidden] { display: none; }
.imp-sources { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.imp-map td { vertical-align: middle; }
.imp-map .imp-arrow { width: 44px; padding-inline: 8px; color: var(--text-muted); text-align: center; }
.imp-map .imp-arrow svg { display: inline-block; vertical-align: middle; }
.imp-map .imp-arrow svg { width: 16px; height: 16px; }
.imp-map select { min-width: 190px; }
.imp-map .badge svg, .imp-actions svg { width: 13px; height: 13px; }
.imp-h3 { font-size: var(--text-md); font-weight: var(--weight-bold); margin: var(--space-3) 0 0; }
.imp-counts .card { display: grid; gap: 2px; }
.imp-counts b { font-size: var(--text-2xl); font-weight: var(--weight-extrabold); }
.adm-k { color: var(--text-muted); font-size: var(--text-sm); }
.text-warn { color: var(--warning-text); } .text-err { color: var(--danger-text); }
.imp-dup { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; padding: 10px 12px; border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--bg-card); }
.imp-dup b { font-size: var(--text-base-sm); display: block; }
.imp-err td { background: var(--danger-bg); }
.imp-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); border-block-start: 1px solid var(--border-soft); padding-block-start: var(--space-4); }
.imp-export { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.imp-export .btn { flex-direction: column; height: auto; padding-block: 10px; gap: 4px; }
.imp-hist { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: grid; gap: 10px; }
.imp-hist li { display: flex; align-items: center; gap: 10px; font-size: var(--text-base-sm); }
.imp-hist li > svg { width: 18px; height: 18px; color: var(--text-muted); flex-shrink: 0; }
.imp-hist li > div { flex: 1; min-width: 0; }
.imp-hist .td-sub, .imp-map .td-sub, .imp-dup .td-sub { display: block; }
#impStepper { overflow-x: auto; }
@container page (max-width: 900px) { .imp-layout { grid-template-columns: 1fr; } }
@container page (max-width: 640px) {
  .imp-sources { grid-template-columns: 1fr; }
  #impStepper .step-info { display: none; }
}
.imp-layout > *, .imp-card > *, .imp-step > * { min-width: 0; }
.imp-card .file-name { overflow-wrap: anywhere; }
