/* Navigation only. Feature-page layouts and tenant branding remain in their own files. */
body.portal-workspace { --sidebar: 272px; }
.portal-sidebar.portal-navigation {
  padding: 20px 18px 28px;
  border-top: 3px solid var(--gold, #c9a84c);
  scrollbar-gutter: stable;
  font-style: normal;
}
.portal-navigation .portal-logo { min-height: 118px; flex-shrink: 0; }
.portal-navigation .portal-logo img { width: 112px; height: 112px; }
.portal-navigation .portal-logo > span { overflow-wrap: anywhere; text-align: center; }
.portal-navigation .portal-label { margin: 10px 0 24px; font-size: 10px; letter-spacing: .09em; }
.portal-navigation-menu, .portal-navigation-content { min-width: 0; width: 100%; }
.portal-navigation .portal-nav { display: flex; flex-direction: column; gap: 8px; padding: 0; }
.portal-navigation .portal-nav > a::before { content: none; }
/* Bare top-level links (e.g. the Trident Education tab, whose exact markup is a tested contract) match main links. */
.portal-navigation .nav-main-link,
.portal-navigation .portal-nav > a:not([class]),
.portal-navigation .nav-group > summary {
  min-height: 48px;
  padding: 12px 14px;
  color: #17395f;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.portal-navigation .nav-main-link,
.portal-navigation .portal-nav > a:not([class]) { display: flex; align-items: center; }
.portal-navigation .nav-group { margin: 0; min-width: 0; }
.portal-navigation .nav-group > summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; }
.portal-navigation .nav-group > summary::-webkit-details-marker { display: none; }
.portal-navigation .nav-group > summary::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -4px 2px 0 auto; flex-shrink: 0; }
.portal-navigation .nav-group[open] > summary::after { transform: rotate(225deg); margin-top: 4px; }
.portal-navigation .nav-group[open] > summary { background: #f2f6fa; }
/* Keep legacy onboarding attention visible when closed, with one announced badge. */
.portal-navigation .nav-group[open] > summary .nav-collapsed-badge { display: none; }
.portal-navigation .nav-group[data-current-section] > summary,
.portal-navigation .nav-current-section { border-color: #b3c8df; background: #edf3fa; }
.portal-navigation .nav-group-links { margin: 7px 0 5px 14px; padding: 2px 0 2px 10px; border-left: 2px solid #ddc989; min-width: 0; }
.portal-navigation .nav-group-links > a,
.portal-navigation .nav-signout {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 11px;
  margin: 3px 0;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #3f536c;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.portal-navigation :is(a, summary, .nav-signout):hover { background: #edf3fa; color: #17395f; }
.portal-navigation .portal-nav > a[aria-current="page"],
.portal-navigation a[aria-current="page"] {
  background: var(--brand-action, #002561);
  border-color: var(--brand-action, #002561);
  color: var(--brand-on-action, #fff);
  font-weight: 650;
  box-shadow: inset 3px 0 var(--gold, #c9a84c);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.portal-navigation :is(a, button, summary):focus-visible { outline: 3px solid #166ab5; outline-offset: 3px; }
.portal-navigation .nav-priority-link { border-color: #bccddd; color: #17395f; }
.portal-navigation .nav-priority-link > span { margin-left: auto; font-size: 20px; line-height: 1; }
.portal-navigation .nav-caption { margin: 12px 0 6px; color: #536278; font-size: 11px; font-weight: 650; line-height: 1.6; letter-spacing: .035em; text-transform: none; }
.portal-navigation .nav-section-label { margin: 16px 14px 0; padding-top: 18px; border-top: 1px solid #e3e8ef; }
.portal-navigation .nav-account { margin-top: 26px; border-top: 1px solid #e3e8ef; padding-top: 16px; }
.portal-navigation .profile-monogram { flex: 0 0 28px; width: 28px; height: 28px; background: #e6edf6; color: #17395f; font-size: 13px; }
.portal-navigation .nav-profile { display: block; margin: 8px 11px 12px; overflow-wrap: anywhere; }
.portal-navigation .nav-profile strong { font-size: 14px; font-weight: 600; line-height: 1.5; }
.portal-navigation .nav-profile small { font-size: 12px; line-height: 1.6; max-width: none; margin-top: 4px; }
.portal-navigation .nav-practice-shortcuts { padding: 8px 0 0; margin-top: 12px; border-top: 1px solid #e3e8ef; }
.portal-navigation .nav-scope-help { color: #536278; font-size: 12px; line-height: 1.6; margin: 0 0 10px; }
.portal-navigation .sidebar-practice { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px 4px; border-radius: 6px; font-size: 13px; }
.portal-navigation .sidebar-practice > span:not(.practice-logo-tile):not(.practice-arrow) { flex: 1; min-width: 0; }
.portal-navigation .practice-logo-tile { width: 42px; height: 36px; flex: 0 0 42px; padding: 3px; }
.portal-navigation .practice-arrow { flex: 0 0 14px; color: #3f536c; }
.portal-navigation .badge-pill { flex-shrink: 0; }
.nav-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.portal-navigation .portal-menu-button { display: none; }
@media (max-width: 1099px) {
  .portal-sidebar.portal-navigation { padding: 10px 20px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; scrollbar-gutter: auto; }
  .portal-navigation .portal-logo { min-height: 72px; max-width: 100%; grid-column: 1; grid-row: 1; align-self: center; }
  .portal-navigation .portal-logo img { width: 72px; height: 72px; }
  .portal-navigation .portal-navigation-menu { display: contents; }
  .portal-navigation .portal-menu-button { display: flex; grid-column: 2; grid-row: 1; align-self: center; min-height: 44px; font-family: inherit; font-size: 14px; font-style: normal; font-weight: 600; padding: 10px 14px; }
  .portal-navigation .portal-menu-button[hidden] { display: none; }
  .portal-navigation .portal-navigation-content { grid-column: 1 / -1; padding: 18px 0 14px; }
  .portal-navigation-ready .portal-navigation-content:not(.is-open) { display: none; }
  .portal-navigation .portal-nav { display: flex; }
  .portal-navigation .nav-account { margin-top: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-navigation *, .portal-navigation *::before, .portal-navigation *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .portal-navigation .portal-nav > a[aria-current="page"],
  .portal-navigation a[aria-current="page"] { border: 2px solid Highlight; }
  .portal-navigation .nav-group[data-current-section] > summary, .portal-navigation .nav-current-section { border: 1px solid Highlight; }
  .portal-navigation :is(a, button, summary):focus-visible { outline-color: Highlight; }
}

/* A quiet discovery link at the foot of the existing navigation disclosure. */
.portal-navigation .nav-curiosity { margin-top: 20px; padding-top: 16px; }
.portal-navigation .nav-curiosity-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  min-width: 64px;
  min-height: 80px;
  margin-inline: auto;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--brand-action, #002561);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}
.portal-navigation .nav-curiosity-mark {
  display: grid;
  place-items: center;
  flex: none;
  width: 60px;
  height: 60px;
  background: #fff;
  border: 1px solid #ddc989;
  border-radius: 8px;
}
.portal-navigation .nav-curiosity-mark img { display: block; width: 56px; height: 56px; object-fit: contain; }
.portal-navigation .nav-curiosity-label { overflow-wrap: anywhere; }
.portal-navigation .nav-curiosity-link:hover { background: #edf3fa; color: var(--brand-action, #002561); }
.portal-navigation .nav-curiosity-link[aria-current="page"] {
  background: var(--brand-action, #002561);
  border-color: var(--brand-action, #002561);
  color: var(--brand-on-action, #fff);
}
@media (min-width: 1100px) {
  .portal-navigation .portal-navigation-menu { display: flex; flex: 1; flex-direction: column; }
  .portal-navigation .portal-navigation-content { display: flex; flex: 1; flex-direction: column; }
  .portal-navigation .nav-curiosity { margin-top: auto; padding-top: 20px; }
}
@media (forced-colors: active) {
  .portal-navigation .nav-curiosity-link[aria-current="page"] { border: 2px solid Highlight; }
  .portal-navigation .nav-curiosity-mark { border-color: ButtonText; }
}
