  $("#btnUpload").addEventListener("click", () => {
    const f = el("input", {type:"file", accept:".html,.htm,.txt", required:"required"});
    const nm = el("input", {class:"inp", placeholder:"Name (defaults to filename)"});
    openModal("Upload Template", el("div",{class:"form"},
      el("label",{},"HTML file"), f, el("label",{},"Template name (optional)"), nm), {
      buttons: [{ label:"Upload", kind:"btn", onClick: async (close) => {
        if (!f.files[0]) return;
        const fd = new FormData(); fd.append("file", f.files[0]);
        if (nm.value.trim()) fd.append("name", nm.value.trim());
        try {
          const d = await api("/templates/upload", {method:"POST", body:fd});
          toast(`Uploaded as “${d.name}”`, "ok"); close(); await load();
        } catch (err) { toast("Upload failed: " + err.message, "err"); }
      }}]
    });
  });

