.content, .ingestion-flow, .ingestion-card, .ingestion-review-grid, .ingestion-subcard, .ingestion-preview-table, .ingestion-table-wrap { min-width: 0; }
.ingestion-flow { max-width: 920px; }
.ingestion-steps { display: flex; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.ingestion-steps li { display: flex; flex: 1; align-items: center; gap: 8px; padding: 9px 11px; color: var(--muted); font-weight: 700; border-radius: 8px; }
.ingestion-steps span { display: grid; width: 22px; height: 22px; place-items: center; color: var(--muted); font-size: 12px; border: 1px solid #cbd2dc; border-radius: 50%; }
.ingestion-steps .active, .ingestion-steps .done { color: var(--accent); background: var(--accent-soft); }
.ingestion-steps .active span, .ingestion-steps .done span { color: #fff; background: var(--accent); border-color: var(--accent); }
.ingestion-card { padding: 22px; }
.ingestion-formats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 20px; }
.ingestion-formats button { padding: 12px; color: var(--ink); text-align: left; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
.ingestion-formats button:hover { border-color: #a8b8f4; background: var(--accent-soft); }
.ingestion-formats button.selected { color: var(--accent); background: var(--accent-soft); border-color: #a8b8f4; }
.ingestion-formats strong, .ingestion-formats span { display: block; }
.ingestion-formats span { margin-top: 2px; color: var(--muted); font-size: 12px; }
.ingestion-drop-zone { margin-top: 16px; padding: 26px 18px; text-align: center; background: #fcfcfd; border: 1px dashed #aab6ce; border-radius: 11px; }
.ingestion-drop-zone.dragging { background: var(--accent-soft); border-color: var(--accent); }
.ingestion-drop-zone h3 { margin: 0; font-size: 15px; }
.ingestion-drop-zone > p:not(.key-label) { margin: 2px 0 12px; color: var(--muted); }
.ingestion-drop-zone .key-label { margin: 10px 0 0; }
.ingestion-drop-zone .ready { color: var(--success); font-weight: 700; }
.ingestion-review-grid { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 16px; margin-top: 20px; }
.ingestion-subcard, .ingestion-preview-table { padding: 16px; background: #fcfcfd; border: 1px solid var(--line); border-radius: 10px; }
.ingestion-subcard h3, .ingestion-preview-table h3 { margin: 0; font-size: 14px; }
.ingestion-subcard label { margin-top: 12px; }
.ingestion-columns { display: grid; gap: 5px; margin-top: 12px; }
.ingestion-column { display: flex; justify-content: space-between; gap: 12px; padding: 8px 9px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.ingestion-column strong { min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.ingestion-column span { min-width: 0; overflow-wrap: anywhere; color: var(--muted); font-size: 12px; text-align: right; }
.ingestion-preview-table { margin-top: 16px; }
.ingestion-table-wrap { margin-top: 12px; overflow: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.ingestion-table-wrap .result-table { margin: 0; }
.ingestion-table-wrap .result-table th, .ingestion-table-wrap .result-table td { padding: 8px 10px; }
.ingestion-confirmation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.ingestion-confirmation div { display: grid; gap: 3px; padding: 12px; background: #fcfcfd; border: 1px solid var(--line); border-radius: 9px; }
.ingestion-confirmation span { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ingestion-confirmation strong { overflow-wrap: anywhere; }
#ingestion-success { margin-top: 18px; }
#ingestion-success p { margin: 3px 0 0; font-size: 13px; }
#ingestion-import .submit-row > div { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

@media (max-width: 760px) {
  .ingestion-steps { gap: 2px; }
  .ingestion-steps li { padding: 8px 5px; font-size: 12px; }
  .ingestion-card { padding: 18px; }
  .ingestion-formats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ingestion-review-grid, .ingestion-confirmation { grid-template-columns: minmax(0, 1fr); }
  #ingestion-import .submit-row, #ingestion-import .submit-row > div { align-items: stretch; flex-direction: column; width: 100%; }
}
