diff --git a/frontend/packages/dashboard/src/logs.css b/frontend/packages/dashboard/src/logs.css index ee797a8c..fdaeef92 100644 --- a/frontend/packages/dashboard/src/logs.css +++ b/frontend/packages/dashboard/src/logs.css @@ -9,9 +9,12 @@ body.logs-shell { /* Base tab styling now lives in @hive/shared/tabs.css (.hive-tab*). The logs strip only adds a layout delta: fill the header row next to the - ← home back-link. */ + ← home back-link. `min-width: 0` lets this flex:1 nav shrink below its + intrinsic content width instead of being bumped onto its own row under + the back-link (the `.page-header` is explicitly nowrap; see chrome.css). */ .logs-tabbar { flex: 1; + min-width: 0; } .logs-main { diff --git a/frontend/packages/shared/src/chrome.css b/frontend/packages/shared/src/chrome.css index ee8778ab..5ca8cc80 100644 --- a/frontend/packages/shared/src/chrome.css +++ b/frontend/packages/shared/src/chrome.css @@ -23,6 +23,12 @@ backdrop-filter: blur(8px) saturate(120%); border-bottom: 1px solid var(--purple-dim); display: flex; + /* Keep the back-link + sub-tab nav on one row. Without an explicit + nowrap a flex:1 sub-tab strip (e.g. /logs.html's `.logs-tabbar`) + whose intrinsic min-content width can't shrink (default + `min-width: auto`) gets pushed onto its own line. The strip pairs + this with `min-width: 0` so it can shrink instead of wrapping. */ + flex-wrap: nowrap; align-items: center; gap: 1.5em; padding: 0.5em 1.5em;