diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx
index 42bc001..2abc22e 100644
--- a/frontend/src/app/page.tsx
+++ b/frontend/src/app/page.tsx
@@ -4,6 +4,7 @@ import { API_BASE } from "@/lib/api";
import { useEffect, useState, useRef, useCallback } from "react";
import dynamic from 'next/dynamic';
import { motion } from "framer-motion";
+import { ChevronLeft, ChevronRight } from "lucide-react";
import WorldviewLeftPanel from "@/components/WorldviewLeftPanel";
import NewsFeed from "@/components/NewsFeed";
@@ -123,6 +124,8 @@ export default function Dashboard() {
// Stable reference for child components — only changes when dataVersion increments
const data = dataRef.current;
const [uiVisible, setUiVisible] = useState(true);
+ const [leftOpen, setLeftOpen] = useState(true);
+ const [rightOpen, setRightOpen] = useState(true);
const [settingsOpen, setSettingsOpen] = useState(false);
const [legendOpen, setLegendOpen] = useState(false);
const [mapView, setMapView] = useState({ zoom: 2, latitude: 20 });
@@ -435,18 +438,54 @@ export default function Dashboard() {
VSR
- {/* LEFT HUD CONTAINER */}
-
+ {/* LEFT HUD CONTAINER — slides off left edge when hidden */}
+
{/* LEFT PANEL - DATA LAYERS */}
setSettingsOpen(true)} onLegendClick={() => setLegendOpen(true)} gibsDate={gibsDate} setGibsDate={setGibsDate} gibsOpacity={gibsOpacity} setGibsOpacity={setGibsOpacity} onEntityClick={setSelectedEntity} onFlyTo={(lat, lng) => setFlyToLocation({ lat, lng, ts: Date.now() })} />
+
+ {/* LEFT SIDEBAR TOGGLE TAB */}
+
+
+
-
+ {/* RIGHT SIDEBAR TOGGLE TAB */}
+
+
+
- {/* RIGHT HUD CONTAINER */}
-
+ {/* RIGHT HUD CONTAINER — slides off right edge when hidden */}
+
{/* FIND / LOCATE */}
@@ -502,7 +541,7 @@ export default function Dashboard() {
-
+
{/* BOTTOM CENTER COORDINATE / LOCATION BAR — hidden when Sentinel-2 imagery overlay is open */}
{!(selectedEntity?.type === 'region_dossier' && regionDossier?.sentinel2) &&