/* LCR imports: Import home (ImportHome), the members wizard (ImportUpload, ImportCheck, ImportErrorDesktop,
   ImportMatch, ImportReview) and the finished import (ImportDone), with their phone forms.  The shared stepper,
   wizard footer and count tiles live here too.  Desktop starts at 1024px, like the chrome. */

@media (min-width: 1024px) { .import-phone-only { display: none !important; } }
@media (max-width: 1023px) { .import-desktop-only { display: none !important; } }

/* Stepper (shared/_stepper). */
.stepper { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: var(--space-12); }
.stepper-step {
  display: flex; align-items: center; gap: var(--space-10); font-size: 14px; font-weight: 500; color: var(--ink-500);
  white-space: nowrap;
}
.stepper-num {
  width: 28px; height: 28px; border-radius: 14px; flex-shrink: 0; display: flex; align-items: center;
  justify-content: center; font-size: 13px; font-weight: 700; background: #FFFFFF; color: var(--ink-500);
  box-shadow: inset 0 0 0 1.5px var(--paper-500);
}
.stepper-step.is-current { font-weight: 700; color: var(--navy-950); }
.stepper-step.is-current .stepper-num { color: var(--navy-950); }
.stepper-step.is-done { font-weight: 600; color: var(--navy-700); }
.stepper-step.is-done .stepper-num { background: var(--navy-700); color: #FFFFFF; box-shadow: none; }
.stepper-line { flex-grow: 1; height: 2px; min-width: 24px; background: var(--paper-400); }
.stepper-line.is-done { background: var(--navy-700); }
@media (max-width: 1279px) {
  .stepper { gap: var(--space-8); }
  .stepper-line { min-width: 12px; }
  .stepper-step:not(.is-current) .stepper-label { display: none; }
}

.stepper-compact { display: flex; flex-direction: column; gap: var(--space-8); }
.stepper-bars { display: flex; gap: var(--space-4); }
.stepper-bar { flex-grow: 1; height: 4px; border-radius: 2px; background: var(--navy-600); }
.stepper-bar.is-done { background: var(--gold-400); }
.stepper-caption { font-size: 13px; color: var(--navy-200); }

/* The stepper sits at the top of each wizard page, on paper. */
.import-steps .stepper-bar { background: var(--paper-400); }
.import-steps .stepper-bar.is-done { background: var(--navy-700); }
.import-steps .stepper-caption { color: var(--ink-500); }

/* WizardFooter (shared/_wizard_footer).  It sticks to the bottom of the window: above the tab bar on phones. */
.wizard-footer {
  position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; flex-wrap: wrap;
  gap: var(--space-12); margin: auto -36px -48px; padding: 18px 36px; border-top: 1px solid var(--paper-300);
  background: #FFFFFF;
}
.wizard-footer-note { font-size: 13px; color: var(--ink-500); }
.wizard-footer-back { padding: 0 20px; }
.wizard-footer-form { display: flex; }
.wizard-footer .btn:disabled { opacity: 1; background: var(--paper-200); color: var(--paper-700); box-shadow: none; animation: none; }
.wizard-cancel { position: relative; }
.wizard-cancel-toggle {
  list-style: none; min-height: 44px; display: flex; align-items: center; font-size: 14px; font-weight: 600;
  color: var(--ruby-800); cursor: pointer;
}
.wizard-cancel-toggle::-webkit-details-marker { display: none; }
.wizard-cancel-panel {
  position: absolute; bottom: calc(100% + 10px); left: 0; z-index: 6; width: min(360px, calc(100vw - 32px));
  display: flex; flex-direction: column; gap: var(--space-8); padding: 16px; border-radius: var(--radius-card);
  background: #FFFFFF; border: 1.5px solid var(--ruby-800); box-shadow: var(--shadow-selected);
}
.wizard-cancel-title { font-size: 15px; font-weight: 700; color: var(--ruby-800); }
.wizard-cancel-body { font-size: 13px; color: var(--ink-700); line-height: var(--leading-note); }
.wizard-cancel-buttons { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-4); }
.wizard-cancel-buttons form { display: flex; }
@media (max-width: 1023px) {
  .wizard-footer {
    bottom: var(--tabbar-h); margin: auto -16px calc(-1 * (var(--tabbar-h) + 24px)); padding: 12px 16px;
    gap: var(--space-10); box-shadow: var(--shadow-sheet);
  }
  .wizard-footer-spacer { display: none; }
  .wizard-footer-note { flex-basis: 100%; order: -1; }
  .wizard-footer-next, .wizard-footer-form { flex-grow: 1; }
  .wizard-footer-form .btn { width: 100%; }
  .wizard-footer-back { padding: 0 16px; }
}

/* Count tiles (shared/_count_tiles): white tiles in a row, or the navy panel with gold numbers. */
.count-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-12); }
@media (min-width: 1024px) { .count-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-16); } }
.count-tile {
  background: #FFFFFF; border: 1px solid var(--paper-300); border-radius: var(--radius-card); padding: 18px 20px;
  display: flex; flex-direction: column; gap: var(--space-4); min-width: 0;
}
.count-tile-value {
  font-family: var(--font-display); font-size: var(--type-stat-phone); font-weight: var(--weight-display);
  color: var(--navy-700); line-height: var(--leading-snug);
}
.count-tile-label { font-size: 14px; color: var(--ink-500); }
@media (min-width: 1024px) { .count-tile-value { font-size: var(--type-stat); } }
.count-tiles-navy {
  position: relative; overflow: hidden; background: var(--navy-950); color: #FFFFFF; border-radius: var(--radius-card);
  padding: 22px; gap: 18px;
}
@media (min-width: 1024px) { .count-tiles-navy { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.count-tiles-navy .count-tile { background: none; border: 0; padding: 0; gap: var(--space-2); }
.count-tiles-navy .count-tile-value { color: var(--gold-200); }
.count-tiles-navy .count-tile-label { font-size: 13px; color: var(--navy-200); }
.count-tiles-rule { position: absolute; left: 0; right: 0; bottom: 0; height: var(--gold-rule); }

/* The lock pills, in the wizard's TopBar and on Import home. */
.import-pill {
  display: inline-flex; align-items: center; gap: var(--space-6); min-height: 28px; padding: 4px 10px;
  border-radius: 14px; background: var(--paper-100); font-size: 12px; font-weight: 600; color: var(--ink-500);
}
.import-pill .icon, .import-pill svg { flex-shrink: 0; }
.import-pill-mine { background: var(--navy-50); color: var(--navy-900); }
.import-pill-held { background: var(--gold-50); color: var(--gold-900); }
.import-lock-row { display: inline-flex; align-items: center; flex-wrap: wrap; gap: var(--space-10); }
.import-resume { height: 36px; padding: 0 14px; font-size: 13px; }

/* Shared step layout. */
.import-step { display: flex; flex-direction: column; gap: 22px; }
.import-step-intro { display: flex; flex-direction: column; gap: var(--space-4); }
.import-step-title {
  font-family: var(--font-display); font-size: 24px; font-weight: var(--weight-display); color: var(--navy-950);
  line-height: var(--leading-snug);
}
.import-lede { font-size: 15px; color: var(--ink-500); max-width: 760px; line-height: var(--leading-body); }
@media (max-width: 1023px) {
  .import-step { gap: var(--space-14); }
  .import-step-title { font-size: var(--type-title-sm); }
  .import-lede { font-size: 14px; }
}
.import-card-title {
  padding: 18px 22px 10px; font-family: var(--font-display); font-size: var(--type-section);
  font-weight: var(--weight-display); color: var(--walnut-900);
}
.import-card-title-tight { padding-bottom: 6px; }
.import-card-note { padding: 0 22px 8px; font-size: 13px; color: var(--ink-500); }
@media (max-width: 1023px) {
  .import-card-title { padding: 16px 16px 8px; }
  .import-card-note { padding: 0 16px 8px; }
}
.import-glyph {
  width: 24px; height: 24px; flex-shrink: 0; border-radius: 12px; display: flex; align-items: center;
  justify-content: center; font-size: 13px; font-weight: 700;
}
.import-glyph-lg { width: 32px; height: 32px; border-radius: 16px; font-size: 15px; }
.import-glyph.is-ok { background: var(--green-50); color: var(--green-800); }
.import-glyph.is-warning { background: var(--gold-50); color: var(--gold-900); }
.import-glyph.is-error { background: var(--ruby-50); color: var(--ruby-800); }

/* Import home. */
.import-home { display: flex; flex-direction: column; gap: 22px; }
.import-intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-12); }
.import-kinds { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-16); }
@media (min-width: 1024px) { .import-kinds { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }
.import-kind {
  background: #FFFFFF; border: 1px solid var(--paper-300); border-radius: var(--radius-card); padding: 22px;
  display: flex; flex-direction: column; gap: var(--space-12);
}
.import-kind-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); }
.import-kind-step {
  font-size: 12px; font-weight: 700; letter-spacing: var(--tracking-label); text-transform: uppercase;
  color: var(--walnut-700);
}
.import-kind-title {
  font-family: var(--font-display); font-size: 22px; font-weight: var(--weight-display); color: var(--navy-950);
}
.import-kind-desc { font-size: 14px; color: var(--ink-700); line-height: var(--leading-body); }
.import-kind-meta { font-size: 13px; color: var(--ink-500); }
.import-kind-meta strong { color: var(--ink-900); }
.import-kind form { display: flex; }
.import-kind .btn-lg { height: 46px; }

.import-history-head {
  display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: var(--space-8);
  padding: 18px 22px 10px;
}
.import-history-meta { font-size: 13px; color: var(--ink-500); }
.import-history-rows { list-style: none; margin: 0; padding: 0; }
.import-history-grid { display: flex; flex-direction: column; gap: var(--space-2); padding: 12px 16px; font-size: 14px; }
.import-history-labels { display: none; }
.import-history-row { border-top: 1px solid var(--paper-150); }
.import-history-kind { display: flex; flex-direction: column; font-weight: 700; }
.import-history-when { font-size: 12px; font-weight: 500; color: var(--ink-500); }
.import-history-summary { color: var(--ink-700); }
.import-history-link { font-size: 13px; font-weight: 600; text-decoration: none; min-height: 32px; display: flex; align-items: center; }
.import-history-empty { padding: 14px 22px; border-top: 1px solid var(--paper-150); font-size: 14px; color: var(--ink-500); }
@media (min-width: 1024px) {
  .import-history-grid {
    display: grid; grid-template-columns: 1.4fr 1fr 1fr 2fr 110px; gap: 16px; align-items: center; padding: 13px 22px;
  }
  .import-history-labels {
    display: grid; padding: 10px 22px; font-size: 12px; font-weight: 700; letter-spacing: var(--tracking-table);
    text-transform: uppercase; color: var(--walnut-300); background: var(--walnut-900);
  }
  .import-history-row { border-top: 0; border-bottom: 1px solid var(--paper-150); }
}
.import-home-foot { font-size: 13px; color: var(--ink-500); }

/* Get reports. */
.import-slots { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-14); }
@media (min-width: 1024px) { .import-slots { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16); } }
.import-slot {
  background: #FFFFFF; border: 1px solid var(--paper-300); border-radius: var(--radius-card); padding: 18px 20px;
  display: flex; flex-direction: column; gap: var(--space-12); scroll-margin-top: 120px; min-width: 0;
}
.import-slot.is-done { border: 1.5px solid var(--navy-700); }
.import-slot.is-refused { border: 1.5px solid var(--ruby-800); }
.import-slot-head { display: flex; align-items: flex-start; gap: var(--space-14); }
.import-slot-num {
  width: 32px; height: 32px; flex-shrink: 0; border-radius: 16px; display: flex; align-items: center;
  justify-content: center; font-size: 14px; font-weight: 700; background: var(--paper-100); color: var(--walnut-900);
}
.import-slot.is-done .import-slot-num { background: var(--navy-700); color: #FFFFFF; }
.import-slot-text { display: flex; flex-direction: column; gap: var(--space-4); flex-grow: 1; min-width: 0; }
.import-slot-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-8); }
.import-slot-title { font-size: 16px; font-weight: 700; }
.import-req {
  font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: var(--radius-tag); background: var(--paper-100);
  color: var(--walnut-700);
}
.import-req.is-required { background: var(--ruby-50); color: var(--ruby-800); }
.import-slot-path { font-size: 13px; color: var(--ink-700); }
.import-slot-tip { font-size: 12px; color: var(--ink-500); }
.import-slot-form { display: flex; flex-direction: column; gap: var(--space-10); }
.import-slot-done {
  display: flex; align-items: center; gap: var(--space-12); padding: 12px 14px; border-radius: var(--radius-control);
  background: var(--navy-25); border: 1px solid var(--navy-150);
}
.import-slot-file { color: var(--navy-700); }
.import-slot-check {
  width: 20px; height: 20px; flex-shrink: 0; border-radius: 10px; background: var(--navy-700); color: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
}
.import-slot-found { display: flex; flex-direction: column; gap: var(--space-2); flex-grow: 1; min-width: 0; }
.import-slot-found-title { font-size: 14px; font-weight: 700; }
.import-slot-found-line { font-size: 12px; font-weight: 600; color: var(--green-800); overflow-wrap: anywhere; }
.import-slot-replace { position: relative; height: 36px; padding: 0 12px; border-radius: var(--radius-sm); font-size: 13px; font-weight: 600; }
.import-slot-replace:focus-within { box-shadow: var(--focus-ring); }
.import-slot-problems { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.import-slot-problem { font-size: 14px; line-height: var(--leading-body); color: var(--ruby-800); }
.import-slot-problem.is-warning { color: var(--gold-900); }
.import-drop {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-6); min-height: 84px; padding: 10px; border-radius: var(--radius-control);
  border: 2px dashed var(--paper-700); background: var(--paper-40); color: var(--walnut-900); font-size: 14px;
  font-weight: 600; text-align: center; cursor: pointer;
}
.import-drop:hover, .import-drop.is-over { background: var(--walnut-50); border-color: var(--walnut-700); }
.import-drop:focus-within { box-shadow: var(--focus-ring); }
.import-slot-submit { align-self: flex-start; }
.import-slot-submit[hidden] { display: none; }
.import-slot-busy { font-size: 13px; font-weight: 600; color: var(--navy-700); }
@media (max-width: 1023px) {
  .import-slot { padding: 14px; gap: var(--space-10); }
  .import-slot-head { gap: var(--space-12); }
  .import-slot-num { width: 28px; height: 28px; font-size: 13px; }
  .import-slot-done { padding: 10px 12px; gap: var(--space-8); }
  .import-slot-done .import-slot-file { display: none; }
  .import-drop { flex-direction: row; min-height: 52px; font-weight: 700; }
}

/* Check files. */
.import-check-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-20); align-items: start; }
@media (min-width: 1024px) { .import-check-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
.import-checks, .import-cleanups, .import-files { list-style: none; margin: 0; padding: 0; }
.import-check { display: flex; align-items: flex-start; gap: var(--space-14); padding: 12px 22px; border-top: 1px solid var(--paper-150); }
.import-check-text { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.import-check-title { font-size: 15px; font-weight: 600; }
.import-check-detail { font-size: 13px; color: var(--ink-500); }
.import-cleanup { padding: 11px 22px; border-top: 1px solid var(--paper-150); font-size: 14px; font-weight: 600; }
.import-cleanup.is-empty { font-weight: 400; color: var(--ink-500); }
@media (max-width: 1023px) {
  .import-check, .import-cleanup { padding-left: 16px; padding-right: 16px; }
}

/* Check files refused (ImportErrorDesktop). */
.import-refusal {
  display: flex; align-items: center; gap: var(--space-14); padding: 18px 22px; border-radius: var(--radius-card);
  background: var(--ruby-50); border: 1.5px solid var(--ruby-800);
}
.import-refusal-glyph { font-size: 22px; color: var(--ruby-800); }
.import-refusal-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.import-refusal-title { font-size: 16px; font-weight: 700; color: var(--ruby-800); }
.import-refusal-body { font-size: 14px; color: var(--ink-700); }
.import-file {
  display: flex; align-items: flex-start; flex-wrap: wrap; gap: var(--space-16); padding: 18px 22px;
  border-top: 1px solid var(--paper-150);
}
.import-file-text { display: flex; flex-direction: column; gap: var(--space-4); flex: 1 1 240px; min-width: 0; }
.import-file-title { font-size: 16px; font-weight: 700; }
.import-file-meta { font-size: 12px; color: var(--ink-500); }
.import-file-problem { margin-top: 2px; font-size: 14px; line-height: var(--leading-body); color: var(--ruby-800); }
.import-file-problem.is-warning { color: var(--gold-900); }
.import-file-ok { margin-top: 2px; font-size: 14px; color: var(--ink-700); }
@media (max-width: 1023px) {
  .import-refusal { padding: 14px 16px; }
  .import-file { padding: 16px; gap: var(--space-12); }
  .import-file-action { margin-left: 44px; }
}

/* Match people. */
.import-match-head { display: flex; flex-direction: column; gap: var(--space-16); }
@media (min-width: 1024px) {
  .import-match-head { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: var(--space-20); }
}
.import-counters { display: flex; flex-wrap: wrap; gap: var(--space-10); }
.import-counter {
  display: flex; flex-direction: column; padding: 10px 16px; border-radius: var(--radius-card); background: #FFFFFF;
  border: 1px solid var(--paper-300);
}
.import-counter-value {
  font-family: var(--font-display); font-size: var(--type-title-sm); font-weight: var(--weight-display);
  color: var(--navy-700);
}
.import-counter-label { font-size: 12px; color: var(--ink-500); white-space: nowrap; }
.import-counter.is-open { background: var(--ruby-800); border-color: var(--ruby-800); }
.import-counter.is-open .import-counter-value { color: #FFFFFF; }
.import-counter.is-open .import-counter-label { color: var(--ruby-100); }
.import-case {
  background: #FFFFFF; border: 1.5px solid var(--navy-700); border-radius: var(--radius-card); padding: 20px 22px;
  display: flex; flex-direction: column; gap: var(--space-14); scroll-margin-top: 120px;
}
.import-case.is-open { border-color: var(--ruby-800); }
.import-case-head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-10); }
.import-case-hint { font-size: 13px; color: var(--ink-500); }
.import-case-compare { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
@media (min-width: 1024px) {
  .import-case-compare { grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); gap: var(--space-12); align-items: stretch; }
}
.import-case-sides { display: flex; flex-direction: column; gap: var(--space-8); }
.import-case-side {
  flex-grow: 1; border-radius: var(--radius-choice); padding: 14px 16px; display: flex; flex-direction: column;
  gap: var(--space-4); min-width: 0;
}
.import-case-side.is-app { background: var(--navy-25); border: 1px solid var(--navy-150); }
.import-case-side.is-new { background: var(--paper-40); border: 1px solid var(--walnut-300); }
.import-case-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: var(--tracking-label); text-transform: uppercase;
  color: var(--navy-700);
}
.is-new .import-case-eyebrow { color: var(--walnut-700); }
.import-case-name { font-size: 16px; font-weight: 700; }
.import-case-detail { font-size: 13px; color: var(--ink-700); }
.import-case-where { font-size: 12px; color: var(--ink-500); }
.import-case-arrow { display: flex; align-items: center; justify-content: center; color: var(--paper-700); }
@media (max-width: 1023px) {
  .import-case { padding: 16px; }
  .import-case-arrow { transform: rotate(90deg); }
}
.import-decision { display: flex; flex-wrap: wrap; gap: var(--space-10); }
.import-choice-form { display: flex; }
.import-choice {
  min-height: 44px; padding: 0 18px; border-radius: var(--radius-control); font-size: 14px; font-weight: 700;
  cursor: pointer; background: #FFFFFF; text-align: left;
}
.import-choice.is-same { border: 1.5px solid var(--navy-700); color: var(--navy-700); }
.import-choice.is-different { border: 1.5px solid var(--walnut-900); color: var(--walnut-900); }
.import-choice[aria-pressed='true'] { border: 2px solid var(--gold-500); color: var(--gold-200); }
.import-choice.is-same[aria-pressed='true'] { background: var(--navy-950); }
.import-choice.is-different[aria-pressed='true'] { background: var(--walnut-900); }
@media (max-width: 1023px) {
  .import-choice-form, .import-choice { width: 100%; }
}

/* Review changes. */
.import-tabs { display: flex; gap: var(--space-8); overflow-x: auto; scrollbar-width: none; }
.import-tabs[hidden] { display: none; }
@media (min-width: 1024px) { .import-tabs { flex-wrap: wrap; overflow: visible; } }
.import-tab {
  flex-shrink: 0; min-height: 40px; padding: 0 16px; border-radius: var(--radius-pill); font-size: 14px;
  font-weight: 700; border: 1px solid var(--paper-500); background: #FFFFFF; color: var(--ink-900); cursor: pointer;
}
.import-tab[aria-selected='true'] { border-color: var(--navy-950); background: var(--navy-950); color: var(--gold-200); }
.import-tab-count { font-weight: 600; opacity: 0.8; }
@media (max-width: 1023px) { .import-tab { min-height: 38px; padding: 0 14px; font-size: 13px; } }
.import-review-form { display: flex; flex-direction: column; gap: var(--space-20); }
.import-review-card[hidden] { display: none; }
.import-review-card-head {
  display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: var(--space-8);
  padding-right: 22px;
}
.import-review-card-head .import-card-title { padding-right: 0; }
.import-review-card-meta { font-size: 12px; color: var(--ink-500); }
.import-review-empty { padding: 12px 22px 16px; border-top: 1px solid var(--paper-150); font-size: 14px; color: var(--ink-500); }
.import-review-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-20); align-items: start; }
@media (min-width: 1024px) { .import-review-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.import-review-pair:not(:has(.import-review-card:not([hidden]))) { display: none; }
.import-row-box { width: 18px; height: 18px; margin: 0; accent-color: var(--navy-700); }

.import-move {
  display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--space-14); padding: 16px 22px;
  border-top: 1px solid var(--paper-150); cursor: pointer;
}
.import-move .import-row-box { width: 20px; height: 20px; margin-top: 2px; }
.import-move-body { display: flex; flex-direction: column; gap: var(--space-10); min-width: 0; }
.import-move-head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-10); }
.import-move-title { font-size: 16px; font-weight: 700; }
.import-move-compare { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
@media (min-width: 1024px) {
  .import-move-compare { grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr); gap: var(--space-10); align-items: center; }
}
.import-move-side {
  border-radius: var(--radius-control); padding: 10px 14px; font-size: 13px; line-height: 1.55; white-space: pre-line;
  overflow-wrap: anywhere;
}
.import-move-side.is-before { background: var(--paper-50); border: 1px solid var(--paper-300); color: var(--ink-700); }
.import-move-side.is-after { background: var(--navy-25); border: 1px solid var(--navy-150); color: var(--navy-900); }
.import-move-label {
  display: block; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--walnut-700);
}
.is-after .import-move-label { color: var(--navy-700); }
.import-move-arrow { display: flex; justify-content: center; color: var(--paper-700); }
.import-move-effect { font-size: 13px; color: var(--walnut-900); }
@media (min-width: 1024px) {
  .import-move-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (max-width: 1023px) {
  .import-move { gap: var(--space-12); padding: 14px 16px; }
  .import-move-title { font-size: 15px; }
  .import-move-side { padding: 8px 12px; }
  .import-move-arrow { display: none; }
}

.import-person-row {
  display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: var(--space-12); align-items: center;
  padding: 12px 22px; border-top: 1px solid var(--paper-150); cursor: pointer;
}
.import-person-text { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.import-person-name { font-size: 15px; font-weight: 700; }
.import-person-detail { font-size: 12px; color: var(--ink-500); }
.import-flag-warning { background: var(--gold-50); color: var(--gold-900); }
@media (max-width: 1023px) {
  .import-person-row { grid-template-columns: 24px minmax(0, 1fr); padding: 12px 16px; }
  .import-person-row .badge { grid-column: 2; justify-self: start; white-space: normal; }
}

.import-detail-grid {
  display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--space-4) var(--space-12); padding: 11px 16px;
  font-size: 14px;
}
.import-detail-labels { display: none; }
.import-detail-row { align-items: center; border-top: 1px solid var(--paper-150); cursor: pointer; }
.import-detail-row > :not(.import-row-box) { grid-column: 2; min-width: 0; overflow-wrap: anywhere; }
.import-detail-who { font-weight: 600; }
.import-detail-field { color: var(--ink-500); }
.import-detail-was { color: var(--paper-800); text-decoration: line-through; }
.import-detail-now { font-weight: 600; color: var(--navy-900); }
@media (min-width: 1024px) {
  .import-detail-grid {
    grid-template-columns: 24px 1.2fr 0.8fr 1.3fr 1.3fr; gap: var(--space-14); padding: 11px 22px;
  }
  .import-detail-row > :not(.import-row-box) { grid-column: auto; }
  .import-detail-labels {
    display: grid; padding: 9px 22px; font-size: 12px; font-weight: 700; letter-spacing: var(--tracking-table);
    text-transform: uppercase; color: var(--walnut-300); background: var(--walnut-900);
  }
  .import-detail-row { border-top: 0; border-bottom: 1px solid var(--paper-150); }
}

.import-archive-warning {
  display: flex; flex-direction: column; gap: var(--space-12); padding: 18px 22px; border-radius: var(--radius-card);
  background: var(--ruby-50); border: 1.5px solid var(--ruby-800);
}
.import-archive-text { font-size: 15px; font-weight: 600; color: var(--ruby-800); line-height: var(--leading-body); }
.import-archive-check { align-self: flex-start; }

/* Done. */
.import-done {
  position: relative; overflow: hidden; display: flex; align-items: center; gap: var(--space-24); padding: 30px 32px;
  border-radius: var(--radius-form); background: var(--navy-950); color: #FFFFFF;
}
.import-done-mark {
  width: 64px; height: 64px; flex-shrink: 0; border-radius: 32px; color: var(--navy-950); display: flex;
  align-items: center; justify-content: center;
}
.import-done-text { display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }
.import-done-title { font-family: var(--font-display); font-size: var(--type-title-md); font-weight: var(--weight-display); }
.import-done-body { font-size: 15px; color: var(--navy-100); }
@media (max-width: 1023px) {
  .import-done { flex-direction: column; align-items: flex-start; gap: var(--space-14); padding: 22px 20px; }
  .import-done-mark { width: 48px; height: 48px; }
  .import-done-title { font-size: var(--type-title-sm); }
}
.import-next { padding-bottom: 6px; }
.import-next-list { list-style: none; margin: 0; padding: 0 22px; }
.import-next-item {
  display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-14); padding: 12px 0;
  border-top: 1px solid var(--paper-150);
}
.import-next-num {
  width: 28px; height: 28px; flex-shrink: 0; border-radius: 14px; background: var(--walnut-100);
  color: var(--walnut-900); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700;
}
.import-next-text { display: flex; flex-direction: column; gap: var(--space-2); flex: 1 1 200px; min-width: 0; }
.import-next-title { font-size: 15px; font-weight: 700; }
.import-next-detail { font-size: 13px; color: var(--ink-500); }
.import-next-action { height: 40px; padding: 0 16px; }
@media (max-width: 1023px) {
  .import-next-list { padding: 0 16px; }
  .import-next-action { margin-left: 42px; }
}

/* Ministering imports: Get report's steps, and Review changes' rows folded by district. */
.import-min-steps {
  margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: var(--space-8); font-size: 15px;
  line-height: var(--leading-body); color: var(--ink-700);
}
.import-min-body { gap: var(--space-6); }
.import-min-title { font-size: 15px; font-weight: 700; min-width: 0; overflow-wrap: anywhere; }
.import-min-detail { font-size: 14px; color: var(--ink-700); line-height: var(--leading-body); overflow-wrap: anywhere; }
.import-min-group { border-top: 1px solid var(--paper-150); }
.import-min-group-head {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-10); min-height: 44px;
  padding: 10px 22px; cursor: pointer; list-style: none; background: var(--paper-25);
}
.import-min-group-head::-webkit-details-marker { display: none; }
.import-min-group-head::after { content: '▸'; color: var(--ink-500); }
.import-min-group[open] > .import-min-group-head::after { content: '▾'; }
.import-min-group-head:focus-visible { box-shadow: var(--focus-ring); outline: none; }
.import-min-group-title { font-size: 14px; font-weight: 700; color: var(--walnut-900); flex-grow: 1; min-width: 0; }
.import-min-group-count { font-size: 12px; color: var(--ink-500); white-space: nowrap; }
.import-next-item form { display: flex; }
@media (max-width: 1023px) {
  .import-min-group-head { padding: 10px 16px; }
}
