diff --git a/components/Layout.js b/components/Layout.js
index 0deab86..5562e22 100644
--- a/components/Layout.js
+++ b/components/Layout.js
@@ -664,7 +664,18 @@ export default function Layout({ children, user = null, showSearch = false }) {
}, []);
return (
-
+ // Outer shell — `md:p-4 md:gap-4` pulls both the sidebar and the
+ // main column in from the viewport edges so the sidebar and the
+ // top header read as floating chrome chips (operator feedback
+ // 2026-06-04: "pull out the left nav to make it look like it is
+ // its own floating section versus attached to the top-left"). The
+ // `md:gap-4` on this row also creates the visible page-body
+ // background between the sidebar's right edge and the main
+ // column, which replaces the previous hard divider — "all feels
+ // like one large page" is achieved by the hearth gradient
+ // showing through the gap. Mobile (< 768px) keeps the current
+ // flush layout because the sidebar is `hidden md:flex` anyway.
+
{/* Mobile Navigation - Bottom bar for mobile */}
setIsMobileMenuOpen(true)}
@@ -815,14 +826,21 @@ export default function Layout({ children, user = null, showSearch = false }) {
{/* Desktop Sidebar - Hidden on mobile. Liquid Glass mid-tint, ambient
elevation + rim-light edges; the page background visibly cools
- through the rail. */}
+ through the rail. 2026-06-04 floating-chrome pass: rounded-3xl
+ + overflow-hidden so the rail reads as its own floating chip;
+ `var(--rim-light-outer)` dropped from the box-shadow stack
+ because that 1px outer ring was the "vertical divider between
+ the sidebar and the right side" the operator wanted gone. The
+ chip's edge is now defined solely by `var(--elevation-ambient)`
+ (drop shadow) + the glass-surface-mid tint against the body
+ gradient that shows through `md:gap-4` on the outer flex. */}
@@ -933,8 +951,14 @@ export default function Layout({ children, user = null, showSearch = false }) {
- {/* Main Content */}
-
+ {/* Main Content. `md:gap-4` adds vertical breathing room between
+ the floating TopSearchBar header and the page content so they
+ read as two distinct floating chrome elements over the body
+ gradient (rather than the header sitting flush against the
+ content). `min-w-0` prevents flex children from blowing past
+ the column width when long card titles or table cells refuse
+ to wrap. */}
+
{/* Global top bar — redesign-v2 sub-convoy #3 (2026-06-04).
Rendered for ALL authenticated pages so the search +
notifications + user-menu chrome is consistent everywhere
diff --git a/components/ui/TopSearchBar.js b/components/ui/TopSearchBar.js
index e6e14ac..b19190c 100644
--- a/components/ui/TopSearchBar.js
+++ b/components/ui/TopSearchBar.js
@@ -62,17 +62,24 @@ export default function TopSearchBar({
return (
{/* Search affordance — read-only-ish input that opens the