.app-sidebar {
  padding: 18px 12px;
  border-inline-end: 1px solid #315362;
  overflow: hidden;
}

.app-sidebar .brand-row {
  flex: 0 0 auto;
  padding: 2px 8px 16px;
}

.app-sidebar .brand {
  margin: 0;
  min-width: 0;
  font-size: 19px;
  line-height: 1.45;
}

.sidebar .app-navigation {
  display: block;
  overflow: auto;
  min-height: 0;
  padding: 3px 4px 16px;
  scrollbar-width: thin;
  scrollbar-color: #7896a1 transparent;
}

.navigation-links {
  list-style: none;
  padding: 0;
  margin: 3px 0 8px;
}

.navigation-primary {
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #476774;
}

.app-sidebar .navigation-links a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 6px 11px;
  line-height: 1.6;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.app-sidebar .navigation-primary a {
  font-size: 14px;
  font-weight: 650;
}

.app-sidebar .navigation-links a[aria-current="page"] {
  background: #285562;
  border-inline-start: 3px solid #7ee0c4;
  padding-inline-start: 8px;
  box-shadow: none;
  font-weight: 650;
}

.navigation-group {
  margin-block: 3px;
}

.app-sidebar .navigation-group summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 42px;
  margin: 0;
  padding: 6px 11px;
  gap: 12px;
  border-radius: 7px;
  list-style: none;
  color: #cfe1e6;
  font-size: 13px;
  font-weight: 650;
}

.navigation-group summary::-webkit-details-marker {
  display: none;
}

.navigation-group summary::after {
  content: "";
  flex: 0 0 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

.navigation-group[open] summary::after {
  transform: rotate(225deg);
}

.app-sidebar .navigation-group summary:hover,
.app-sidebar .navigation-current-group summary {
  color: white;
  background: #204652;
}

.navigation-group .navigation-links {
  margin-inline-start: 12px;
  padding-inline-start: 7px;
  border-inline-start: 1px solid #476774;
}

.app-sidebar a:focus-visible,
.app-sidebar summary:focus-visible,
.app-sidebar button:focus-visible {
  outline: 2px solid #f9cc91;
  outline-offset: 2px;
}

.navigation-toggle {
  display: none;
}

.guest-workspace {
  margin-inline-start: 0;
  margin-right: 0;
}

@media (max-width: 680px) {
  .app-sidebar {
    padding: 8px 14px;
    border-inline-end: 0;
  }

  .app-sidebar .brand-row {
    min-height: 50px;
    padding: 0;
  }

  .app-sidebar .brand .company-logo {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .app-sidebar .app-navigation {
    max-height: min(70vh, 560px);
    margin-top: 8px;
    padding-block: 4px 8px;
  }

  .app-sidebar .navigation-group summary,
  .app-sidebar .navigation-links a {
    min-height: 44px;
  }

  .navigation-ready .navigation-toggle {
    display: inline-flex;
    background: #244c59;
    border-color: #8aabb4;
    color: white;
  }

  .navigation-ready:not(.navigation-open) .app-navigation {
    display: none;
  }
}
