Index: scripts/render-admin-views.mjs
===================================================================
--- scripts/render-admin-views.mjs	(revision bec9001bcf2d0789872bf444810fec49f0acb5e9)
+++ scripts/render-admin-views.mjs	(revision daa8eb83ac114527c2656a3a589437fcbe41a710)
@@ -27,4 +27,6 @@
 
 const gevuld = {
+  'admin-audio': { tracks: [], playlists: [], maxBytesMb: 20, maxWavMb: 100 },
+  'admin-playlists': { playlists: [] },
   'admin-media': { items: [{ file: 'a.jpg', url: '/m/a.jpg', kb: 12, usedCount: 0, hasVideo: true }], unusedCount: 1 },
   'admin-videos': { items: [{ file: 'b.mp4', url: '/m/b.mp4', kb: 99, usedCount: 2 }] },
@@ -32,4 +34,6 @@
 };
 const leeg = {
+  'admin-audio': { tracks: [], playlists: [], maxBytesMb: 20, maxWavMb: 100 },
+  'admin-playlists': { playlists: [] },
   'admin-media': { items: [], unusedCount: 0 },
   'admin-videos': { items: [] },
@@ -54,4 +58,12 @@
       if (!html.includes('.ax-tab[aria-current')) fouten.push('admin-styles ontbreekt');
       if (!html.includes('class="container ax-page"')) fouten.push('ax-page-romp ontbreekt');
+      // De terugknop, met NAAM en al. Robin zag op 16-8 dat hij van grootte
+      // verschilde: drie pagina's hadden ax-btn en twee de globale btn, en dat
+      // scheelt 10px hoogte en een andere radius. Dit is de regel die dat
+      // vasthoudt -- de klasse staat er letterlijk in, want juist zo'n verschil
+      // ziet er in de bron uit als hetzelfde.
+      const terug = /<a href="\/admin" class="([^"]+)">/.exec(markup);
+      if (!terug) fouten.push('geen terugknop naar /admin');
+      else if (terug[1] !== 'ax-btn') fouten.push('terugknop heeft class="' + terug[1] + '" i.p.v. ax-btn');
       // Twee vormen van stille schade die er goed uitzien in de bron.
       if (markup.includes("[object Promise]")) fouten.push('onopgeloste include');
