/* cnm-pass10-crm-css */
/* cnm-pass10b-contrast — accordion labels/links near-black on tinted section backgrounds */
.sidebar nav { display: flex; flex-direction: column; gap: .35rem; padding-bottom: 1.5rem; }
.nav-section { border-radius: 10px; overflow: hidden; border: 1px solid transparent; }
.nav-sec-head {
  display: flex; align-items: center; gap: .5rem; width: 100%;
  border: 0; background: transparent; cursor: pointer;
  padding: .55rem .7rem; font-weight: 800; font-size: .82rem;
  color: #111 !important; text-align: left;
}
.nav-sec-head:hover { filter: brightness(0.97); }
.nav-sec-dot { width: .65rem; height: .65rem; border-radius: 50%; flex-shrink: 0; }
.nav-sec-label { flex: 1; color: #111 !important; }
.nav-sec-chev { color: #111 !important; }
.nav-sec-chev::before { content: "▸"; display: inline-block; transition: transform .15s; opacity: .75; color: #111 !important; }
.nav-section.is-open .nav-sec-chev::before { transform: rotate(90deg); }
.nav-sec-body { display: flex; flex-direction: column; padding: 0 .35rem .4rem; }
.nav-sec-body[hidden] { display: none !important; }
.nav-sec-body .nav-link {
  display: block; padding: .4rem .65rem .4rem 1.35rem;
  border-radius: 8px; text-decoration: none; color: #111 !important; font-size: .9rem;
}
.nav-sec-body .nav-link:hover { background: rgba(0,0,0,.06); color: #111 !important; }
.nav-sec-body .nav-link.active { font-weight: 800; background: rgba(0,0,0,.08); color: #111 !important; }

/* Force contrast over dark .sidebar a { color:#fff } theme — keep section tint backgrounds */
.sidebar nav .nav-section .nav-sec-head,
.sidebar nav .nav-section .nav-sec-label,
.sidebar nav .nav-section .nav-sec-chev,
.sidebar nav .nav-section .nav-link {
  color: #111 !important;
}

/* Section backgrounds + dots (colors kept; text forced black above) */
.nav-sec-red { background: #fef2f2; border-color: #fecaca; }
.nav-sec-red .nav-sec-dot { background: #ef4444; }
.nav-sec-red .nav-link.active { background: #fee2e2; }

.nav-sec-green { background: #f0fdf4; border-color: #bbf7d0; }
.nav-sec-green .nav-sec-dot { background: #22c55e; }
.nav-sec-green .nav-link.active { background: #dcfce7; }

.nav-sec-blue { background: #eff6ff; border-color: #bfdbfe; }
.nav-sec-blue .nav-sec-dot { background: #3b82f6; }
.nav-sec-blue .nav-link.active { background: #dbeafe; }

.nav-sec-yellow { background: #fefce8; border-color: #fef08a; }
.nav-sec-yellow .nav-sec-dot { background: #eab308; }
.nav-sec-yellow .nav-link.active { background: #fef9c3; }

.nav-sec-orange { background: #fff7ed; border-color: #fed7aa; }
.nav-sec-orange .nav-sec-dot { background: #f97316; }
.nav-sec-orange .nav-link.active { background: #ffedd5; }

.nav-sec-purple { background: #faf5ff; border-color: #e9d5ff; }
.nav-sec-purple .nav-sec-dot { background: #a855f7; }
.nav-sec-purple .nav-link.active { background: #f3e8ff; }

.nav-sec-teal { background: #f0fdfa; border-color: #99f6e4; }
.nav-sec-teal .nav-sec-dot { background: #14b8a6; }
.nav-sec-teal .nav-link.active { background: #ccfbf1; }

@media (max-width: 900px) {
  .sidebar nav { max-height: none; }
}

.nav-sec-account { background: transparent; border-color: transparent; }
.nav-sec-account .nav-link { padding-left: .7rem; color: #111 !important; }
.nav-sec-account a.nav-signout,
.sidebar nav .nav-sec-account a[onclick*="logout"] { color: #b91c1c !important; }
