/* Single source of truth for the navigation shared by the home page and back-office. */
.sidebar {
  width: 252px;
  flex-shrink: 0;
  background: #060810;
  color: #edf1fa;
  font-family: var(--font-sans, var(--font, system-ui, sans-serif));
  border-right: 1px solid #303852;
  padding: 28px 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.sidebar-logo {
  padding: 0 20px 24px;
  border-bottom: 1px solid #303852;
  margin-bottom: 16px;
}

.sidebar-logo a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #edf1fa;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.01em;
  text-decoration: none;
}

.sidebar-logo .dot,
.sidebar-logo .live-dot {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #f59e0b;
  box-shadow: 0 0 8px #f59e0b;
  animation: sidebar-pulse 2s infinite;
}

@keyframes sidebar-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .4; }
}

.sidebar-section {
  margin-top: 13px;
  padding: 14px 20px 5px;
  border-top: 1px solid rgba(255,255,255,.07);
  color: #00e5a0;
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sidebar-logo + .sidebar-section,
.sidebar-logo + .doc-search-trigger + .sidebar-section { margin-top: 0; border-top: 0; }

.sidebar nav a,
.sidebar details summary {
  display: block;
  padding: 7px 20px;
  border-left: 2px solid transparent;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all .15s;
}

.sidebar details { width: 100%; }
.sidebar details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.sidebar details summary::-webkit-details-marker { display: none; }
.sidebar nav a:hover,
.sidebar nav a.active,
.sidebar details summary:hover,
.sidebar details[open] > summary,
.sidebar details > summary.active {
  border-left-color: #00e5a0;
  background: rgba(255,255,255,.08);
  color: #edf1fa;
}
.sidebar nav a.active { font-weight: 600; }
.sidebar details .sub-links a { padding-left: 30px; color: rgba(255,255,255,.25); font-weight: 400; }
.sidebar details .sub-links a.active { color: #65f2c3; }
.sidebar details[open] .chevron { transform: rotate(90deg); }
.chevron { font-size: 10px; opacity: .5; transition: transform .2s; }
