/* One coordinate system for standalone items, group parents, and nested links. */
.sidebar {
  --nav-padding: 12px;
  --nav-icon-size: 19px;
  --nav-gap: 10px;
  --nav-text-start: calc(var(--nav-padding) + var(--nav-icon-size) + var(--nav-gap));
  --nav-level-indent: 24px;
  height: 100dvh;
  display: flex;
  flex-direction: column;
}
.sidebar .navigation {flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overflow-anchor:none;overscroll-behavior:contain}
.sidebar-footer,.sidebar .sidebar-version {flex-shrink:0}
.tenant-nav-group {margin:3px 0}
.tenant-nav-parent,.tenant-nav-item {
  position:relative;display:flex;align-items:center;justify-content:flex-start;
  width:100%;min-width:0;min-height:46px;gap:var(--nav-gap);
  margin:2px 0;padding:10px var(--nav-padding);border:0;border-radius:10px;
  background:transparent;color:var(--secondary);text-align:left;
  font-size:12px;font-weight:500;line-height:1.4;white-space:normal;
}
.tenant-nav-parent {font-weight:550}
.tenant-nav-label {flex:1;min-width:0;overflow-wrap:break-word;white-space:normal}
.sidebar .sidebar-svg {
  display:inline-block;flex:0 0 var(--nav-icon-size);align-self:center;
  width:var(--nav-icon-size);height:var(--nav-icon-size);opacity:1;
  background-color:currentColor;
  -webkit-mask:var(--sidebar-icon) center/contain no-repeat;
  mask:var(--sidebar-icon) center/contain no-repeat;
}
.tenant-nav-parent:hover,.tenant-nav-item:hover {background:var(--bg);color:var(--primary)}
.tenant-nav-group.is-active>.tenant-nav-parent,.tenant-nav-item.active {
  background:var(--accent-bg);color:var(--primary);
}
.tenant-nav-item.active {font-weight:650}
.tenant-nav-item.active:before {
  content:'';position:absolute;left:0;top:13px;bottom:13px;
  width:3px;border-radius:4px;background:var(--primary);
}
.tenant-nav-item>i {flex:none}
.nav-chevron {width:15px;height:15px;flex:0 0 15px;margin-left:auto;transition:transform 240ms ease-out}
.is-open>.tenant-nav-parent .nav-chevron {transform:rotate(90deg)}
.tenant-nav-submenu {
  --nav-level:1;
  display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;
  transition:grid-template-rows 250ms ease-out,opacity 220ms ease-out;
}
.tenant-nav-submenu>div {position:relative;min-height:0;overflow:hidden}
.tenant-nav-submenu>div:before {
  content:'';position:absolute;
  left:calc(var(--nav-text-start) + (var(--nav-level) - 1) * var(--nav-level-indent));
  top:4px;bottom:4px;width:1px;background:var(--border);pointer-events:none;
}
.is-open>.tenant-nav-submenu {grid-template-rows:1fr;opacity:1}
.tenant-nav-submenu .tenant-nav-item {
  min-height:40px;
  margin:2px 0 2px calc(var(--nav-text-start) + var(--nav-level) * var(--nav-level-indent) - var(--nav-padding));
  width:calc(100% - var(--nav-text-start) - var(--nav-level) * var(--nav-level-indent) + var(--nav-padding));
  padding:8px var(--nav-padding);font-size:11px;border-radius:8px;
}
.sidebar-close,.sidebar-scrim {display:none}
@media(min-width:601px) {
  .shell:not(.collapsed)>.sidebar {width:234px}
  .shell:not(.collapsed)>.workspace {margin-left:234px;width:calc(100% - 234px)}
  .shell:not(.collapsed)>.sidebar .brand-name {display:block}
  .shell:not(.collapsed)>.sidebar .navigation {padding:5px 16px 12px}
  .shell:not(.collapsed)>.sidebar .tenant-nav-label {display:block}
  .shell:not(.collapsed)>.sidebar .sidebar-version,.shell:not(.collapsed)>.sidebar .nav-label {display:flex}
  .shell:not(.collapsed)>.sidebar .brand {padding:24px 26px}
  .collapsed .tenant-nav-parent,.collapsed .tenant-nav-item {justify-content:center;padding:10px}
  .collapsed .tenant-nav-label,.collapsed .nav-chevron,.collapsed .tenant-nav-submenu,.collapsed .tenant-nav-item>i {display:none}
  .collapsed .tenant-nav-group {margin:5px 0}
  .collapsed .navigation {padding:5px 10px}
  .collapsed .sidebar {width:76px}
  .collapsed .workspace {margin-left:76px;width:calc(100% - 76px)}
}
@media(max-width:600px) {
  .sidebar,.collapsed .sidebar {width:min(300px,86vw);height:100dvh;z-index:90}
  .shell>.sidebar.mobile-open {z-index:90!important;padding-top:0}
  .sidebar.mobile-open .sidebar-close {display:grid;position:absolute;right:10px;top:15px;z-index:2;min-width:40px;min-height:40px}
  .sidebar.mobile-open .brand {padding:18px 20px;height:76px}
  .sidebar.mobile-open .brand-name,.sidebar.mobile-open .brand-caption {display:block}
  .sidebar.mobile-open .navigation {padding:4px 14px 12px}
  .sidebar.mobile-open .tenant-nav-label,.sidebar.mobile-open .nav-chevron {display:block}
  .sidebar.mobile-open .tenant-nav-submenu {display:grid}
  .sidebar.mobile-open .collapse-control {display:none}
  .sidebar.mobile-open .sidebar-footer {padding:10px 14px max(12px,env(safe-area-inset-bottom))}
  .sidebar-scrim.is-open {display:block;position:fixed;inset:0;z-index:85;background:#153b3059;border:0;border-radius:0}
  .tenant-nav-submenu .tenant-nav-item {min-height:42px}
  .sidebar.mobile-open .sidebar-version {display:flex}
  .sidebar.mobile-open .tenant-nav-item {justify-content:flex-start}
  .sidebar.mobile-open .sidebar-footer .upgrade {display:block}
}
@media(max-height:680px) {
  .sidebar .brand {height:72px;padding-top:16px;padding-bottom:16px}
  .sidebar .sidebar-footer {padding-top:6px}
  .sidebar .sidebar-plan {padding:8px}
  .sidebar .sidebar-version {padding-top:8px;padding-bottom:8px}
}
@media(prefers-reduced-motion:reduce) {.tenant-nav-submenu,.nav-chevron {transition:none}}

/* Presentation scoped to the partner portal's existing links. */
.sidebar .tenant-nav-item.partner-sidebar-item {gap:11px;min-height:44px}
.sidebar .tenant-nav-item.partner-sidebar-item>svg {display:block;flex:0 0 21px;width:21px;height:21px;stroke-width:1.8;align-self:center}
