    .memory-nav { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 0.75rem 0.65rem; position: sticky; top: 0.75rem; max-height: calc(100vh - 2rem); overflow: auto; }
    .memory-nav .nav-head { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted); padding: 0.35rem 0.5rem 0.45rem; }
    .memory-nav .nav-group { margin: 0 0 0.65rem; padding: 0.4rem 0.3rem 0.5rem; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in srgb, var(--paper) 70%, #fff); }
    .memory-nav .nav-group:last-child { margin-bottom: 0; }
    .memory-nav .nav-group-title { font-size: 0.68rem; font-weight: 800; color: var(--ink); padding: 0.3rem 0.5rem 0.4rem; margin: 0 0.15rem 0.25rem; text-transform: uppercase; letter-spacing: 0.07em; border-bottom: 1px solid var(--line); }
    .memory-nav button.nav-item { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 0.5rem; text-align: left; border: none; background: transparent; border-radius: 8px; padding: 0.45rem 0.55rem; cursor: pointer; font: inherit; color: inherit; min-height: 0; }
    .memory-nav button.nav-item:hover { background: var(--paper); }
    .memory-nav button.nav-item.active { background: color-mix(in srgb, var(--accent) 12%, #fff); color: var(--ok); font-weight: 600; }
    .roster-directory.memory-nav { align-items: flex-start; padding: .6rem; }
    .roster-team-head #training-hub-title { color: var(--lp-accent-strong); }
    .memory-nav button.nav-item.bl-role-node { position: relative; flex: 0 1 auto; gap: 7px; min-width: 0; max-width: 100%; min-height: 44px; padding: 5px 4px; border-left: 2px solid transparent; border-radius: 4px; overflow-wrap: anywhere; color: var(--ink); font-size: 13px; font-weight: 400; line-height: 1.3; }
    .memory-nav .bl-avatar { display: inline-grid; place-items: center; flex-shrink: 0; color: var(--bl-agent-ink); background: color-mix(in srgb, var(--bl-agent-ink) 7%, var(--paper)); border-radius: 6px; width: 24px; height: 24px; }
    .memory-nav .bl-agent-0 { --bl-agent-ink: light-dark(#007d75, #76dace); }.memory-nav .bl-agent-1 { --bl-agent-ink: light-dark(#7852aa, #ceb0fa); }.memory-nav .bl-agent-2 { --bl-agent-ink: light-dark(#b24765, #f3a6bd); }.memory-nav .bl-agent-3 { --bl-agent-ink: light-dark(#356fc0, #97bdff); }.memory-nav .bl-agent-4 { --bl-agent-ink: light-dark(#997014, #eacb7c); }.memory-nav .bl-agent-5 { --bl-agent-ink: light-dark(#527c37, #b4d891); }
    .roster-role-label { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
    .roster-role-label > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    @media (min-width: 761px) {
      .roster-directory.memory-nav { display: flex; flex-wrap: wrap; gap: .35rem .75rem; position: static; max-height: none; }
      .roster-directory.memory-nav .nav-head { flex-basis: 100%; }
      .roster-directory.memory-nav .nav-group { flex: 1 1 9rem; min-width: 0; margin: 0; padding: 0; }
    }
