Index: src/views/pages/admin-stats.ejs
===================================================================
--- src/views/pages/admin-stats.ejs	(revision b109a29074451826ffb9e26cff2c04f4b628a7b8)
+++ src/views/pages/admin-stats.ejs	(revision 7d19465e40d4878df20b30446977239bc27f911c)
@@ -64,5 +64,7 @@
             <span class="sc-vis" style="height: <%= visPct %>%"></span>
           </div>
-          <span class="sc-day"><%= (i % _step === 0) ? d.day.slice(8) : '' %></span>
+          <%# Unlabeled columns get an NBSP so every .sc-day keeps its text line: an empty
+              span collapses to 0 height and made the 30/90-day columns jump around. %>
+          <span class="sc-day"><%= (i % _step === 0) ? d.day.slice(8) : ' ' %></span>
         </div>
       <% }); %>
