/* Import is a dedicated workspace. Controls use the shared form system. */
.csv-import { min-width: 0; max-width: 1120px; }
.csv-import--upload { max-width: 760px; }
.workspace-shell > .workspace-content > main.csv-import { max-width: 1120px; }
.workspace-shell > .workspace-content > main.csv-import--upload { max-width: 760px; }
.csv-import .page-header { margin-bottom: var(--space-6); }
.csv-import__step { margin-bottom: var(--space-3); color: var(--muted); }
.csv-import__upload { display: grid; gap: var(--space-6); padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius); }
.csv-import__upload-intro h2 { margin-bottom: var(--space-2); font-size: var(--title-panel); }
.csv-import__upload-intro p, .csv-import__disclosure { max-width: var(--reading-width); color: var(--muted); }
.csv-import__disclosure { margin-top: var(--space-4); }
.csv-import__reading { padding-block: var(--space-6); }
.csv-import__reading[hidden] { display: none; }
.csv-import__reading strong { display: block; margin-bottom: var(--space-2); }
.csv-import__reading p { color: var(--muted); }
.csv-import__progress { display: block; width: 40px; height: 3px; margin-bottom: var(--space-4); background: var(--accent); animation: csv-import-pulse 1.5s ease-in-out infinite; }
.csv-import__summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-4); padding-block: var(--space-6); border-block: 1px solid var(--line); margin-bottom: var(--space-6); }
.csv-import__summary > div { display: flex; flex-direction: column-reverse; gap: var(--space-2); }
.csv-import__summary dt { color: var(--muted); }
.csv-import__summary dd { margin: 0; font-size: 28px; font-weight: 600; line-height: var(--line-title); font-variant-numeric: tabular-nums; }
.csv-import__notice { padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius); background: var(--band); margin-block: var(--space-4); }
.csv-import__notice h2 { margin-bottom: var(--space-2); font-size: var(--title-section); }
.csv-import__notice p + form { margin-top: var(--space-3); }
.csv-import__records { margin-top: var(--space-6); }
.csv-import__record-heading, .csv-import__record-summary { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.8fr) 48px minmax(88px, .9fr) 112px; align-items: center; gap: var(--space-3); padding: var(--space-3); }
.csv-import__records--clients .csv-import__record-heading,
.csv-import__records--clients .csv-import__record-summary { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 112px; }
.csv-import__record-heading { color: var(--muted); background: var(--band); border: 1px solid var(--line); border-radius: var(--radius) var(--radius) 0 0; }
.csv-import__record { border: 1px solid var(--line); border-top: 0; }
.csv-import__record:last-child { border-radius: 0 0 var(--radius) var(--radius); }
.csv-import__record-summary { min-height: 48px; cursor: pointer; list-style: none; }
.csv-import__record-summary::-webkit-details-marker { display: none; }
.csv-import__record-summary:hover, .csv-import__record[open] > summary { background: var(--band); }
.csv-import__record-summary > span { overflow-wrap: anywhere; }
.csv-import__client { font-weight: 600; }
.csv-import__quantity { font-variant-numeric: tabular-nums; }
.csv-import__state { color: var(--muted); }
.csv-import__state::after { content: " +"; }
.csv-import__record[open] > summary .csv-import__state::after { content: " −"; }
.csv-import__state--review { color: var(--amber); }
.csv-import__record-editor { padding: var(--space-4); border-top: 1px solid var(--line-soft); }
.csv-import__record-editor > .field-hint { margin-bottom: var(--space-4); }
.csv-import__questions { color: var(--amber); padding-left: var(--space-4); margin-block: var(--space-4); }
.csv-import__confirmation { padding-top: var(--space-6); margin-top: var(--space-6); border-top: 1px solid var(--line); }
.csv-import__confirmation > p { margin-bottom: var(--space-4); color: var(--muted); }
.csv-import__advanced { margin-top: var(--space-6); }
.csv-import__advanced > p { margin-top: var(--space-3); }
.csv-import__source, .csv-import__proposal { overflow-wrap: anywhere; }
.csv-import__source { white-space: pre-wrap; }
.csv-import .field-label { min-width: 0; overflow-wrap: anywhere; }
.csv-import__proposal { display: grid; gap: var(--space-2); padding-block: var(--space-3); border-bottom: 1px solid var(--line-soft); }
.csv-import__row .form-errors { padding: var(--space-3); list-style-position: inside; }
.csv-import .form-actions { position: static; flex-wrap: wrap; }
.csv-import .form-actions .button { white-space: normal; }
.csv-import input[type="file"] { max-width: 100%; height: auto; min-height: var(--control-height); }
@keyframes csv-import-pulse { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .csv-import__progress { animation: none; } }
@media (max-width: 760px) {
  .csv-import__upload { padding: var(--space-4); }
  .csv-import__record-heading { display: none; }
  .csv-import__record { border-top: 1px solid var(--line); border-radius: var(--radius); margin-bottom: var(--space-2); }
  .csv-import__record-summary { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2); }
  .csv-import__record-summary > :nth-child(2) { grid-column: 1; grid-row: 2; }
  .csv-import__record-summary > :nth-child(3) { display: none; }
  .csv-import__record-summary > :nth-child(4) { grid-column: 1; color: var(--muted); }
  .csv-import__record-summary > :nth-child(5) { grid-column: 2; grid-row: 1 / span 3; }
  .csv-import__records--clients .csv-import__record-summary { grid-template-columns: minmax(0, 1fr) auto; }
  .csv-import__records--clients .csv-import__record-summary > :nth-child(3) { display: block; grid-column: 2; grid-row: 1 / span 2; }
}

.csv-import--form { max-width: 560px; }
.csv-import__types { display: flex; flex-wrap: wrap; gap: var(--space-6); margin: 0 0 var(--space-6); padding: 0; border: 0; }
.csv-import__types label { display: inline-flex; align-items: center; gap: var(--space-2); }
.csv-import__privacy { margin-top: var(--space-3); }
.csv-import__skip { margin-top: var(--space-3); }
