Index: src/views/partials/tl-tabs.ejs
===================================================================
--- src/views/partials/tl-tabs.ejs	(revision 46f3dd6f843397dd4da3f37539315aedb56c20f7)
+++ src/views/partials/tl-tabs.ejs	(revision 46f3dd6f843397dd4da3f37539315aedb56c20f7)
@@ -0,0 +1,14 @@
+<%# Tab nav between the fediverse Timeline (feed) and Volgend (following mgmt).
+    Param: active = 'feed' | 'following'. Both are owner/admin-only routes. %>
+<nav class="tl-tabs" aria-label="Fediverse">
+  <a href="/tijdlijn" class="tl-tab<%= (typeof active !== 'undefined' && active === 'feed') ? ' is-active' : '' %>"
+     hx-get="/tijdlijn?partial=1" hx-target="#pcms-main" hx-swap="innerHTML" hx-push-url="/tijdlijn" hx-indicator="#pcms-loading"><%= t('tl.tab_feed') %></a>
+  <a href="/volgend" class="tl-tab<%= (typeof active !== 'undefined' && active === 'following') ? ' is-active' : '' %>"
+     hx-get="/volgend?partial=1" hx-target="#pcms-main" hx-swap="innerHTML" hx-push-url="/volgend" hx-indicator="#pcms-loading"><%= t('tl.tab_following') %></a>
+</nav>
+<style>
+.tl-tabs { display: flex; gap: .25rem; margin: 0 0 1.25rem; border-bottom: 1px solid color-mix(in srgb, var(--ink, #000) 10%, transparent); }
+.tl-tab { padding: .5rem .9rem; text-decoration: none; color: var(--ink-soft, #888); font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; }
+.tl-tab:hover { color: var(--ink, #000); }
+.tl-tab.is-active { color: var(--accent, #06c); border-bottom-color: var(--accent, #06c); }
+</style>
