{ingredients.map((ing) => {
diff --git a/web/dashboard/src/components/menu/menu-admin-screen.tsx b/web/dashboard/src/components/menu/menu-admin-screen.tsx
index dace65f..8689802 100644
--- a/web/dashboard/src/components/menu/menu-admin-screen.tsx
+++ b/web/dashboard/src/components/menu/menu-admin-screen.tsx
@@ -5,6 +5,7 @@ import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { useLocale, useTranslations } from "next-intl";
import { useIsRtl } from "@/lib/use-is-rtl";
import { Box, Pencil, Plus, Search, Video, X } from "lucide-react";
+import { DemoDataBanner } from "@/components/demo/demo-data-banner";
import { Menu3dUpload } from "@/components/media/menu-3d-upload";
import { MenuAi3dGenerate } from "@/components/media/menu-ai-3d-generate";
import { CategoryVisual } from "@/components/menu/category-visual";
@@ -449,7 +450,19 @@ export function MenuAdminScreen() {
)
) : (
/* ── Catalog tab ─────────────────────────────────────────────────── */
-
+
+ {categories.length === 0 && items.length === 0 && (
+
+ )}
+
{/* ── Category Sidebar (desktop) ─────────────────────────────── */}
)}
+
)}
diff --git a/web/dashboard/src/components/tables/tables-screen.tsx b/web/dashboard/src/components/tables/tables-screen.tsx
index 8079644..92654db 100644
--- a/web/dashboard/src/components/tables/tables-screen.tsx
+++ b/web/dashboard/src/components/tables/tables-screen.tsx
@@ -5,6 +5,7 @@ import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { useTranslations } from "next-intl";
import * as signalR from "@microsoft/signalr";
import { Plus, QrCode, Pencil, Video, Trash2, Copy, ExternalLink } from "lucide-react";
+import { DemoDataBanner } from "@/components/demo/demo-data-banner";
import { notify } from "@/lib/notify";
import { MediaPairUpload } from "@/components/media/media-pair-upload";
import { PageHeader } from "@/components/layout/page-header";
@@ -346,9 +347,19 @@ export function TablesScreen() {
{isLoading ? (