diff --git a/src/app/globals.css b/src/app/globals.css
index f670173..fec2745 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -323,23 +323,24 @@ a {
}
.sidebar-footer {
- padding: 12px;
+ padding-top: 12px;
border-top: 1px solid rgba(255, 255, 255, 0.12);
}
+/* Square and icon-only so it fits next to Abmelden in .sidebar-bottom-row. */
.sidebar-theme-toggle {
display: flex;
align-items: center;
- gap: 10px;
- padding: 10px 14px;
+ justify-content: center;
+ flex: 0 0 auto;
+ width: 36px;
+ height: 36px;
+ padding: 0;
border-radius: 8px;
color: #c7d6e0;
font-size: 0.92rem;
- font-weight: 500;
border: 1px solid rgba(255, 255, 255, 0.16);
background: rgba(255, 255, 255, 0.06);
- width: 100%;
- text-align: left;
cursor: pointer;
}
@@ -2747,12 +2748,20 @@ button.structure-entry-main:focus-visible {
white-space: nowrap;
}
+/* Toggle (square) and Abmelden (fills the rest) share one row. */
+.sidebar-bottom-row {
+ display: flex;
+ align-items: stretch;
+ gap: 8px;
+ padding: 0 14px 12px;
+}
+
.sidebar-logout {
display: flex;
align-items: center;
justify-content: center;
- gap: 8px;
- margin-top: 8px;
+ flex: 1 1 auto;
+ min-width: 0;
padding: 8px 14px;
border-radius: 8px;
color: #c7d6e0;
@@ -2760,7 +2769,6 @@ button.structure-entry-main:focus-visible {
font-weight: 500;
border: 1px solid rgba(255, 255, 255, 0.16);
background: transparent;
- width: 100%;
cursor: pointer;
}
@@ -2773,6 +2781,11 @@ button.structure-entry-main:focus-visible {
display: none;
}
+.sidebar-collapsed .sidebar-bottom-row {
+ justify-content: center;
+ padding-inline: 0;
+}
+
.login-gate-screen {
min-height: 100vh;
display: flex;
diff --git a/src/frontend/components/Sidebar.tsx b/src/frontend/components/Sidebar.tsx
index bb8aecd..5130d5d 100644
--- a/src/frontend/components/Sidebar.tsx
+++ b/src/frontend/components/Sidebar.tsx
@@ -200,12 +200,17 @@ export function Sidebar({ isCollapsed, onToggleCollapsed }: SidebarProps) {
{user.name}
)}
-