86:        const inv = sampleTable("Invalid (sample)", d.invalid_sample, ["email","error"]);
87:        const dup = sampleTable("Duplicates (sample)", d.duplicates_sample, ["email","error"]);
88:        const sup = sampleTable("Suppressed (sample)", d.suppressed_sample, ["email","error"]);
106:          if (parsed && (parsed.summary.invalid > 0 || parsed.summary.duplicates > 0))
112:            toast(`Imported ${d.added} recipients (${d.duplicates} dup, ${d.invalid} invalid, ${d.suppressed} suppressed)`, "ok");
140:          const why = (d.duplicates && d.duplicates[0] && d.duplicates[0].reason) ||
141:                      (d.invalid && d.invalid[0] && d.invalid[0].reason) ||
142:                      (d.suppressed && d.suppressed[0] && d.suppressed[0].reason) || "rejected";
