/* Keep labels visible as the feature set grows, even beside the assistant. */
:root { --menu-width: 228px; }
.sidebar, .assistant-open .sidebar {
  width: var(--menu-width); padding: 22px 14px 14px; overflow: hidden;
}
.assistant-open .sidebar { left: var(--agent-width); }
.workspace { margin-left: var(--menu-width); }
.assistant-open .workspace { margin-left: calc(var(--agent-width) + var(--menu-width)); }
.nav-brand-row { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.sidebar .brand, .assistant-open .sidebar .brand { padding: 0 10px; font-size: 29px; }
.assistant-open .sidebar .brand > span:last-child { display: inline; }
.menu-search-wrap { position: relative; margin: 23px 0 14px; flex-shrink: 0; }
#menu-search { width: 100%; min-width: 0; border: 1px solid #435067; border-radius: 7px; background: #233144; color: #fff; padding: 10px 30px 10px 12px; font-size: 12px; }
#menu-search::placeholder { color: #b0bdd0; }
#menu-search::-webkit-search-cancel-button { display: none; }
#menu-search-clear { position: absolute; right: 2px; top: 2px; bottom: 2px; width: 30px; border: 0; color: #c3ccda; background: transparent; font-size: 20px; }
.sidebar nav, .assistant-open .sidebar nav { display: block; margin: 0; padding: 0 3px 6px 0; flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: #526077 transparent; }
.nav-group { margin-bottom: 15px; }
.nav-group h2 { margin: 0; padding: 7px 11px; font-size: 10px; font-weight: 600; letter-spacing: .7px; color: #a7b5c8; }
.sidebar .nav-button, .assistant-open .sidebar .nav-button { font-size: 12px; justify-content: flex-start; gap: 11px; padding: 9px 11px; min-height: 40px; width: 100%; margin-bottom: 2px; white-space: normal; }
.sidebar .nav-button > span, .assistant-open .sidebar .nav-button > span { display: inline-flex; width: 18px; flex-shrink: 0; font-size: 18px; }
.sidebar .sidebar-bottom, .assistant-open .sidebar-bottom { display: block; flex-shrink: 0; padding: 10px 0 0; margin-top: 0; border-top: 1px solid #354256; }
.sidebar .help-link { margin-top: 0; border-top: 0; border-radius: 6px; }
.nav-session { display: flex; justify-content: space-between; align-items: center; padding: 10px 11px 0; }
#menu-empty { padding: 10px; color: #c3ccda; font-size: 12px; }
#menu-open, #menu-close { display: none; }
.sidebar :focus-visible { outline: 2px solid #c4d6ff; outline-offset: -2px; }
#view-title:focus { outline: none; }
#view-title:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
#navigation-dialog { padding: 0; border: 0; border-radius: 0; margin: 0; width: min(320px, calc(100vw - 36px)); max-width: none; height: 100dvh; max-height: none; background: var(--nav); color: white; overflow: hidden; }
#navigation-dialog::backdrop { background: #14223480; backdrop-filter: blur(2px); }
#navigation-dialog .sidebar { position: static; width: 100%; height: 100%; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
body:has(#navigation-dialog[open]) { overflow: hidden; }
@media (min-width:1101px) and (max-width:1499px) { :root { --agent-width: 320px; } }
@media (max-width:1100px) {
  #menu-open { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; flex-shrink: 0; }
  #menu-close { display: block; }
  .workspace { margin-left: 0; }
  .assistant-open .workspace { margin-left: var(--agent-width); }
  .topbar, .assistant-open .topbar { gap: 10px; padding-left: 16px; padding-right: 16px; }
  .company-control { min-width: 0; margin-right: auto; }
  .company-control select, .assistant-open .company-control select { width: 100%; max-width: 250px; min-width: 0; }
  .company-avatar { flex-shrink: 0; }
}
@media (max-width:760px) {
  .assistant-open .workspace { margin-left: 0; }
  .company-avatar { display: none; }
  .topbar .top-actions { flex-shrink: 0; }
  .sidebar .nav-button, .assistant-open .sidebar .nav-button { min-height: 44px; font-size: 13px; }
  .sidebar .brand-mark { width: 34px; height: 34px; }
  .topbar .company-control select { max-width: 190px; font-size: 12px; }
}
