.customer-transfer-dialog{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;overflow:auto}
.customer-export-dialog{width:min(480px,calc(100vw - 32px));padding:0}
.customer-transfer-dialog .dialog-heading,.customer-export-dialog .dialog-heading{padding:24px 28px 18px;margin:0;border-bottom:1px solid var(--border-subtle)}
.customer-transfer-content{padding:24px 28px;min-width:0}
.customer-transfer-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;background:#fff;border-top:1px solid var(--border-subtle);z-index:2}
.customer-upload-area{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px dashed #cdd1d7;border-radius:12px;padding:36px 20px;background:#fafbfc;gap:10px;transition:border-color .15s,background .15s}
.customer-upload-area.is-dragging{border-color:#667d9b;background:#f2f5f9}
.customer-upload-area>svg{width:36px;height:36px;color:#606975;margin-bottom:6px}
.customer-upload-area>strong{font-size:18px;font-weight:600;color:var(--text-primary)}
.customer-upload-area p{margin:0;color:var(--text-secondary);font-size:14px}
.customer-upload-area>.portal-button{margin:8px 0 4px}
.customer-upload-area>span,.customer-transfer-hint{font-size:12px;line-height:1.7;color:var(--text-tertiary)}
.customer-template-row{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:13px;margin-top:18px;color:var(--text-secondary)}
.customer-import-file,.customer-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.customer-import-file strong{overflow-wrap:anywhere;font-size:14px;font-weight:550}
.customer-import-summary{display:flex;gap:36px;padding:24px 0 8px}
.customer-import-summary>div{display:flex;gap:6px;flex-direction:column;color:var(--text-secondary);font-size:12px}
.customer-import-summary strong{font-size:28px;font-weight:600;line-height:1;color:var(--text-primary);letter-spacing:-.04em}
.customer-import-summary .has-issues strong{color:#946132}
.customer-import-mapping{margin:20px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:14px 0}
.customer-import-mapping summary{cursor:pointer;font-size:13px;color:var(--text-secondary);width:fit-content}
.customer-mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.customer-mapping-grid>div{min-width:0}
.customer-mapping-grid label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.customer-mapping-grid .select-menu{width:100%}
.customer-preview-heading{margin:16px 0 10px;font-size:13px}
.customer-preview-table{overflow:auto;max-height:300px;border:1px solid var(--border-subtle);border-radius:8px}
.customer-preview-table table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}
.customer-preview-table th{position:sticky;top:0;background:#f7f8f9;z-index:1;color:var(--text-secondary);font-weight:500;white-space:nowrap}
.customer-preview-table td,.customer-preview-table th{padding:12px;border-bottom:1px solid var(--border-subtle);vertical-align:top}
.customer-preview-table td{color:var(--text-secondary);overflow-wrap:anywhere;max-width:300px;min-width:90px}
.customer-preview-table td:first-child{min-width:32px;width:35px;font-variant-numeric:tabular-nums}
.customer-preview-table td:nth-child(2){min-width:170px}
.customer-preview-table td strong,.customer-preview-table td small{display:block;line-height:1.5}
.customer-preview-table td strong{font-weight:500;color:var(--text-primary)}
.customer-preview-table td small{font-size:11px;color:var(--text-tertiary);margin-top:3px}
.customer-preview-table .is-invalid{color:#946132}
.customer-preview-table .is-ready,.customer-preview-table .is-imported{color:#38634e}
.customer-import-complete{text-align:center;padding:36px 20px}
.customer-import-check{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;border:1px solid #dce7e0;border-radius:50%;color:#38634e;background:#f8fbf9;font-size:24px}
.customer-import-complete h3{font-size:22px;margin:18px 0 10px;font-weight:600}
.customer-import-complete p{font-size:14px;color:var(--text-secondary);line-height:1.8}
.customer-transfer-error{font-size:13px;color:#a23b36;line-height:1.7;margin:16px 0 0}
.customer-transfer-progress{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:9px;margin:18px 0 0}
.customer-transfer-progress:before{content:"";width:14px;height:14px;flex-shrink:0;border:1.5px solid #d8dce2;border-top-color:#65748a;border-radius:50%;animation:customer-transfer-spin .8s linear infinite}
@keyframes customer-transfer-spin{to{transform:rotate(360deg)}}
.customer-export-options{border:0;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:10px}
.customer-export-options legend{font-size:13px;color:var(--text-secondary);padding:0;margin-bottom:12px}
.customer-export-options label{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border-default);border-radius:8px;cursor:pointer;background:#fff}
.customer-export-options label:has(input:checked){border-color:#74849a;background:#f7f9fb}
.customer-export-options label:has(input:disabled){opacity:.45;cursor:default}
.customer-export-options input{appearance:none;width:16px;height:16px;border:1px solid #bdc4cf;border-radius:50%;margin:0;background:#fff;flex-shrink:0}
.customer-export-options input:checked{border:5px solid #52667e}
.customer-export-options strong,.customer-export-options small{display:block;font-size:13px;line-height:1.6;font-weight:500}
.customer-export-options small{font-size:12px;color:var(--text-tertiary);font-weight:400}
.customer-transfer-content button:focus-visible,.customer-transfer-content input:focus-visible,.customer-import-mapping summary:focus-visible,.customer-preview-table:focus-visible{outline:2px solid #9cafc4;outline-offset:3px}
@media(max-width:640px){.customer-transfer-dialog,.customer-export-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 24px)}.customer-transfer-content{padding:18px}.customer-transfer-dialog .dialog-heading,.customer-export-dialog .dialog-heading{padding:18px}.customer-transfer-footer{padding:14px 18px}.customer-template-row{align-items:flex-start;flex-direction:column;gap:6px}.customer-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-import-summary{gap:24px}.customer-toolbar-actions{flex-wrap:wrap}.customer-upload-area{padding:26px 16px}.customer-import-file{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.customer-transfer-progress:before{animation:none}.customer-upload-area{transition:none}}

.customer-imported-contacts{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border-subtle)}
.customer-imported-contacts h3{font-size:14px;font-weight:600}
.customer-imported-person{padding:14px 0;border-top:1px solid var(--border-subtle);font-size:13px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.customer-imported-person>strong{font-weight:550}.customer-imported-person>span,.customer-imported-person>small{color:var(--text-tertiary);font-size:12px}
.customer-imported-person>div{flex-basis:100%;display:flex;gap:8px 18px;flex-wrap:wrap}.customer-imported-person a{color:var(--text-secondary);text-decoration:none;overflow-wrap:anywhere}.customer-imported-person a:hover{text-decoration:underline}
