.sidebar {
  background: linear-gradient(165deg, #002366 0%, #001a4d 100%);
  border-right: 1px solid #ffffff0d;
}
.sidebar nav { padding: 3px 4px 16px; }
.nav-caption {
  margin: 25px 10px 12px;
  color: #a0b8d8;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: 1.8px;
}
.sidebar .nav-dashboard { gap: 12px; min-height: 46px; font-weight: 650; border-radius: 12px; }
.nav-dashboard > svg { width: 19px; height: 19px; flex: 0 0 19px; }
.nav-section {
  margin-bottom: 7px;
  border: 1px solid transparent;
  border-radius: 13px;
  transition: background .18s, border-color .18s;
}
.nav-section[open] { background: #ffffff05; border-color: #ffffff12; }
.nav-section-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 9px 10px;
  border-radius: 12px;
  color: #d0e0f0;
  list-style: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background .18s, color .18s;
}
.nav-section-toggle::-webkit-details-marker { display: none; }
.nav-section-toggle:hover { background: #ffffff0a; color: #fff; }
.nav-section-toggle:focus-visible { outline: 3px solid #6699ff; outline-offset: 2px; }
.nav-section-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  background: #ffffff07;
  border: 1px solid #ffffff0c;
  border-radius: 9px;
  color: #a0b8d8;
}
.nav-section-icon svg { width: 18px; height: 18px; }
.nav-section-title { flex: 1; min-width: 0; font-size: 12px; font-weight: 600; line-height: 1.5; }
.nav-chevron { display: flex; flex: 0 0 13px; color: #90a8c8; transition: transform .18s; }
.nav-chevron svg { width: 13px; height: 13px; }
.nav-section[open] > summary .nav-chevron { transform: rotate(90deg); }
.nav-section.has-active > summary { color: #d0e0f0; }
.nav-section.has-active .nav-section-icon { background: #4169e114; color: #d0e0f0; border-color: #4169e124; }
.nav-section-links { position: relative; padding: 2px 7px 8px 17px; }
.nav-section[open] .nav-section-links { animation: nav-reveal .18s ease-out; }
.nav-section-links::before { content: ''; position: absolute; left: 24px; top: 10px; bottom: 22px; width: 1px; background: #ffffff17; }
.sidebar .nav-section-links .nav-link {
  position: relative;
  min-height: 44px;
  gap: 11px;
  margin: 2px 0;
  padding: 9px 9px 9px 3px;
  border-radius: 9px;
  font-size: 11px;
  line-height: 1.55;
  color: #c0d0e8;
}
.nav-item-dot { width: 9px; height: 9px; margin-left: 0; flex: 0 0 9px; border-radius: 50%; border: 2px solid #003388; background: #6688aa; }
.sidebar .nav-section-links .nav-link.active { background: #e8f0ff; color: #002366; font-weight: 650; box-shadow: 0 3px 10px #0000000c; }
.nav-link.active .nav-item-dot { background: #002366; border-color: #e8f0ff; }
.nav-link > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.sidebar-footer { border-top: 1px solid #ffffff12; }
@keyframes nav-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .nav-section, .nav-section-toggle, .nav-chevron { transition: none; }
  .nav-section[open] .nav-section-links { animation: none; }
}