/* Unified topbar for every app section. */
.top-brand,
.top-search,
.notification-button,
.admin-avatar,
.admin-menu {
  display: none;
}

.topbar {
  height: 112px;
  min-height: 112px;
  padding: 0 26px;
  grid-template-columns: minmax(360px, 1fr) auto;
  gap: 20px;
  border-bottom: 1px solid #e3e8f3;
}

.topbar-left {
  gap: 16px;
}

.topbar h1 {
  font-size: 20px;
  line-height: 1;
  font-weight: 900;
}

.top-actions {
  grid-column: auto;
  justify-content: flex-end;
  gap: 16px;
}

#refreshBtn {
  display: inline-flex;
  width: 122px;
  height: 50px;
  min-height: 50px;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
}

.menu-group:first-child > .menu-group-title {
  background: transparent;
  box-shadow: none;
}

.menu-group.active > .menu-group-title,
.menu-group.open > .menu-group-title {
  background: var(--dm-red);
  box-shadow: 0 14px 28px rgba(239, 23, 54, 0.28);
}

.menu-group:not(.open) > .menu-group-title:hover {
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.menu-branch {
  position: relative;
  margin: 8px 0 0 42px;
  padding-left: 24px;
  gap: 5px;
  border-left: 1px solid rgba(255, 255, 255, 0.72);
  overflow: visible;
}

.menu-branch::before {
  content: none;
}

.menu-child {
  position: relative;
  border-radius: 6px;
}

.menu-child::before {
  content: "";
  position: absolute;
  left: -24px;
  top: 50%;
  width: 17px;
  height: 1px;
  background: rgba(255, 255, 255, 0.72);
}

.menu-child::after {
  content: "";
  position: absolute;
  left: -8px;
  top: calc(50% - 4px);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid rgba(255, 255, 255, 0.82);
}
