@* Bulk equipment import modal wired straight into IUnsTreeService. Paste a CSV (header + rows), the modal parses it into EquipmentInput rows and calls ImportEquipmentAsync, then shows the Inserted / Skipped / Errors summary in place. The host owns visibility; "Close" raises OnImported so the page can reload the whole tree (an import can add equipment across many lines/clusters). Required header columns (in order): Name, MachineCode, UnsLineId, DriverInstanceId. Optional: ZTag, SAPID, Manufacturer, Model. Existing rows are detected by MachineCode and skipped (additive-only — no updates), matching the retired /clusters/{id}/equipment/import page. *@ @using ZB.MOM.WW.OtOpcUa.AdminUI.Uns @inject IUnsTreeService Svc @if (Visible) {