/* Sidebar navigation in collapsible sections (app/navigation.php + navigation.js). Loaded after every screen stylesheet. */
.platform .psidebar:has(.nav-groups){gap:18px;padding:var(--space-5) var(--space-3);scrollbar-width:thin;scrollbar-color:#c9cfe6 transparent}
.platform .psidebar:has(.nav-groups) .pidentity{padding-inline:6px}
.platform .psidebar:has(.nav-groups) .pidentity strong{font-size:var(--font-size-base);line-height:1.3;overflow-wrap:anywhere}
.platform .psidebar:has(.nav-groups) .pidentity a{font-size:var(--font-size-xs)}
.platform .psidebar:has(.nav-groups) .side-promo{margin-top:auto}
.platform .nav-groups{display:flex;flex-direction:column;gap:2px;min-width:0}
.platform .nav-group{min-width:0}
.platform .nav-group+.nav-group{border-top:1px solid #e6e9f5;padding-top:2px}
.platform .nav-group-toggle{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:36px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;color:#5d6a92;font-size:var(--font-size-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
[dir=rtl] .platform .nav-group-toggle,.platform:lang(ar) .nav-group-toggle{letter-spacing:0;text-transform:none;font-size:12.5px}
.platform .nav-group-toggle:hover{background:#eef0fb;color:#24305e}
.platform .nav-group-toggle:focus-visible,.platform .nav-group-items a:focus-visible,.platform .nav-drawer-toggle:focus-visible{outline:2px solid var(--color-purple-500);outline-offset:2px}
.platform .nav-group-label{flex:1;min-width:0;overflow-wrap:anywhere}
.platform .nav-group-count{min-width:18px;padding:1px 6px;border-radius:var(--radius-pill);background:#e9ecf8;color:#5d6a92;font-size:10px;font-weight:600;letter-spacing:0;text-align:center}
.platform .nav-group-toggle svg.icon{width:16px;height:16px;transition:transform var(--duration-medium) ease}
.platform .nav-group.collapsed .nav-group-toggle svg.icon{transform:rotate(-90deg)}
[dir=rtl] .platform .nav-group.collapsed .nav-group-toggle svg.icon,.platform[dir=rtl] .nav-group.collapsed .nav-group-toggle svg.icon{transform:rotate(90deg)}
.platform .nav-group.has-active>.nav-group-toggle{color:#5b21d6}
.platform .nav-group-items{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--duration-overlay) ease,visibility var(--duration-overlay)}
.platform .nav-group-items>div{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:2px 0 6px}
.platform .nav-group.collapsed .nav-group-items{grid-template-rows:0fr;visibility:hidden}
.platform .nav-group-items a{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--navy,#14264b);font-size:var(--font-size-sm);line-height:1.35;font-weight:500;text-decoration:none}
.platform .nav-group-items a span{min-width:0;overflow-wrap:anywhere}
.platform .nav-group-items a svg.icon{width:18px;height:18px;flex:0 0 18px;opacity:.85}
.platform .nav-group-items a:hover{background:#f1edff;color:#4c1fc4}
.platform .nav-group-items a.active{background:var(--color-brand-tint);color:var(--purple,var(--color-brand-strong));font-weight:600;box-shadow:inset 3px 0 0 var(--purple,var(--color-brand-strong))}
[dir=rtl] .platform .nav-group-items a.active{box-shadow:inset -3px 0 0 var(--purple,var(--color-brand-strong))}
/* Dark (organizer) sidebar. */
.platform .dark-sidebar .nav-group+.nav-group{border-top-color:#25335a}
.platform .dark-sidebar .nav-group-toggle{color:#9aa6cc}
.platform .dark-sidebar .nav-group-toggle:hover{background:#1a2850;color:var(--color-white)}
.platform .dark-sidebar .nav-group.has-active>.nav-group-toggle{color:#c9b5ff}
.platform .dark-sidebar .nav-group-count{background:#1e2c52;color:#aeb8da}
.platform .dark-sidebar .nav-group-items a{color:#e8ecfb}
.platform .dark-sidebar .nav-group-items a:hover{background:#1a2850;color:var(--color-white)}
.platform .dark-sidebar .nav-group-items a.active{background:linear-gradient(110deg,#631bde,#39306a);color:var(--color-white);box-shadow:none}
.platform .psidebar.dark-sidebar:has(.nav-groups){scrollbar-color:#33416b transparent}
/* Motion: no animation while restoring state, nor when reduced motion is requested. */
.nav-init .platform .nav-group-items,.nav-init .platform .nav-group-toggle svg.icon,.nav-reduced .platform .nav-group-items,.platform.a11y-motion-reduced .nav-group-items,.platform.a11y-motion-reduced .nav-group-toggle svg.icon{transition:none!important}
@media(prefers-reduced-motion:reduce){.platform .nav-group-items,.platform .nav-group-toggle svg.icon{transition:none!important}}
/* Drawer toggle: narrow screens only. */
.platform .nav-drawer-toggle{display:none}
/* Desktop: the menu stays in view and scrolls on its own. */
@media(min-width:901px){
 .platform .psidebar:has(.nav-groups){position:sticky;top:0;align-self:flex-start;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:900px){
 .platform .pworkspace:has(.nav-groups){display:block}
 .platform .psidebar:has(.nav-groups){position:static;width:auto;height:auto;min-height:0;padding:10px 16px;gap:0;border-right:0;border-left:0;border-bottom:1px solid var(--line,#e2e7f4)}
 .platform .psidebar:has(.nav-groups) :is(.pidentity,.side-promo){display:none}
 .platform .psidebar:has(.nav-groups) nav{display:block;overflow:visible}
 .platform .nav-drawer-toggle{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid #dfe3f2;border-radius:10px;background:var(--color-white);color:#14264b;font-size:var(--font-size-base);font-weight:600;cursor:pointer}
 .platform .dark-sidebar .nav-drawer-toggle{background:#172342;border-color:#33365c;color:var(--color-white)}
 .platform .nav-drawer-toggle .nav-drawer-current{flex:1;min-width:0;color:var(--color-brand-strong);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:end}
 .platform .dark-sidebar .nav-drawer-toggle .nav-drawer-current{color:#c9b5ff}
 .platform .nav-drawer-toggle .nav-drawer-title{flex:0 0 auto}
 .platform .nav-drawer-toggle svg.icon{width:18px;height:18px;flex:0 0 18px;transition:transform var(--duration-medium) ease}
 .platform .nav-drawer-toggle[aria-expanded=true] svg.icon:last-child{transform:rotate(180deg)}
 .platform .nav-groups{display:none;margin-top:var(--space-2);padding:6px;border:1px solid #e6e9f5;border-radius:var(--radius-md);background:var(--color-white)}
 .platform .dark-sidebar .nav-groups{background:#0f1a36;border-color:#25335a}
 .platform .nav-groups.open{display:flex}
 .platform .nav-group-items a,.platform .nav-group-toggle{min-height:44px}
}
/* Administration tabs: wrap on desktop, scroll inside the bar on narrow screens. */
.platform .admin-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:0 0 10px;margin:0 0 var(--space-5);border-bottom:1px solid var(--line,#e2e7f4);overflow:visible;white-space:normal}
.platform .admin-tabs a{padding:6px 11px;border:0;border-radius:var(--radius-pill);font-size:12.5px;line-height:1.35;color:#344783;white-space:nowrap}
.platform .admin-tabs a:hover{background:#f1edff;color:#4c1fc4}
.platform .admin-tabs a.active{background:var(--color-brand-tint);color:var(--purple,var(--color-brand-strong));font-weight:600;border:0}
@media(max-width:900px){
 .platform .admin-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .platform .admin-tabs a{flex:0 0 auto;min-height:36px;display:inline-flex;align-items:center}
}
/* Project workspace sidebar (navy) uses the dark-sidebar colours; its illustration flows below the grouped
   navigation instead of being absolutely positioned over it (WCAG 2.5.8 targets were covered). */
.platform.screen-project .psidebar .nav-group+.nav-group{border-top-color:#25335a}
.platform.screen-project .psidebar .nav-group-toggle{color:#9aa6cc}
.platform.screen-project .psidebar .nav-group-toggle:hover{background:#1a2850;color:var(--color-white)}
.platform.screen-project .psidebar .nav-group.has-active>.nav-group-toggle{color:#c9b5ff}
.platform.screen-project .psidebar .nav-group-count{background:#1e2c52;color:#aeb8da}
.platform.screen-project .psidebar .nav-group-items a{color:#e8ecfb}
.platform.screen-project .psidebar .nav-group-items a:hover{background:#1a2850;color:var(--color-white)}
.platform:is(.screen-project,.screen-projects) .psidebar:has(.nav-groups) .workspace-side-art{position:static;margin-top:var(--space-6)}
.platform.screen-project .psidebar:has(.nav-groups) .workspace-side-art{margin-inline:-18px;width:calc(100% + 36px)}
.platform.screen-projects .psidebar:has(.nav-groups) .workspace-side-art{margin-inline:auto;width:189px}
