diff --git a/frontend/src/components/AppContent.vue b/frontend/src/components/AppContent.vue
index 91c9875..85edc95 100644
--- a/frontend/src/components/AppContent.vue
+++ b/frontend/src/components/AppContent.vue
@@ -3,7 +3,12 @@
@@ -37,16 +42,22 @@
.app-content__inner {
max-width: var(--shell-max-width);
+ /* Nur min-height: sonst wächst die Spalte mit dem Inhalt und .app-content__scroll kann scrollen.
+ height:100% + flex:1 auf dem letzten Kind hätte die Seite auf die Viewport-Höhe geklemmt (kein äußerer Scroll). */
min-height: 100%;
- height: 100%;
margin: 0 auto;
padding: 14px 18px 12px;
display: flex;
flex-direction: column;
+ gap: 0;
}
-/* flex-basis 0: Höhe richtet sich nach verbleibendem Platz, nicht nach Inhalt (sonst kein Scroll) */
-.app-content__inner > :last-child {
+.app-content__route-root {
+ min-width: 0;
+}
+
+/* Volle Resthöhe nur wenn eine View meta.contentFill setzt (z. B. feste Split-Layouts) */
+.app-content__inner > .app-content__route-root.app-content__route--fill {
flex: 1 1 0%;
min-height: 0;
}