/* Same page background as the image workbench (--iw-bg). */
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) { background: #f1f5fb !important; border-right-color: #e0e7f0; }
.ws-sidebar .ws-navigation { display: block; width: 100%; min-width: 0; margin: 4px 0 8px; }
.ws-sidebar .ws-nav-group { margin: 0 0 12px; padding: 0; }
.ws-sidebar .ws-nav-group:not(:has(.ws-nav-item:not([hidden]):not(.hidden))) { display: none; }
.ws-sidebar .ws-nav-label { padding: 2px 12px 4px; color: #52647c; font-size: 13px; font-weight: 500; line-height: 24px; }
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item {
  position: relative; display: flex !important; align-items: center; justify-content: flex-start !important;
  gap: 11px; width: 100% !important; min-width: 0 !important; max-width: 100%;
  height: auto !important; min-height: 40px !important; margin: 0 !important; padding: 6px 12px !important;
  border: 0 !important; border-radius: 10px !important; color: #374151 !important;
  background: transparent !important; background-image: none !important; box-shadow: none !important;
  font-family: var(--ws-nav-font-family, inherit) !important; font-size: 16px !important;
  font-weight: 500 !important; line-height: 1.4 !important; letter-spacing: normal !important; text-shadow: none !important;
  text-align: left !important; text-decoration: none !important; white-space: normal !important;
}
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item.hidden,
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item[hidden] { display: none !important; }
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item:hover,
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item:focus-visible { background: #eaf1fa !important; color: #203d62 !important; }
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item::before {
  content: "" !important; position: static !important; display: block !important;
  width: 24px !important; height: 24px !important; min-width: 24px !important; min-height: 24px !important; flex: 0 0 24px !important;
  align-self: center !important; aspect-ratio: 1; margin: 0 !important; padding: 0 !important; transform: none !important; inset: auto !important;
  border: 0 !important; border-radius: 0 !important; background: var(--ws-nav-icon) center / 23px 23px no-repeat !important;
  -webkit-mask: none; mask: none;
}
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item::after { display: none !important; }
body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item > img { display: none !important; }
.ws-sidebar .brand-mark > img,
.ws-sidebar .drawer-brand-mark > img { display: block; width: 40px; height: 40px; object-fit: contain; }
.ws-sidebar .sidebar-primary-actions { grid-template-columns: minmax(0, 1fr) !important; gap: 2px !important; }
.ws-sidebar.side-drawer { overflow-y: auto; }
.ws-sidebar .drawer-primary-actions {
  position: sticky; bottom: 0; z-index: 1; flex: 0 0 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px;
  margin-top: auto; padding: 8px 0; background: #f1f5fb;
}
body[data-terminal="mobile-small"] #mobileDrawer.ws-sidebar .drawer-primary-actions .ws-nav-item {
  justify-content: center !important; gap: 6px; padding: 6px 8px !important;
  min-height: 42px !important; font-size: 14px !important; white-space: nowrap !important;
}
body[data-terminal="mobile-small"] #mobileDrawer.ws-sidebar .drawer-primary-actions .ws-nav-item::before {
  width: 20px !important; height: 20px !important; min-width: 20px !important; min-height: 20px !important;
  flex-basis: 20px !important; background-size: 20px 20px !important;
}
.ws-sidebar .drawer-thread-title { margin-top: 14px; }

body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) .ws-nav-item span { font: inherit !important; color: inherit !important; text-shadow: none !important; }

body[data-terminal] .ws-sidebar .ws-new-thread {
  display: flex !important; align-items: center; justify-content: center; gap: 10px;
  width: calc(100% - 28px) !important; max-width: 260px !important; justify-self: center; margin-inline: auto !important;
  min-height: 46px; border: 1px solid transparent !important; border-radius: 11px !important;
  background: var(--ws-primary, #2f4c74) !important; background-image: none !important; color: #fff !important;
  font-size: 16px !important; font-weight: 600 !important; line-height: 24px; box-shadow: 0 3px 8px #1f3a5c12 !important;
}
body[data-terminal] .ws-sidebar .ws-new-thread::before {
  content: ""; flex: 0 0 20px; width: 20px; height: 20px;
  background: var(--ws-new-icon) center / contain no-repeat;
}
body[data-terminal] .ws-sidebar .ws-new-thread:hover { filter: brightness(1.08); }
body[data-terminal] .ws-sidebar :is(.ws-nav-item, .ws-new-thread):focus-visible {
  outline: 2px solid #2a63a4 !important; outline-offset: 2px; box-shadow: 0 0 0 4px #2a63a414 !important;
}
body[data-terminal] .ws-sidebar .ws-nav-item:is([aria-pressed="true"], .active) { color: #1f3a5c !important; background: #eaf1fa !important; font-weight: 600 !important; }
@media (max-height: 850px) and (min-width: 761px) {
  .ws-sidebar .ws-navigation { max-height: calc(100dvh - 410px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #b5c5d8 transparent; }
  .ws-sidebar .ws-navigation::-webkit-scrollbar { width: 4px; }
  .ws-sidebar .ws-navigation::-webkit-scrollbar-thumb { border-radius: 4px; background: #b5c5d8; }
}

body[data-terminal] .ws-sidebar:is(#sidebar, #mobileDrawer) :is(.sidebar-head, .drawer-head) {
  padding: 8px 12px !important; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
}
body[data-terminal] .ws-sidebar :is(.brand, .drawer-brand) { align-items: flex-start; gap: 12px; }
body[data-terminal] .ws-sidebar :is(.brand-mark, .drawer-brand-mark) { width: 40px; height: 40px; flex: 0 0 40px; }
body[data-terminal] .ws-sidebar :is(.brand-copy, .drawer-brand-copy) h1 { margin: 0; font-size: 20px; line-height: 28px; letter-spacing: 0; }
body[data-terminal] .ws-sidebar :is(#accessBadge, #drawerMemoryLine) {
  display: inline-flex; align-items: center; width: fit-content !important; max-width: 100%; align-self: flex-start; flex: none; min-height: 20px; margin: 3px 0 0; padding: 1px 7px;
  border: 1px solid #d8e2ee; border-radius: 6px; background: #eaf1fa;
  color: #52647c; font-size: 11px; font-weight: 400; line-height: 17px;
}
body[data-terminal] .ws-sidebar .thread-empty { color: #64748b !important; background: transparent; font-size: 13px; }

/* Keep desktop tools compact so history receives the available height. */
body[data-terminal="desktop"] #sidebar.ws-sidebar { gap: 10px; }
body[data-terminal="desktop"] .ws-sidebar .sidebar-fixed { gap: 8px; }
body[data-terminal="desktop"] .ws-sidebar .ws-navigation { margin: 2px 0 4px; }
body[data-terminal="desktop"] .ws-sidebar .ws-nav-group { margin-bottom: 6px; }
body[data-terminal="desktop"] .ws-sidebar .ws-nav-label { padding: 0 12px 2px; line-height: 22px; }
body[data-terminal="desktop"] #sidebar.ws-sidebar .ws-nav-item { min-height: 32px !important; padding: 4px 12px !important; }
@media (max-height: 850px) and (min-width: 761px) {
  body[data-terminal="desktop"] .ws-sidebar .ws-navigation { max-height: calc(100dvh - 470px); }
}

/* Utility actions remain distinct from the feature navigation and save a row. */
body[data-terminal="desktop"] #sidebar.ws-sidebar .sidebar-primary-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
body[data-terminal="desktop"] #sidebar.ws-sidebar .sidebar-primary-actions .ws-nav-item {
  min-height: 42px !important; padding: 7px 8px !important; justify-content: center !important; gap: 6px;
  border: 1px solid #2f4c74 !important; background: #2f4c74 !important; color: #fff !important; font-size: 15px !important; font-weight: 600 !important;
}
body[data-terminal="desktop"] #sidebar.ws-sidebar .sidebar-primary-actions #memberBenefitsBtn { color: #fff !important; border-color: #d97706 !important; background: #d97706 !important; }
body[data-terminal="desktop"] #sidebar.ws-sidebar .sidebar-primary-actions .ws-nav-item:hover { border-color: #3b5e8b !important; background: #3b5e8b !important; }
body[data-terminal="desktop"] #sidebar.ws-sidebar .sidebar-primary-actions .ws-nav-item::before { filter: brightness(0) invert(1); }
body[data-terminal="desktop"] #sidebar.ws-sidebar .sidebar-primary-actions #memberBenefitsBtn:hover { border-color: #bd6508 !important; background: #bd6508 !important; }
