.customer-import { min-width: 0; }
.customer-import > .nbi-muted { max-width: 90ch; font-size: 13px; line-height: 1.6; }
.customer-import-file { display: grid; gap: 9px; margin: 18px 0; font-size: 13px; }
.customer-import-file input { max-width: 100%; min-width: 0; min-height: 44px; border: 1px solid #57647f; padding: 9px; box-sizing: border-box; background: #1d2235; color: #e4e8f1; font: inherit; }
.customer-import-file small { color: #b2bed6; line-height: 1.5; }
.customer-import-mapping { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 15px 20px; min-width: 0; border: 1px solid #46516c; padding: 16px; margin: 18px 0; }
.customer-import-mapping legend { padding: 0 6px; color: #c3cadb; font-size: 13px; }
.customer-import-mapping label { display: grid; gap: 8px; min-width: 0; font-size: 13px; }
.customer-import-mapping select { min-height: 44px; width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; border: 1px solid #57647f; border-radius: 4px; background: #1d2235; padding: 8px; color: #e4e8f1; font: inherit; }
.customer-import-actions { display: flex; gap: 9px; flex-wrap: wrap; margin: 18px 0 24px; }
.customer-import-actions button { min-height: 44px; }
.customer-import h3 { font-size: 15px; margin: 22px 0 10px; }
.customer-import-recovery { border: 1px solid #7d714e; padding: 14px; margin: 16px 0; font-size: 13px; line-height: 1.6; }
.customer-import-preview { min-width: 0; width: 100%; border: 1px solid #46516c; border-radius: 4px; overflow: hidden; }
.customer-import-preview table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.customer-import-preview th, .customer-import-preview td { padding: 11px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid #3e4860; line-height: 1.5; overflow-wrap: anywhere; }
.customer-import-preview thead th { background: #252c43; color: #b8c3d9; font-size: 11px; font-weight: 500; }
.customer-import-preview thead th:first-child { width: 50px; }
.customer-import-preview small { display: block; color: #acb7cf; font-size: 11px; margin-top: 5px; overflow-wrap: anywhere; white-space: pre-wrap; }
.customer-import-preview small.customer-import-row-error { color: #efb0b9; }
.customer-import-preview tbody tr:hover { background: #303b54; }
.customer-import-preview tr:last-child > * { border-bottom: 0; }
.customer-import :is(h2,h3,p,legend) { overflow-wrap: anywhere; }
.customer-import :is(button,input,select):focus-visible { outline: 2px solid #6ad9be; outline-offset: 3px; }
.customer-import :is(button,input):disabled, .customer-import fieldset:disabled { opacity: .55; }
@media(max-width:639px) {
  .customer-import-mapping { grid-template-columns: minmax(0,1fr); padding: 12px; }
  .customer-import-actions button { flex: 1 1 auto; }
  .customer-import-preview thead { display: none; }
  .customer-import-preview :is(table,tbody,tr,th,td) { display: block; width: auto; }
  .customer-import-preview tr { padding: 12px; }
  .customer-import-preview tr + tr { border-top: 1px solid #46516c; }
  .customer-import-preview :is(th,td) { border: 0; padding: 5px 0; }
  .customer-import-preview :is(th,td)::before { content: attr(data-label); display: block; font-size: 10px; color: #b8c3d9; margin-bottom: 3px; }
}
