diff --git a/apps/desktop/src/components/layout/SqlFilePanel.vue b/apps/desktop/src/components/layout/SqlFilePanel.vue
index e8d924f5bd..1fafecf81e 100644
--- a/apps/desktop/src/components/layout/SqlFilePanel.vue
+++ b/apps/desktop/src/components/layout/SqlFilePanel.vue
@@ -455,8 +455,8 @@ function clearContextTarget() {
toggleFolderCollapse(folder))"
@contextmenu.capture="
contextTarget = { kind: 'folderHeader', folderPath: folder.path };
diff --git a/apps/desktop/src/components/layout/__tests__/SqlFilePanel.spec.ts b/apps/desktop/src/components/layout/__tests__/SqlFilePanel.spec.ts
index db80fbcfce..e270d0db95 100644
--- a/apps/desktop/src/components/layout/__tests__/SqlFilePanel.spec.ts
+++ b/apps/desktop/src/components/layout/__tests__/SqlFilePanel.spec.ts
@@ -22,3 +22,11 @@ describe("SqlFilePanel selection", () => {
expect(panelSource).toContain('data-sql-file-row="true"');
});
});
+
+describe("SqlFilePanel folder headers", () => {
+ it("keeps sticky folder headers opaque while the file list scrolls", () => {
+ expect(panelSource).toContain("bg-[color-mix(in_oklab,var(--muted)_10%,var(--background))] sticky top-0");
+ expect(panelSource).toContain("hover:bg-[color-mix(in_oklab,var(--accent)_40%,var(--background))]");
+ expect(panelSource).not.toContain("bg-muted/10 sticky top-0");
+ });
+});