diff --git a/apps/web/src/components/NotebookPane.test.mjs b/apps/web/src/components/NotebookPane.test.mjs
index 8f00f232..0ee40222 100644
--- a/apps/web/src/components/NotebookPane.test.mjs
+++ b/apps/web/src/components/NotebookPane.test.mjs
@@ -17,7 +17,7 @@ test("keeps the desktop create-note control compact with one neutral outline", (
expect(source).toContain('className="group flex h-12 max-w-[calc(100%-2.25rem)]');
expect(source).toContain('className="group relative flex h-12 min-w-9 flex-1');
expect(source).toContain('before:inset-y-2.5');
- expect(source).toContain('data-[state=open]:bg-slate-100 data-[state=open]:text-slate-950');
+ expect(source).toContain('data-[state=open]:bg-workspace-selection data-[state=open]:text-slate-950');
expect(source).toContain('t("diagram.moreTypes")');
expect(source).toContain('group-data-[state=open]:rotate-180');
expect(source).toContain("edgeever-create-memo-split__more-label");
diff --git a/apps/web/src/components/NotebookPane.tsx b/apps/web/src/components/NotebookPane.tsx
index 03855105..5bfd4776 100644
--- a/apps/web/src/components/NotebookPane.tsx
+++ b/apps/web/src/components/NotebookPane.tsx
@@ -49,6 +49,7 @@ import {
} from "@/components/ui/dropdown-menu";
import { NotebookTreeItem } from "./NotebookTreeItem";
import { cn } from "@/lib/utils";
+import { BETA_BADGE_CLASSNAME } from "@/lib/workspace-ui";
import type { Notebook, AuthUser, NoteCreateKind } from "@edgeever/shared";
import type { NotebookNode, NotebookDropPosition, NotebookSortMode } from "@/lib/app-helpers";
import type { SyncQueueSummary } from "@/lib/sync-queue";
@@ -326,16 +327,12 @@ const CreateMemoTypeItems = ({ onCreateMemo }: { onCreateMemo: (kind?: NoteCreat
onCreateMemo("infographic")}>
{t("infographic.name")}
-
- Beta
-
+ Beta
onCreateMemo("table")}>
{t("structuredTable.name")}
-
- Beta
-
+ Beta
>
);
@@ -721,7 +718,7 @@ export const NotebookPane = ({
diff --git a/apps/web/src/components/settings/PluginManagerCard.tsx b/apps/web/src/components/settings/PluginManagerCard.tsx
index c31c147f..687c5af0 100644
--- a/apps/web/src/components/settings/PluginManagerCard.tsx
+++ b/apps/web/src/components/settings/PluginManagerCard.tsx
@@ -19,6 +19,7 @@ import type { MarketplaceEntry } from "@edgeever/plugin-api";
import { getPluginDetailPage, getPluginDetailPath, hasPluginSettings, isPluginCardCommand, type PluginDetailPage } from "@/lib/plugins/plugin-navigation";
import type { ScheduledTask } from "@edgeever/shared";
import { api, getOrCreateClientDeviceId } from "@/lib/api";
+import { BETA_BADGE_CLASSNAME } from "@/lib/workspace-ui";
import { ScheduledTaskRunHistoryDialog } from "@/components/execution/ScheduledTaskRunHistoryDialog";
import { AppConfirmDialog } from "@/components/dialogs/ConfirmDialogs";
import {
@@ -400,9 +401,7 @@ export const PluginManagerCard = ({
{selectedPluginId ? t("plugins.details.title") : t("plugins.title")}
-
- Beta
-
+ Beta
{snapshot.extensions.length > 0 || (marketplaceQuery.data?.entries.length ?? 0) > 0 ? (
diff --git a/apps/web/src/lib/workspace-ui.ts b/apps/web/src/lib/workspace-ui.ts
index 34078d7c..f5c04158 100644
--- a/apps/web/src/lib/workspace-ui.ts
+++ b/apps/web/src/lib/workspace-ui.ts
@@ -1,5 +1,9 @@
export const WORKSPACE_PAGE_TITLE_CLASSNAME = "text-sm font-semibold leading-5 text-slate-900";
+/** Status chip. Same cool wash as a highlighted menu row, without a neutral outline. */
+export const BETA_BADGE_CLASSNAME =
+ "inline-flex shrink-0 items-center rounded-full bg-accent px-1.5 text-xs font-normal leading-5 text-slate-600";
+
/**
* Editor Layout Constants
* - EDITOR_OUTLINE_WIDTH: Width of the document outline (TOC) panel (default: 300px)