dialog.csv-import-dialog{width:min(1000px,94vw);max-height:90vh;overflow:auto;padding:26px}
.csv-import-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px}
.csv-import-heading>span{font:10px var(--mono);color:var(--tone-7)}
.csv-file{padding:12px;border:1px dashed var(--line);border-radius:8px;background:var(--tone-1)}
.csv-file input{border:0;background:transparent;padding:6px 0}.csv-file small{color:var(--tone-7);overflow-wrap:anywhere}
#csv-source{font:11px/1.7 var(--mono);width:100%;resize:vertical;min-height:130px}
.csv-source-tools{display:flex;align-items:center;justify-content:space-between;gap:20px}.csv-source-tools>.field{flex:1;max-width:330px}
.csv-map-list{max-height:38vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:0 14px}
.csv-map-row{display:grid;grid-template-columns:minmax(120px,1fr) 25px minmax(180px,1fr);align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.csv-map-row:last-child{border-bottom:0}.csv-map-row strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.csv-map-row small{display:block;font-size:10px;color:var(--tone-7);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.csv-map-row>.field{margin:0}.csv-map-row>span{color:var(--tone-6)}
.csv-defaults{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:18px;min-width:0}.csv-defaults select{min-width:0;width:100%}
.csv-import-mode{padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--tone-1);margin:14px 0}
.csv-import-mode>.field{margin-bottom:0}.csv-import-mode .csv-defaults{margin-top:12px}.csv-update-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.csv-update-options .field{margin-bottom:0}
.csv-update-list{max-height:37vh;overflow:auto;padding-right:5px}.csv-update-card{border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:12px;background:var(--paper)}.csv-update-card:last-child{margin-bottom:0}
.csv-update-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.csv-update-card header label{display:flex;gap:12px;align-items:flex-start}.csv-update-card input{width:15px;height:15px;accent-color:var(--ink);margin-top:2px}.csv-update-card strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}.csv-update-card small{display:block;font:10px/1.6 var(--mono);color:var(--tone-7);margin-top:4px;overflow-wrap:anywhere}.csv-update-state{font-size:10px;color:var(--tone-7);white-space:nowrap;padding:3px 6px;border:1px solid var(--line);border-radius:4px}.csv-update-card>.csv-error{font-size:11px;line-height:1.7;margin-top:10px}.csv-update-card>p{font-size:11px;margin:12px 0 0}
.csv-diff-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:12px;font-size:11px}.csv-diff-table th,.csv-diff-table td{text-align:left;vertical-align:top;padding:9px 12px;border-top:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;font-weight:400}.csv-diff-table thead th{font:9px var(--mono);color:var(--tone-7);text-transform:uppercase}.csv-diff-table th:first-child{width:24%}.csv-diff-table del{color:var(--tone-7);text-decoration:none}.csv-diff-table ins{text-decoration:none;color:var(--ink);font-weight:500}
.csv-stats{display:flex;gap:24px;margin:18px 0;font-size:11px;color:var(--tone-7)}.csv-stats b{font-size:20px;font-weight:500;color:var(--ink);margin-right:4px}
.csv-review-tools{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.csv-review-tools .btn{font-size:11px}
.csv-preview-wrap{overflow:auto;max-height:40vh;border:1px solid var(--line);border-radius:8px}
.csv-import-dialog .modal-actions{position:sticky;bottom:-26px;z-index:3;background:var(--paper);border-top:1px solid var(--line);padding:14px 0;margin-top:14px}
.csv-import-dialog>p{margin-bottom:16px}
.csv-preview-wrap{max-height:34vh}
.csv-preview{border-collapse:separate;border-spacing:0;font-size:11px;width:100%}.csv-preview th{background:var(--paper);position:sticky;top:0;z-index:1;text-align:left;font-size:9px;color:var(--tone-7);letter-spacing:.4px;text-transform:uppercase;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.csv-preview td{padding:12px;border-bottom:1px solid var(--line);max-width:300px;min-width:100px;overflow-wrap:anywhere;vertical-align:top}.csv-preview td:first-child,.csv-preview td:nth-child(2){min-width:45px}.csv-preview input{width:15px;height:15px;accent-color:var(--ink)}.csv-preview tbody tr:last-child td{border-bottom:0}.csv-row-issues{min-width:280px!important;line-height:1.6}.csv-row-issues>div+div{margin-top:6px}.csv-error{color:var(--error)}.csv-warning{color:var(--tone-7)}.csv-ok{color:var(--ink)}.csv-excluded{opacity:.5}.csv-excluded input{opacity:1}
dialog .csv-hint{font-size:10px;line-height:1.7;color:var(--tone-7);margin:12px 0 0}.csv-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:650px){dialog.csv-import-dialog{padding:18px}.csv-defaults{grid-template-columns:1fr}.csv-map-row{grid-template-columns:minmax(85px,1fr) 12px minmax(140px,1fr);gap:8px}.csv-map-row small{max-width:140px}.csv-stats{gap:12px}.csv-stats b{font-size:17px}.csv-import-dialog .modal-actions{flex-wrap:wrap}.csv-import-dialog .modal-actions>.btn{flex:1;justify-content:center}.csv-source-tools{gap:12px}}
@media(max-width:650px){.csv-update-options{grid-template-columns:1fr}.csv-stats{flex-wrap:wrap}.csv-update-card{padding:10px}.csv-diff-table th,.csv-diff-table td{padding:8px 5px}.csv-update-card header{gap:8px}.csv-import-dialog .modal-actions{bottom:-18px}}
