#import-contact-flow { margin-top:20px; padding:20px; border:1px solid var(--color-divider); border-radius:10px; background:var(--color-surface); color:var(--color-text); }
#import-contact-flow[hidden] { display:none; }
#import-contact-flow h3 { margin:0 0 16px; font-size:17px; }
#import-contact-flow .import-contact-option { display:flex; align-items:center; gap:9px; font-weight:600; }
#import-contact-flow input[type=checkbox] { width:17px; height:17px; flex-shrink:0; accent-color:var(--color-accent); }
#import-contact-flow p { font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
#import-contact-flow .import-contact-help { color:var(--color-muted); font-size:12px; }
#import-contact-flow .import-contact-counts { display:flex; flex-wrap:wrap; gap:10px 25px; margin:20px 0; padding:14px; background:var(--color-surface-2); border-radius:7px; font-size:12px; }
#import-contact-flow .import-contact-counts strong { font-size:16px; margin-right:4px; }
#import-contact-flow .import-contact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:14px 0; }
#import-contact-flow button { min-height:36px; padding:8px 12px; border:1px solid var(--color-divider); border-radius:6px; background:var(--color-surface-2); color:var(--color-text); font:600 12px/1.4 Inter,Segoe UI,sans-serif; cursor:pointer; }
#import-contact-flow button:disabled { opacity:.5; cursor:default; }
#import-contact-flow button[hidden] { display:none; }
#import-contact-flow :focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
#import-contact-flow #import-confirm { background:var(--color-accent); color:var(--color-on-accent,#fff); border-color:var(--color-accent); }
#import-contact-flow .import-contact-confirm { display:flex; gap:20px; align-items:center; justify-content:space-between; padding-top:12px; margin-top:20px; border-top:1px solid var(--color-divider); }
#import-contact-flow .import-contact-confirm button { flex-shrink:0; }
#import-contact-flow progress { width:100%; height:8px; accent-color:var(--color-accent); }
#import-contact-flow .import-contact-error { color:var(--color-danger); }
#import-contact-flow summary { cursor:pointer; font-size:12px; font-weight:600; padding:10px 0; }
#import-contact-flow .import-contact-table { overflow:auto; border:1px solid var(--color-divider); border-radius:7px; }
#import-contact-flow table { width:100%; border-collapse:collapse; font-size:12px; }
#import-contact-flow td,#import-contact-flow th { padding:10px; text-align:left; vertical-align:top; white-space:normal; overflow-wrap:anywhere; border-bottom:1px solid var(--color-divider); }
#import-contact-flow th { background:var(--color-surface-2); }
#import-contact-flow .import-contact-details { display:grid; gap:12px; min-width:180px; }
#import-contact-flow ul { padding-left:18px; margin:7px 0; }
@media(max-width:600px) { #import-contact-flow { padding:14px; } #import-contact-flow .import-contact-confirm { flex-direction:column; align-items:stretch; gap:6px; } #import-contact-flow .import-contact-counts { display:grid; grid-template-columns:1fr 1fr; gap:14px; } #import-contact-flow td,#import-contact-flow th { padding:7px; } }
.import-preview-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border-top:1px solid var(--color-divider); color:var(--color-text); }
.import-preview-toolbar h3 { margin:0 0 8px; font-size:14px; }
.import-preview-toolbar label { display:flex; align-items:center; gap:7px; font-size:12px; }
.import-preview-toolbar input { accent-color:var(--color-accent); }
.import-preview-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:12px; }
.import-preview-toolbar p { flex-basis:100%; margin:0; font-size:12px; color:var(--color-muted); }
.import-preview-toolbar .import-preview-error { color:var(--color-danger); }
#campaign-import-preview .import-preview-edit,#campaign-import-preview .import-preview-pagination button { min-height:32px; padding:6px 10px; border:1px solid var(--color-divider); border-radius:6px; background:var(--color-surface-2); color:var(--color-accent); font-size:12px; cursor:pointer; }
#campaign-import-preview .import-preview-edit { display:block; margin-top:7px; white-space:nowrap; }
#campaign-import-preview .import-preview-edit.has-errors { border-color:var(--color-warning); color:var(--color-warning); }
#campaign-import-preview button:disabled { opacity:.5; cursor:default; }
#import-row-dialog { inset:0; width:min(650px,calc(100vw - 28px)); height:fit-content; min-height:0; max-height:88dvh; padding:0; margin:auto; border:1px solid var(--color-divider); border-radius:12px; background:var(--color-surface); color:var(--color-text); overflow:auto; animation:none; }
#import-row-dialog::backdrop { background:rgb(5 14 23 / 65%); }
#import-row-dialog .import-row-head { position:sticky; top:0; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 20px; margin:0; background:var(--color-surface); border-bottom:1px solid var(--color-divider); }
#import-row-dialog h2 { margin:0; font-size:18px; }
#import-row-dialog p { font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
#import-row-description { margin:5px 0 0; color:var(--color-muted); }
#import-row-dialog .import-row-head button { width:30px; height:30px; padding:0; font-size:22px; flex-shrink:0; }
#import-row-dialog button { min-height:32px; padding:8px 12px; border:1px solid var(--color-divider); border-radius:6px; background:var(--color-surface-2); color:var(--color-text); font:600 12px/1.4 Inter,Segoe UI,sans-serif; cursor:pointer; }
#import-row-dialog button:disabled,#import-row-dialog input:disabled { opacity:.6; cursor:default; }
#import-row-dialog .import-row-body { padding:16px 20px; }
#import-row-issues { margin:0 0 15px; color:var(--color-warning); }
#import-row-dialog .import-row-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
#import-row-dialog .import-row-fields label { display:grid; gap:6px; align-content:start; min-width:0; font-size:12px; font-weight:600; }
#import-row-dialog .import-row-fields small { font-size:11px; color:var(--color-muted); font-weight:400; }
#import-row-dialog .import-row-fields input { width:100%; min-width:0; min-height:38px; border:1px solid var(--color-divider); border-radius:6px; padding:9px 10px; background:var(--color-surface-2); color:var(--color-text); }
#import-row-dialog .import-row-wide { grid-column:1 / -1; }
#import-row-error { color:var(--color-danger); margin:14px 0 0; min-height:18px; }
#import-row-dialog .import-row-footer { position:sticky; bottom:0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 20px; border-top:1px solid var(--color-divider); background:var(--color-surface); }
#import-row-dialog .import-row-footer p { flex:1 1 180px; margin:0; color:var(--color-muted); font-size:11px; }
#import-row-dialog .import-row-footer > div { display:flex; flex-wrap:wrap; gap:8px; }
#import-row-dialog #import-row-save { background:var(--color-accent); border-color:var(--color-accent); color:var(--color-on-accent,#fff); }
#import-row-dialog :focus-visible,#campaign-import-preview :focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
@media(max-width:600px) { #import-row-dialog .import-row-fields { grid-template-columns:1fr; } #import-row-dialog .import-row-head,#import-row-dialog .import-row-body,#import-row-dialog .import-row-footer { padding:14px; } .import-preview-toolbar { padding:14px; } .import-preview-pagination { width:100%; justify-content:space-between; gap:6px; } }
