diff --git a/apps/web/src/lib/components/layout/DesktopSidebar.svelte b/apps/web/src/lib/components/layout/DesktopSidebar.svelte
index 0e912ea..31cd008 100644
--- a/apps/web/src/lib/components/layout/DesktopSidebar.svelte
+++ b/apps/web/src/lib/components/layout/DesktopSidebar.svelte
@@ -9,7 +9,7 @@
import CreateCollectiveModal from '$lib/components/CreateCollectiveModal.svelte';
import OfflineChip from '$lib/components/OfflineChip.svelte';
import * as m from '$lib/paraglide/messages';
- import { ShoppingCart, CheckSquare, FileText, Search, Settings, Plus, Shield } from 'lucide-svelte';
+ import { ShoppingCart, CheckSquare, FileText, Search, Settings, Plus, Shield, Users } from 'lucide-svelte';
// Fase 12.3.1: nav items declared with their section key so we can filter
// by $enabledSections (precedence resolved client-side; see features.ts).
@@ -99,6 +99,19 @@
{label()}
{/each}
+
+
+
+
+
+ {m.manage_title()}
+
diff --git a/apps/web/tests/e2e/sidebar-manage-link.test.ts b/apps/web/tests/e2e/sidebar-manage-link.test.ts
new file mode 100644
index 0000000..829c6e5
--- /dev/null
+++ b/apps/web/tests/e2e/sidebar-manage-link.test.ts
@@ -0,0 +1,40 @@
+/**
+ * SBM-series — desktop sidebar manage-collective entry
+ *
+ * The DesktopSidebar gained a last-position link to /collective/manage
+ * after the nav loop, preceded by a visual spacer (divider). The mobile
+ * drawer already had this link; desktop did not, leaving the page
+ * unreachable from the chrome.
+ */
+import { test, expect } from '@playwright/test';
+import { USERS } from '../fixtures/users.js';
+import { loginAs } from '../fixtures/login.js';
+
+const DESKTOP = { width: 1280, height: 800 };
+
+test.describe('Desktop sidebar — manage collective link', () => {
+ test('SBM-01: the manage link is the last nav entry and navigates to /collective/manage', async ({ page }) => {
+ await page.setViewportSize(DESKTOP);
+ await loginAs(page, USERS.ana);
+ await page.goto('/lists');
+
+ const link = page.getByTestId('sidebar-manage-link');
+ await expect(link).toBeVisible({ timeout: 10_000 });
+
+ await link.click();
+ await expect(page).toHaveURL(/\/collective\/manage/);
+ });
+
+ test('SBM-02: a horizontal divider separates the manage link from the section nav', async ({ page }) => {
+ await page.setViewportSize(DESKTOP);
+ await loginAs(page, USERS.ana);
+ await page.goto('/lists');
+
+ // The divider sits inside the same