0 On Track
0 Approaching
0 At Risk
0 Active Total
Loading discharge board...
Room —
`); win.document.close(); win.focus(); setTimeout(() => win.print(), 500); } // ── Init ────────────────────────────────────────────────────── async function init() { await Promise.all([loadResidents(), loadTaskSummary(), loadStaff()]); renderBoard(); refreshOverdueButton(); } init();