/* Admin-Sidebar: mobiles Off-Canvas-Verhalten (zweite v1-JS-Ausnahme, CLAUDE.md). Togglet die Klasse cp-sidebar-open am ; das CSS schiebt die Sidebar ein. Schließt bei Klick auf das Overlay oder auf einen Menüpunkt. Kein Framework. */ (function () { var oeffner = document.querySelector("[data-sidebar-open]"); var overlay = document.querySelector("[data-sidebar-close]"); var sidebar = document.getElementById("cp-sidebar"); if (!oeffner || !sidebar) return; function setOffen(offen) { document.body.classList.toggle("cp-sidebar-open", offen); oeffner.setAttribute("aria-expanded", offen ? "true" : "false"); if (overlay) overlay.hidden = !offen; } oeffner.addEventListener("click", function () { setOffen(true); }); if (overlay) overlay.addEventListener("click", function () { setOffen(false); }); sidebar.addEventListener("click", function (e) { if (e.target.closest("a")) setOffen(false); }); document.addEventListener("keydown", function (e) { if (e.key === "Escape") setOffen(false); }); })();