/* CSV取り込みウィザード */

.imp-steps {
  display: flex;
  gap: var(--sp-2);
  flex-wrap: wrap;
  margin-bottom: var(--sp-4);
}
.imp-step {
  padding: 2px var(--sp-2);
  border-radius: var(--r-full);
  border: 1px solid var(--c-border);
  color: var(--c-text-2);
}
.imp-step.active {
  background: var(--c-main-soft);
  border-color: var(--c-main);
  color: var(--c-main);
  font-weight: 600;
}
.imp-step.done { border-style: dashed; opacity: 0.7; }

.imp-file-label { cursor: pointer; }

.imp-help { margin-top: var(--sp-3); }
.imp-help summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: var(--c-main);
  font-size: var(--fs-caption);
  cursor: pointer;
}
.imp-help > div { padding: var(--sp-2) 0; }
.imp-help p { margin-bottom: var(--sp-2); }

.imp-source-seg { margin-top: var(--sp-2); }
.imp-source-seg button { font-size: var(--fs-micro); }

/* 列マッピング */
.imp-map-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  max-height: 50vh;
  overflow-y: auto;
}
.imp-map-row {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2);
  border: 1px solid var(--c-border);
  border-radius: var(--r-s);
}
.imp-map-row.mid { background: var(--c-accent-soft); }
.imp-map-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.imp-map-name {
  font-size: var(--fs-caption);
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.imp-map-select { flex: 0 0 45%; min-height: 44px; font-size: var(--fs-caption); }

/* プレビュー */
.imp-preview-table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--sp-3) 0;
}
.imp-preview-table th {
  text-align: left;
  font-weight: 400;
  font-size: var(--fs-micro);
  color: var(--c-text-2);
  padding: var(--sp-1);
  border-bottom: 1px solid var(--c-border);
}
.imp-preview-table td {
  padding: var(--sp-1);
  border-bottom: 1px solid var(--c-border);
}
.imp-preview-table .num { font-variant-numeric: tabular-nums; font-family: var(--font-num); }

.imp-shift-toggle {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-top: var(--sp-3);
  min-height: 44px;
}
.imp-shift-toggle input { width: 20px; height: 20px; accent-color: var(--c-main); }
