// ── Skeleton loaders (RANKED #7 — 14 Apr 2026) ────────────────── /** * Render skeleton KPI cards (for dashboards, reports, karvsense) * @param int $count Number of skeleton cards to render */ function kvt_skeleton_cards(int $count = 4): void { echo '
'; for ($i = 0; $i < $count; $i++) { echo '
' . '
' . '
' . '
' . '
'; } echo '
'; } /** * Render skeleton table rows (for any data table) * @param int $rows Number of skeleton rows * @param int $cols Number of columns per row */ function kvt_skeleton_table(int $rows = 8, int $cols = 5): void { echo '
'; for ($r = 0; $r < $rows; $r++) { echo '
'; for ($c = 0; $c < $cols; $c++) { echo '
'; } echo '
'; } echo '
'; } KarvTec Reports
REPORTS