var k=(h,e)=>()=>(e||h((e={exports:{}}).exports,e),e.exports);var C=k((E,p)=>{const b="modulepreload",S=function(h){return"/build/"+h},m={},T=function(e,t,s){let a=Promise.resolve();if(t&&t.length>0){let f=function(d){return Promise.all(d.map(l=>Promise.resolve(l).then(u=>({status:"fulfilled",value:u}),u=>({status:"rejected",reason:u}))))};var r=f;document.getElementsByTagName("link");const n=document.querySelector("meta[property=csp-nonce]"),o=n?.nonce||n?.getAttribute("nonce");a=f(t.map(d=>{if(d=S(d),d in m)return;m[d]=!0;const l=d.endsWith(".css"),u=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${u}`))return;const c=document.createElement("link");if(c.rel=l?"stylesheet":b,l||(c.as="script"),c.crossOrigin="",c.href=d,o&&c.setAttribute("nonce",o),document.head.appendChild(c),l)return new Promise((y,v)=>{c.addEventListener("load",y),c.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${d}`)))})}))}function i(n){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=n,window.dispatchEvent(o),!o.defaultPrevented)throw n}return a.then(n=>{for(const o of n||[])o.status==="rejected"&&i(o.reason);return e().catch(i)})};class g{constructor(){this.cards=[],this.currentTheme="light",this.searchTerm="",this.filterValue="all",this.sortValue="default",this.refreshInterval=null,this.isRefreshing=!1,this.pinnedCards=new Set,this.cardSizes=new Map,this.taskData=[],this.analyticsData={},this.chartInstances=new Map,this.lazyLoadedComponents=new Set,this.errorBoundaries=new Map,this.offlineMode=!1,this.loadingStates=new Map,this.init()}init(){this.loadTheme(),this.setupEventListeners(),this.initializeCards(),this.setupAccessibility(),this.startRefreshSimulation(),this.loadFromStorage(),this.initializePhase3Features(),this.loadAnalyticsData(),this.initializePhase4Features()}initializePhase4Features(){this.setupLazyLoading(),this.setupLoadingSkeletons(),this.setupErrorBoundaries(),this.setupOfflineMode(),this.setupExportFunctionality(),this.optimizeBundleSize(),this.addMicroInteractions()}setupLazyLoading(){this.intersectionObserver=new IntersectionObserver(e=>{e.forEach(t=>{if(t.isIntersecting){const s=t.target;this.lazyLoadCard(s)}})},{rootMargin:"50px 0px",threshold:.1}),this.cards.forEach(e=>{this.intersectionObserver.observe(e)})}lazyLoadCard(e){const t=e.getAttribute("data-card");this.lazyLoadedComponents.has(t)||(this.showLoadingSkeleton(e),setTimeout(()=>{this.loadCardContent(e),this.lazyLoadedComponents.add(t),this.hideLoadingSkeleton(e)},200))}loadCardContent(e){switch(e.getAttribute("data-card")){case"charts":this.lazyLoadChart(e);break;case"analytics":this.lazyLoadAnalytics(e);break;case"tasks":this.lazyLoadTasks(e);break;default:e.classList.add("loaded")}}lazyLoadChart(e){this.chartInstances.has("dashboardChart")||this.createChart("dashboardChart","bar"),e.classList.add("loaded")}lazyLoadAnalytics(e){this.renderAnalyticsWidgets(e),e.classList.add("loaded")}lazyLoadTasks(e){this.renderTaskList(e),e.classList.add("loaded")}setupLoadingSkeletons(){this.createSkeletonTemplates()}createSkeletonTemplates(){const e={card:`
                <div class="skeleton-card">
                    <div class="skeleton-header">
                        <div class="skeleton-icon"></div>
                        <div class="skeleton-title"></div>
                    </div>
                    <div class="skeleton-content">
                        <div class="skeleton-line"></div>
                        <div class="skeleton-line short"></div>
                        <div class="skeleton-line"></div>
                    </div>
                </div>
            `,chart:`
                <div class="skeleton-chart">
                    <div class="skeleton-header">
                        <div class="skeleton-icon"></div>
                        <div class="skeleton-title"></div>
                    </div>
                    <div class="skeleton-chart-canvas"></div>
                </div>
            `,analytics:`
                <div class="skeleton-analytics">
                    <div class="skeleton-widget"></div>
                    <div class="skeleton-widget"></div>
                    <div class="skeleton-widget"></div>
                    <div class="skeleton-widget"></div>
                </div>
            `};this.skeletonTemplates=e}showLoadingSkeleton(e){const t=e.getAttribute("data-card"),s=this.getSkeletonType(t);this.skeletonTemplates[s]&&(e.innerHTML=this.skeletonTemplates[s],e.classList.add("loading"))}hideLoadingSkeleton(e){e.classList.remove("loading"),e.classList.add("loaded")}getSkeletonType(e){return{charts:"chart",analytics:"analytics",stats:"card",tasks:"card",messages:"card",notifications:"card"}[e]||"card"}setupErrorBoundaries(){this.cards.forEach(e=>{this.wrapCardInErrorBoundary(e)})}wrapCardInErrorBoundary(e){const t=e.getAttribute("data-card"),s={hasError:!1,error:null,retryCount:0,maxRetries:3};this.errorBoundaries.set(t,s),e.addEventListener("error",a=>{this.handleCardError(t,a)})}handleCardError(e,t){const s=this.errorBoundaries.get(e);s&&(s.hasError=!0,s.error=t,s.retryCount<s.maxRetries?(s.retryCount++,this.showErrorState(e,!0),setTimeout(()=>{this.retryCardLoad(e)},1e3*s.retryCount)):this.showErrorState(e,!1))}showErrorState(e,t=!0){const s=document.querySelector(`[data-card="${e}"]`);if(!s)return;const a=`
            <div class="error-boundary">
                <div class="error-icon">
                    <i class="fas fa-exclamation-triangle"></i>
                </div>
                <div class="error-message">
                    <h4>Failed to load content</h4>
                    <p>Something went wrong while loading this section.</p>
                    ${t?`<button class="retry-btn" onclick="dashboardManager.retryCardLoad('`+e+`')">Try Again</button>`:""}
                </div>
            </div>
        `;s.innerHTML=a,s.classList.add("error-state")}retryCardLoad(e){const t=document.querySelector(`[data-card="${e}"]`);if(!t)return;const s=this.errorBoundaries.get(e);s&&(s.hasError=!1,s.error=null),t.classList.remove("error-state"),this.lazyLoadCard(t)}setupOfflineMode(){this.checkOnlineStatus(),window.addEventListener("online",()=>this.handleOnline()),window.addEventListener("offline",()=>this.handleOffline()),this.setupOfflineCache()}checkOnlineStatus(){this.offlineMode=!navigator.onLine,this.updateOfflineUI()}handleOnline(){this.offlineMode=!1,this.updateOfflineUI(),this.syncOfflineData(),this.announceToScreenReader("Connection restored. Syncing data...")}handleOffline(){this.offlineMode=!0,this.updateOfflineUI(),this.announceToScreenReader("Connection lost. Working in offline mode.")}updateOfflineUI(){const e=document.body;this.offlineMode?(e.classList.add("offline-mode"),this.showOfflineIndicator()):(e.classList.remove("offline-mode"),this.hideOfflineIndicator())}showOfflineIndicator(){let e=document.getElementById("offline-indicator");e||(e=document.createElement("div"),e.id="offline-indicator",e.className="offline-indicator",e.innerHTML=`
                <i class="fas fa-wifi-slash"></i>
                <span>Offline Mode</span>
            `,document.body.appendChild(e)),e.style.display="flex"}hideOfflineIndicator(){const e=document.getElementById("offline-indicator");e&&(e.style.display="none")}setupOfflineCache(){"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(e=>{console.log("Service Worker registered for offline caching")}).catch(e=>{console.log("Service Worker registration failed")})}syncOfflineData(){const e=JSON.parse(localStorage.getItem("offline-data")||"[]");e.length>0&&(console.log("Syncing offline data:",e),localStorage.removeItem("offline-data"))}setupExportFunctionality(){const e=document.getElementById("exportChart"),t=document.getElementById("exportData");e&&e.addEventListener("click",()=>this.exportChart()),t&&t.addEventListener("click",()=>this.exportData())}exportChart(){const e=document.getElementById("dashboardChart");if(!e){this.showNotification("No chart available to export","error");return}try{const t=document.createElement("a");t.download=`dashboard-chart-${new Date().toISOString().split("T")[0]}.png`,t.href=e.toDataURL(),t.click(),this.showNotification("Chart exported successfully","success")}catch(t){this.showNotification("Failed to export chart","error"),console.error("Chart export error:",t)}}exportData(){try{const e={timestamp:new Date().toISOString(),cards:this.cards.map(r=>({id:r.getAttribute("data-card"),size:this.cardSizes.get(r.getAttribute("data-card"))||"default",pinned:this.pinnedCards.has(r.getAttribute("data-card"))})),theme:this.currentTheme,filters:{search:this.searchTerm,filter:this.filterValue,sort:this.sortValue},analytics:this.analyticsData},t=JSON.stringify(e,null,2),s=new Blob([t],{type:"application/json"}),a=URL.createObjectURL(s),i=document.createElement("a");i.href=a,i.download=`dashboard-data-${new Date().toISOString().split("T")[0]}.json`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(a),this.showNotification("Data exported successfully","success")}catch(e){this.showNotification("Failed to export data","error"),console.error("Data export error:",e)}}optimizeBundleSize(){this.lazyLoadHeavyComponents(),this.cleanupEventListeners(),this.setupAssetCaching()}lazyLoadHeavyComponents(){typeof Chart>"u"&&T(()=>import("https://cdn.jsdelivr.net/npm/chart.js"),[]).then(()=>{console.log("Chart.js loaded dynamically")})}cleanupEventListeners(){this.cards.forEach(e=>{})}setupAssetCaching(){if("caches"in window){const e=this.getCacheableAssets();if(e.length===0)return;caches.open("dashboard-v1").then(t=>Promise.allSettled(e.map(s=>t.add(s).catch(()=>null)))).catch(t=>{console.warn("Asset caching skipped:",t)})}}getCacheableAssets(){const e=new Set,t=window.location.origin;return document.querySelectorAll('link[rel="stylesheet"][href]').forEach(s=>{try{const a=new URL(s.getAttribute("href"),t);a.origin===t&&e.add(a.href)}catch{}}),document.querySelectorAll("script[src]").forEach(s=>{try{const a=new URL(s.getAttribute("src"),t);a.origin===t&&e.add(a.href)}catch{}}),e.add(window.location.href),Array.from(e)}addMicroInteractions(){this.setupHoverEffects(),this.setupClickAnimations(),this.setupLoadingAnimations()}setupHoverEffects(){this.cards.forEach(e=>{e.addEventListener("mouseenter",()=>{e.style.transform="translateY(-2px)",e.style.boxShadow="0 4px 12px rgba(0,0,0,0.15)"}),e.addEventListener("mouseleave",()=>{e.style.transform="translateY(0)",e.style.boxShadow=""})})}setupClickAnimations(){document.querySelectorAll(".btn, .task-item, .activity-item").forEach(t=>{t.addEventListener("click",()=>{t.style.transform="scale(0.98)",setTimeout(()=>{t.style.transform=""},150)})})}setupLoadingAnimations(){this.loadingStates.forEach((e,t)=>{if(e){const s=document.querySelector(`[data-loading="${t}"]`);s&&s.classList.add("loading")}})}initializePhase3Features(){this.setupFiltering(),this.setupSorting(),this.setupSearch(),this.setupCardResizing(),this.setupPinning(),this.setupAdvancedTaskManagement(),this.setupEnhancedCharts()}setupFiltering(){const e=document.getElementById("filterSelect");e&&e.addEventListener("change",t=>{this.filterValue=t.target.value,this.applyFilters(),this.saveToStorage()})}applyFilters(){this.cards.forEach(e=>{const t=e.getAttribute("data-type"),s=this.filterValue==="all"||t===this.filterValue;e.style.display=s?"block":"none"})}setupSorting(){const e=document.getElementById("sortSelect");e&&e.addEventListener("change",t=>{this.sortValue=t.target.value,this.applySorting(),this.saveToStorage()})}applySorting(){const e=document.querySelector(".dashboard-grid");if(!e)return;const t=Array.from(this.cards);switch(this.sortValue){case"name":t.sort((s,a)=>{const i=s.querySelector(".card-title")?.textContent||"",r=a.querySelector(".card-title")?.textContent||"";return i.localeCompare(r)});break;case"priority":t.sort((s,a)=>{const i=s.getAttribute("data-priority")||"low",r=a.getAttribute("data-priority")||"low",n={high:3,medium:2,low:1};return n[r]-n[i]});break;case"recent":t.sort((s,a)=>{const i=new Date(s.getAttribute("data-last-updated")||0);return new Date(a.getAttribute("data-last-updated")||0)-i});break}t.forEach(s=>{e.appendChild(s)})}setupSearch(){const e=document.getElementById("dashboardSearch");e&&e.addEventListener("input",t=>{this.searchTerm=t.target.value.toLowerCase(),this.applySearch(),this.saveToStorage()})}applySearch(){this.cards.forEach(e=>{const t=e.querySelector(".card-title")?.textContent.toLowerCase()||"",s=e.querySelector(".card-content")?.textContent.toLowerCase()||"",a=!this.searchTerm||t.includes(this.searchTerm)||s.includes(this.searchTerm);e.style.display=a?"block":"none"})}setupCardResizing(){this.cards.forEach(e=>{const t=e.querySelector(".resize-handle");if(t){let s=!1,a=0,i=0;t.addEventListener("mousedown",r=>{s=!0,a=r.clientY,i=e.offsetHeight,document.body.style.cursor="ns-resize",r.preventDefault()}),document.addEventListener("mousemove",r=>{if(!s)return;const n=r.clientY-a,o=Math.max(200,i+n);e.style.height=o+"px";const f=e.getAttribute("data-card");this.cardSizes.set(f,o),this.saveToStorage()}),document.addEventListener("mouseup",()=>{s&&(s=!1,document.body.style.cursor="")})}})}setupPinning(){this.cards.forEach(e=>{const t=e.querySelector(".pin-btn");t&&t.addEventListener("click",()=>{const s=e.getAttribute("data-card");this.pinnedCards.has(s)?this.unpinCard(s):this.pinCard(s),this.saveToStorage()})})}pinCard(e){this.pinnedCards.add(e);const t=document.querySelector(`[data-card="${e}"]`);t&&(t.classList.add("pinned"),t.querySelector(".pin-btn")?.classList.add("active"))}unpinCard(e){this.pinnedCards.delete(e);const t=document.querySelector(`[data-card="${e}"]`);t&&(t.classList.remove("pinned"),t.querySelector(".pin-btn")?.classList.remove("active"))}setupAdvancedTaskManagement(){this.loadTaskData(),this.setupTaskFilters(),this.setupTaskSorting(),this.setupTaskSearch(),this.setupBulkActions()}loadTaskData(){this.taskData=JSON.parse(localStorage.getItem("dashboard-tasks")||"[]"),this.renderTaskList()}renderTaskList(e){const t=e||document.getElementById("taskList");if(!t)return;const s=this.filterTasks(this.taskData);t.innerHTML=s.map(a=>`
            <div class="task-item ${a.completed?"completed":""}" data-task-id="${a.id}">
                <input type="checkbox" ${a.completed?"checked":""} onchange="dashboardManager.toggleTask(${a.id})">
                <div class="task-content">
                    <div class="task-title">${this.escapeHtml(a.title)}</div>
                    <div class="task-meta">
                        <span class="task-priority priority-${a.priority}">${a.priority}</span>
                        <span class="task-due">${a.dueDate}</span>
                        <span class="task-assigned">${a.assignedTo}</span>
                    </div>
                </div>
                <div class="task-actions">
                    <button onclick="dashboardManager.editTask(${a.id})" class="btn-icon">
                        <i class="fas fa-edit"></i>
                    </button>
                    <button onclick="dashboardManager.deleteTask(${a.id})" class="btn-icon">
                        <i class="fas fa-trash"></i>
                    </button>
                </div>
            </div>
        `).join("")}filterTasks(e){return e.filter(t=>{const s=!this.searchTerm||t.title.toLowerCase().includes(this.searchTerm),a=this.filterValue==="all"||t.priority===this.filterValue;return s&&a})}setupTaskFilters(){}setupTaskSorting(){}setupTaskSearch(){}setupBulkActions(){const e=document.getElementById("bulkActions");e&&e.addEventListener("click",t=>{const s=t.target.getAttribute("data-action"),a=this.getSelectedTasks();switch(s){case"complete":a.forEach(i=>this.completeTask(i));break;case"delete":a.forEach(i=>this.deleteTask(i));break;case"priority":a.forEach(i=>this.setTaskPriority(i,"high"));break}})}getSelectedTasks(){return Array.from(document.querySelectorAll(".task-item input:checked")).map(e=>parseInt(e.closest(".task-item").getAttribute("data-task-id")))}toggleTask(e){const t=this.taskData.find(s=>s.id===e);t&&(t.completed=!t.completed,this.saveTaskData(),this.renderTaskList())}completeTask(e){const t=this.taskData.find(s=>s.id===e);t&&(t.completed=!0,this.saveTaskData(),this.renderTaskList())}deleteTask(e){this.taskData=this.taskData.filter(t=>t.id!==e),this.saveTaskData(),this.renderTaskList()}editTask(e){const t=this.taskData.find(s=>s.id===e);t&&this.showTaskEditForm(t)}showTaskEditForm(e){}saveTaskData(){localStorage.setItem("dashboard-tasks",JSON.stringify(this.taskData))}setupEnhancedCharts(){this.createChart("dashboardChart","bar"),this.setupChartInteractions(),this.setupChartThemes()}createChart(e,t){const s=document.getElementById(e);if(!s)return;const a=s.getContext("2d"),r={type:t,data:{labels:["Jan","Feb","Mar","Apr","May","Jun"],datasets:[{label:"Revenue",data:[12e3,19e3,15e3,25e3,22e3,3e4],backgroundColor:"rgba(54, 162, 235, 0.5)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1}]},options:{responsive:!0,plugins:{legend:{position:"top"},title:{display:!0,text:"Monthly Revenue"}}}};this.chartInstances.set(e,new Chart(a,r))}setupChartInteractions(){}setupChartThemes(){}loadTheme(){const e=localStorage.getItem("dashboard-theme")||"light";this.setTheme(e)}setTheme(e){this.currentTheme=e,document.body.setAttribute("data-theme",e),this.saveToStorage()}toggleTheme(){const e=this.currentTheme==="light"?"dark":"light";this.setTheme(e)}setupEventListeners(){const e=document.getElementById("themeToggle");e&&e.addEventListener("click",()=>this.toggleTheme());const t=document.getElementById("refreshBtn");t&&t.addEventListener("click",()=>this.refreshData()),document.addEventListener("keydown",s=>{if(s.ctrlKey||s.metaKey)switch(s.key){case"r":s.preventDefault(),this.refreshData();break;case"t":s.preventDefault(),this.toggleTheme();break;case"f":s.preventDefault(),document.getElementById("dashboardSearch")?.focus();break}})}initializeCards(){this.cards=Array.from(document.querySelectorAll(".dashboard-card")),this.cards.forEach(e=>{const t=e.getAttribute("data-card");this.pinnedCards.has(t)&&e.classList.add("pinned")})}setupAccessibility(){this.setupKeyboardNavigation(),this.setupScreenReaderSupport(),this.setupFocusManagement()}setupKeyboardNavigation(){this.cards.forEach(e=>{e.setAttribute("tabindex","0"),e.addEventListener("keydown",t=>{switch(t.key){case"Enter":case" ":t.preventDefault(),e.click();break;case"ArrowRight":t.preventDefault(),this.focusNextCard(e);break;case"ArrowLeft":t.preventDefault(),this.focusPreviousCard(e);break}})})}focusNextCard(e){const s=(this.cards.indexOf(e)+1)%this.cards.length;this.cards[s].focus()}focusPreviousCard(e){const t=this.cards.indexOf(e),s=t===0?this.cards.length-1:t-1;this.cards[s].focus()}setupScreenReaderSupport(){this.announceToScreenReader("Dashboard loaded successfully")}setupFocusManagement(){}startRefreshSimulation(){this.refreshInterval=setInterval(()=>{this.isRefreshing||this.refreshData()},3e4)}async refreshData(){if(!this.isRefreshing){this.isRefreshing=!0,this.showLoadingState();try{await new Promise(e=>setTimeout(e,1e3)),this.updateCardData(),this.updateCharts(),this.announceToScreenReader("Dashboard data refreshed")}catch(e){console.error("Refresh failed:",e),this.announceToScreenReader("Failed to refresh dashboard data")}finally{this.isRefreshing=!1,this.hideLoadingState()}}}showLoadingState(){this.cards.forEach(e=>{e.classList.add("refreshing")})}hideLoadingState(){this.cards.forEach(e=>{e.classList.remove("refreshing")})}updateCardData(){this.cards.forEach(e=>{const t=e.querySelector(".last-updated");t&&(t.textContent=new Date().toLocaleTimeString())})}updateCharts(){this.chartInstances.forEach(e=>{e.data.datasets[0].data=e.data.datasets[0].data.map(()=>Math.floor(Math.random()*3e4)+1e4),e.update()})}loadFromStorage(){const e=JSON.parse(localStorage.getItem("dashboard-settings")||"{}");e.theme&&this.setTheme(e.theme),e.pinnedCards&&e.pinnedCards.forEach(t=>this.pinCard(t)),e.cardSizes&&(this.cardSizes=new Map(Object.entries(e.cardSizes)),this.applyCardSizes()),e.filters&&(this.searchTerm=e.filters.search||"",this.filterValue=e.filters.filter||"all",this.sortValue=e.filters.sort||"default",this.applyFilters(),this.applySorting(),this.applySearch())}saveToStorage(){const e={theme:this.currentTheme,pinnedCards:Array.from(this.pinnedCards),cardSizes:Object.fromEntries(this.cardSizes),filters:{search:this.searchTerm,filter:this.filterValue,sort:this.sortValue}};localStorage.setItem("dashboard-settings",JSON.stringify(e))}applyCardSizes(){this.cardSizes.forEach((e,t)=>{const s=document.querySelector(`[data-card="${t}"]`);s&&(s.style.height=e+"px")})}loadAnalyticsData(){this.analyticsData={pageViews:1250,uniqueVisitors:890,avgSessionTime:"4:32",bounceRate:"23%",topPages:[{page:"/dashboard",views:450},{page:"/cases",views:320},{page:"/clients",views:280}]}}renderAnalyticsWidgets(e){const t=e||document.getElementById("analyticsContainer");t&&(t.innerHTML=`
            <div class="analytics-widget">
                <h4>Page Views</h4>
                <div class="metric">${this.analyticsData.pageViews}</div>
                <div class="trend positive">+12%</div>
            </div>
            <div class="analytics-widget">
                <h4>Unique Visitors</h4>
                <div class="metric">${this.analyticsData.uniqueVisitors}</div>
                <div class="trend positive">+8%</div>
            </div>
            <div class="analytics-widget">
                <h4>Avg Session Time</h4>
                <div class="metric">${this.analyticsData.avgSessionTime}</div>
                <div class="trend neutral">0%</div>
            </div>
            <div class="analytics-widget">
                <h4>Bounce Rate</h4>
                <div class="metric">${this.analyticsData.bounceRate}</div>
                <div class="trend negative">+2%</div>
            </div>
        `)}showNotification(e,t="info"){const s=document.createElement("div");s.className=`notification notification-${t}`,s.innerHTML=`
            <div class="notification-content">
                <i class="fas ${this.getNotificationIcon(t)}"></i>
                <span>${e}</span>
            </div>
            <button class="notification-close" onclick="this.parentElement.remove()">
                <i class="fas fa-times"></i>
            </button>
        `,document.body.appendChild(s),setTimeout(()=>{s.parentElement&&s.remove()},5e3)}getNotificationIcon(e){return{success:"fa-check-circle",error:"fa-exclamation-circle",warning:"fa-exclamation-triangle",info:"fa-info-circle"}[e]||"fa-info-circle"}announceToScreenReader(e){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("aria-atomic","true"),t.className="sr-only",t.textContent=e,document.body.appendChild(t),setTimeout(()=>{document.body.removeChild(t)},1e3)}escapeHtml(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}destroy(){this.refreshInterval&&clearInterval(this.refreshInterval),this.chartInstances.forEach(e=>{e&&typeof e.destroy=="function"&&e.destroy()}),this.intersectionObserver?.disconnect(),this.cleanupEventListeners()}}document.addEventListener("DOMContentLoaded",()=>{window.dashboardManager=new g});typeof p<"u"&&p.exports&&(p.exports=g)});export default C();
