Index: src/views/pages/admin-sites.ejs
===================================================================
--- src/views/pages/admin-sites.ejs	(revision 8b014efbf867f5c2687f4c1aed544e6e7ef34386)
+++ src/views/pages/admin-sites.ejs	(revision 7881080819a21d5ba5da32d94ef51da0d866eea0)
@@ -36,4 +36,7 @@
               <div class="ax-site-name">
                 <a href="/sites/<%= s.slug %>"><%= s.title %></a>
+                <% if (s.is_primary) { %>
+                  <span class="ax-pill ax-pill-primary" title="Hoofd-/labelsite van deze installatie">★ primair</span>
+                <% } %>
                 <% if (s.is_public) { %>
                   <span class="ax-pill ax-pill-ok" title="Publiek zichtbaar">✓ public</span>
@@ -67,4 +70,10 @@
 
           <div class="ax-site-controls">
+            <% if (!s.is_primary && (typeof canMutate === 'undefined' || canMutate)) { %>
+              <form method="post" action="/admin/sites/<%= s.slug %>/make-primary" style="margin:0;display:inline"
+                    onsubmit="return confirm('Deze site instellen als de primaire/hoofd-site?')">
+                <button type="submit" class="ax-icon-btn" aria-label="Maak primair" title="Maak primaire/hoofd-site">★</button>
+              </form>
+            <% } %>
             <a href="/admin/sites/<%= s.slug %>/edit" class="ax-icon-btn" aria-label="Bewerken" title="Bewerken">✎</a>
             <form method="post" action="/admin/sites/<%= s.slug %>/delete" class="ax-delete-form"
@@ -198,4 +207,9 @@
   background: rgba(40,160,90,0.12);
 }
+.ax-pill-primary {
+  color: var(--accent);
+  background: color-mix(in srgb, var(--accent) 14%, transparent);
+  font-weight: 600;
+}
 
 /* ─── Stats (2 mini-columns for sites) ────────────────────────── */
