+
@@ -24,6 +59,7 @@ const isSidebarOpen = ref(true)
flex: 1;
width: 100%;
position: relative;
+ overflow: hidden; /* Ensure body doesn't scroll */
}
.main-content {
@@ -31,5 +67,32 @@ const isSidebarOpen = ref(true)
padding: 2rem;
width: 100%;
max-width: 100%; /* Ensure it doesn't overflow */
+ overflow-y: auto; /* Allow content to scroll independently */
+ height: 100%; /* Take full height of app-body */
+}
+
+.sidebar-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.5);
+ z-index: 900; /* Below sidebar (1000), above content */
+ opacity: 0;
+ pointer-events: none;
+ transition: opacity 0.3s ease;
+ backdrop-filter: blur(2px);
+}
+
+.sidebar-overlay.is-visible {
+ opacity: 1;
+ pointer-events: auto;
+}
+
+@media (min-width: 768px) {
+ .sidebar-overlay {
+ display: none;
+ }
}
diff --git a/src/components/Footer.vue b/src/components/Footer.vue
index 7d30a69..50d1a4a 100644
--- a/src/components/Footer.vue
+++ b/src/components/Footer.vue
@@ -4,7 +4,7 @@ const version = __APP_VERSION__;
-