diff --git a/AutoPilot.App.csproj b/AutoPilot.App.csproj
index dbf473b1a1..e637f24fb7 100644
--- a/AutoPilot.App.csproj
+++ b/AutoPilot.App.csproj
@@ -72,6 +72,8 @@
+
+
diff --git a/Components/Layout/MainLayout.razor b/Components/Layout/MainLayout.razor
index 426b2f3ca6..eda6305d52 100644
--- a/Components/Layout/MainLayout.razor
+++ b/Components/Layout/MainLayout.razor
@@ -1,13 +1,36 @@
@inherits LayoutComponentBase
-
+
+@code {
+ private bool flyoutOpen;
+
+ private void ToggleFlyout()
+ {
+ flyoutOpen = !flyoutOpen;
+ }
+
+ private void CloseFlyout()
+ {
+ flyoutOpen = false;
+ }
+}
diff --git a/Components/Layout/MainLayout.razor.css b/Components/Layout/MainLayout.razor.css
index 896ea41174..ffa2e807b8 100644
--- a/Components/Layout/MainLayout.razor.css
+++ b/Components/Layout/MainLayout.razor.css
@@ -23,18 +23,64 @@ main {
background: #1a1a2e;
}
-@media (max-width: 640.98px) {
- .sidebar {
- height: auto;
- max-height: 40vh;
- }
+/* Mobile: hide desktop sidebar, show top bar + flyout */
+.desktop-only {
+ display: none;
+}
+
+.mobile-only {
+ display: block;
+}
+
+.mobile-top-bar {
+ background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
+ flex-shrink: 0;
+}
+
+.flyout-backdrop {
+ display: none;
+ position: fixed;
+ inset: 0;
+ background: rgba(0,0,0,0.5);
+ z-index: 99;
+}
+
+.flyout-backdrop.open {
+ display: block;
+}
+
+.flyout-panel {
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ width: 320px;
+ max-width: 92vw;
+ background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
+ z-index: 100;
+ transform: translateX(-100%);
+ transition: transform 0.25s ease;
+ overflow-y: auto;
+}
+
+.flyout-panel.open {
+ transform: translateX(0);
}
+/* Desktop: show sidebar, hide mobile elements */
@media (min-width: 641px) {
.page {
flex-direction: row;
}
+ .desktop-only {
+ display: block;
+ }
+
+ .mobile-only {
+ display: none !important;
+ }
+
.sidebar {
width: 280px;
height: 100vh;
diff --git a/Components/Layout/SessionSidebar.razor b/Components/Layout/SessionSidebar.razor
index 241b5fbf10..f3cec441b9 100644
--- a/Components/Layout/SessionSidebar.razor
+++ b/Components/Layout/SessionSidebar.razor
@@ -4,154 +4,215 @@
@inject IJSRuntime JS
@inject NavigationManager Nav
-