From 851b0fdc6e3c9e483531cd06226896c49a11555c Mon Sep 17 00:00:00 2001 From: hell Date: Sun, 25 Oct 2026 19:53:41 +0700 Subject: [PATCH 1/2] fix(frontend): declare Vuetify cascade layer order before the split CSS chunks Vuetify 4 (#326) puts every style in a cascade layer, and the browser ranks layers by first appearance. The production index.html links Vite's split CSS chunks (VApp-*.css, VContainer-*.css, router-*.css) before index-*.css, and those chunks open `@layer vuetify-components` first, so `vuetify-core` lands above it. The `* { padding: 0; margin: 0 }` reset that vuetify-md2-compat.css restores into `vuetify-core.reset` then beats every component rule: v-main loses its app-bar and drawer offsets, so the page renders under the toolbar and the navigation drawer, and cards lose their title padding. Every layout is affected, the dashboard is just where it shows most. Declare the order Vuetify documents in an inline From 0fbeba79f89dc25778d5ccf5d8f548f8c52d2dda Mon Sep 17 00:00:00 2001 From: hell Date: Sun, 25 Oct 2026 21:26:19 +0700 Subject: [PATCH 2/2] fix(frontend): keep first, put the layer order after the meta tags Review feedback on #1: the layer-order block only has to precede the stylesheets Vite injects, not the meta tags, and the HTML spec wants the charset declaration within the first 1024 bytes. Move the block below the three meta tags so the charset stays the first element in . Co-Authored-By: Claude Fable 5.1 --- src/dispatch/static/dispatch/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dispatch/static/dispatch/index.html b/src/dispatch/static/dispatch/index.html index 707a5134ef24..23cbde0f95aa 100755 --- a/src/dispatch/static/dispatch/index.html +++ b/src/dispatch/static/dispatch/index.html @@ -1,6 +1,9 @@ + + +