diff --git a/src/components/admin/admin-shell.tsx b/src/components/admin/admin-shell.tsx index f6e68ef50..14fedfd0c 100644 --- a/src/components/admin/admin-shell.tsx +++ b/src/components/admin/admin-shell.tsx @@ -263,8 +263,12 @@ export function AdminShell({ active, children }: AdminShellProps) { - {/* Main column — page renders its own h1 + subtitle */} -
{children}
+ {/* Main column — page renders its own h1 + subtitle. Same + `min-h-[calc(100dvh-12rem)]` reserve as `` + so navigating between admin sub-pages (e.g. system-status + → login-overview) does not jump the page height while the + new section is still fetching. */} +
{children}
); diff --git a/src/components/settings/settings-shell.tsx b/src/components/settings/settings-shell.tsx index 410d2379c..30ae48d53 100644 --- a/src/components/settings/settings-shell.tsx +++ b/src/components/settings/settings-shell.tsx @@ -214,8 +214,12 @@ export function SettingsShell({ active, children }: SettingsShellProps) { - {/* Main column — page renders its own h1 + subtitle */} -
{children}
+ {/* Main column — page renders its own h1 + subtitle. The + `min-h-[calc(100dvh-12rem)]` reserve keeps the column tall + enough that swapping a short loading state for a long + section list (Thresholds, Sources) does not jump the page + height under the sticky sidebar. */} +
{children}
);