/* Team Portal sidebar groups (inc/portal-nav.php): a header per group that opens
   its list of screens, in the sidebar's own look but a little more compact so the
   whole menu fits. */
.pt-nav { gap: 1px; }
.pt-side .pt-nav__item, .pt-group__h { gap: 11px; padding: 9px 12px; border-radius: 9px; font-size: .8rem; }
.pt-group__h { display: flex; align-items: center; width: 100%; border: 0; background: none; color: var(--grey-400); font-family: inherit; font-weight: 700; line-height: inherit; text-align: left; cursor: pointer; transition: background .15s, color .15s; }
.pt-group__h svg { flex: 0 0 auto; opacity: .9; }
.pt-group__h:hover { background: rgba(255,255,255,.06); color: #fff; }
.pt-group__h .pt-nav__t { flex: 1 1 auto; min-width: 0; }
.pt-group__h .pt-nav__count { margin-left: 0; }
.pt-group__h > svg:last-child { opacity: .5; transition: transform .18s; }
.pt-group.is-open > .pt-group__h > svg:last-child { transform: rotate(180deg); }
.pt-group.has-active > .pt-group__h { color: #fff; }
.pt-group.is-open .pt-nav__count--group { display: none; }
.pt-group__list { display: none; margin: 1px 0 6px 21px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,.1); }
.pt-group.is-open > .pt-group__list { display: grid; gap: 1px; }
.pt-side .pt-group__list .pt-nav__item { gap: 9px; padding: 6px 10px; font-size: .75rem; }
.pt-group__list .pt-nav__item svg { width: 15px; height: 15px; }
.pt-nav__item:focus-visible, .pt-group__h:focus-visible { outline: 2px solid var(--yellow); outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) {
	.pt-group__h > svg:last-child { transition: none; }
}
