Index: src/views/pages/authorize-interaction.ejs
===================================================================
--- src/views/pages/authorize-interaction.ejs	(revision a6e6f63ed1990274f31f097b15cd400efe1a28f8)
+++ src/views/pages/authorize-interaction.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
@@ -1,4 +1,5 @@
 <div class="auth-interact">
   <% if (typeof manage !== 'undefined' && manage) { %>
+    <%- include('../partials/fedi-tabs', { active: 'reacties' }) %>
     <h1 class="auth-interact-title"><%= t('fedi.manage_title') %></h1>
     <% if (!manage.length) { %>
Index: src/views/pages/blocks.ejs
===================================================================
--- src/views/pages/blocks.ejs	(revision a6e6f63ed1990274f31f097b15cd400efe1a28f8)
+++ src/views/pages/blocks.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
@@ -1,3 +1,4 @@
 <div class="bl-wrap">
+  <%- include('../partials/fedi-tabs', { active: 'blokkeren' }) %>
   <h1 class="bl-title"><%= t('blk.title') %></h1>
   <p class="bl-lead"><%= t('blk.lead') %></p>
Index: src/views/pages/fedi-notifications.ejs
===================================================================
--- src/views/pages/fedi-notifications.ejs	(revision a6e6f63ed1990274f31f097b15cd400efe1a28f8)
+++ src/views/pages/fedi-notifications.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
@@ -1,4 +1,4 @@
 <div class="nt-wrap">
-  <p class="fedi-back"><a class="btn btn-primary" href="/"><%= t('nav.back_to_site') %></a></p>
+  <%- include('../partials/fedi-tabs', { active: 'meldingen' }) %>
   <h1 class="nt-title"><%= t('notif.title') %></h1>
   <% if (!items || !items.length) { %>
Index: src/views/pages/timeline.ejs
===================================================================
--- src/views/pages/timeline.ejs	(revision a6e6f63ed1990274f31f097b15cd400efe1a28f8)
+++ src/views/pages/timeline.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
@@ -1,7 +1,6 @@
 <div class="tl-wrap">
-  <p class="fedi-back"><a class="btn btn-primary" href="/"><%= t('nav.back_to_site') %></a></p>
+  <%- include('../partials/fedi-tabs', { active: 'feed' }) %>
   <h1 class="tl-title"><%= t('tl.title') %></h1>
   <p class="tl-lead"><%= t('tl.lead') %></p>
-  <%- include('../partials/tl-tabs', { active: 'feed' }) %>
   <% if (typeof success !== 'undefined' && success) { %><div class="alert alert-success"><%= success %></div><% } %>
   <% if (typeof error !== 'undefined' && error) { %><div class="alert alert-error"><%= error %></div><% } %>
Index: src/views/pages/volgend.ejs
===================================================================
--- src/views/pages/volgend.ejs	(revision a6e6f63ed1990274f31f097b15cd400efe1a28f8)
+++ src/views/pages/volgend.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
@@ -1,6 +1,6 @@
 <div class="tl-wrap">
+  <%- include('../partials/fedi-tabs', { active: 'following' }) %>
   <h1 class="tl-title"><%= t('tl.title') %></h1>
   <p class="tl-lead"><%= t('tl.lead') %></p>
-  <%- include('../partials/tl-tabs', { active: 'following' }) %>
   <% if (typeof success !== 'undefined' && success) { %><div class="alert alert-success"><%= success %></div><% } %>
   <% if (typeof error !== 'undefined' && error) { %><div class="alert alert-error"><%= error %></div><% } %>
Index: src/views/partials/fedi-tabs.ejs
===================================================================
--- src/views/partials/fedi-tabs.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
+++ src/views/partials/fedi-tabs.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
@@ -0,0 +1,34 @@
+<%# Shared tab bar for the unified Fediverse section. Owner/admin-only.
+    Param: active = 'feed' | 'following' | 'reacties' | 'meldingen' | 'blokkeren'.
+    Responsive: horizontal tabs that scroll on narrow screens. %>
+<% var _a = (typeof active !== 'undefined') ? active : ''; %>
+<% var _nu = (typeof notifUnread !== 'undefined') ? notifUnread : 0; %>
+<div class="fedi-bar">
+  <a class="btn btn-primary fedi-bar-back" href="/"><%= t('nav.back_to_site') %></a>
+  <nav class="fedi-tabs" aria-label="Fediverse">
+    <a href="/tijdlijn" class="fedi-tab<%= _a === '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="fedi-tab<%= _a === '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>
+    <a href="/fediverse" class="fedi-tab<%= _a === 'reacties' ? ' is-active' : '' %>"
+       hx-get="/fediverse?partial=1" hx-target="#pcms-main" hx-swap="innerHTML" hx-push-url="/fediverse" hx-indicator="#pcms-loading"><%= t('tl.tab_replies') %></a>
+    <a href="/meldingen" class="fedi-tab<%= _a === 'meldingen' ? ' is-active' : '' %>"
+       hx-get="/meldingen?partial=1" hx-target="#pcms-main" hx-swap="innerHTML" hx-push-url="/meldingen" hx-indicator="#pcms-loading"><%= t('notif.title') %><% if (_nu > 0) { %> <span class="fedi-tab-badge"><%= _nu > 9 ? '9+' : _nu %></span><% } %></a>
+    <a href="/blokkeren" class="fedi-tab<%= _a === 'blokkeren' ? ' is-active' : '' %>"
+       hx-get="/blokkeren?partial=1" hx-target="#pcms-main" hx-swap="innerHTML" hx-push-url="/blokkeren" hx-indicator="#pcms-loading"><%= t('blk.title') %></a>
+  </nav>
+</div>
+<style>
+.fedi-bar { margin: 0 0 1.25rem; }
+.fedi-bar-back { margin: 0 0 1rem; }
+.fedi-tabs { display: flex; gap: .1rem; overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch;
+  border-bottom: 1px solid color-mix(in srgb, var(--ink, #000) 10%, transparent); }
+.fedi-tabs::-webkit-scrollbar { height: 4px; }
+.fedi-tab { flex: 0 0 auto; padding: .55rem .85rem; white-space: nowrap; text-decoration: none;
+  color: var(--ink-soft, #888); font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; }
+.fedi-tab:hover { color: var(--ink, #000); }
+.fedi-tab.is-active { color: var(--accent, #06c); border-bottom-color: var(--accent, #06c); }
+.fedi-tab-badge { display: inline-block; min-width: 1.15em; padding: 0 .3em; border-radius: 999px;
+  background: var(--accent, #e8b04b); color: #fff; font-size: .68rem; line-height: 1.5; text-align: center; vertical-align: middle; }
+@media (max-width: 520px) { .fedi-tab { padding: .55rem .7rem; font-size: .92rem; } }
+</style>
Index: src/views/partials/profile-sheet.ejs
===================================================================
--- src/views/partials/profile-sheet.ejs	(revision a6e6f63ed1990274f31f097b15cd400efe1a28f8)
+++ src/views/partials/profile-sheet.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
@@ -67,6 +67,6 @@
         <a href="/tijdlijn" class="profile-sheet-item" role="menuitem" data-close-sheet
            hx-get="/tijdlijn?partial=1" hx-target="#pcms-main" hx-swap="innerHTML" hx-push-url="/tijdlijn" hx-indicator="#pcms-loading">
-          <svg class="psi-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg>
-          <span class="psi-label"><%= t('tl.title') %></span>
+          <svg class="psi-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/></svg>
+          <span class="psi-label"><%= t('nav.fediverse') %></span>
           <svg class="psi-chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg>
         </a>
Index: src/views/partials/tl-tabs.ejs
===================================================================
--- src/views/partials/tl-tabs.ejs	(revision a6e6f63ed1990274f31f097b15cd400efe1a28f8)
+++ 	(revision )
@@ -1,14 +1,0 @@
-<%# 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>
Index: src/views/partials/topnav.ejs
===================================================================
--- src/views/partials/topnav.ejs	(revision a6e6f63ed1990274f31f097b15cd400efe1a28f8)
+++ src/views/partials/topnav.ejs	(revision 9e5438e5c6308c9933e1980137432123768de29e)
@@ -97,11 +97,4 @@
           </div>
         </details>
-      <% } %>
-
-      <% if (user && typeof canManageFedi !== 'undefined' && canManageFedi) { %>
-        <a class="nav-btn" href="/tijdlijn" aria-label="<%= t('tl.title') %>" title="<%= t('tl.title') %>"
-           hx-get="/tijdlijn?partial=1" hx-target="#pcms-main" hx-swap="innerHTML" hx-push-url="/tijdlijn" hx-indicator="#pcms-loading">
-          <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg>
-        </a>
       <% } %>
 
@@ -162,4 +155,12 @@
                 </a>
               <% } %>
+              <% if (typeof canManageFedi !== 'undefined' && canManageFedi) { %>
+                <a href="/tijdlijn" role="menuitem" class="udi"
+                   hx-get="/tijdlijn?partial=1" hx-target="#pcms-main" hx-swap="innerHTML"
+                   hx-push-url="/tijdlijn" hx-indicator="#pcms-loading">
+                  <svg class="udi-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/></svg>
+                  <span><%= t('nav.fediverse') %></span>
+                </a>
+              <% } %>
             </div>
             <div class="user-dropdown-divider" aria-hidden="true"></div>
