/* Mirror only: no internal scroll; compact navigation with an accessible icon rail. */
.app-sidebar{height:auto!important;min-height:100dvh;overflow:visible!important;align-self:start;flex-shrink:0}
.app-sidebar .sidebar-header{padding:20px 14px 10px!important;margin-bottom:0!important;flex-shrink:0}
.app-sidebar .app-logo{padding-right:28px;gap:7px;min-height:32px}.app-sidebar .app-logo>span{font-size:19px;white-space:nowrap}
.app-sidebar .portal-selector-wrapper{margin-top:12px!important;margin-bottom:10px!important}
.app-sidebar .user-profile-wrapper{gap:8px!important;padding:6px 8px!important}.app-sidebar #activeUserRoleDisplay{font-size:9px;white-space:nowrap}.app-sidebar #activeUserNameDisplay{font-size:12px!important}
.app-sidebar .sidebar-menu{flex:1 0 auto!important;gap:0!important;overflow:visible!important;max-height:none!important;min-height:0;padding:3px 10px 5px!important;scrollbar-width:none}
.app-sidebar .sidebar-menu::-webkit-scrollbar{display:none;width:0;height:0}
.app-sidebar .menu-item{min-height:30px;margin:1px 0!important;padding:6px 12px!important;line-height:1.3;font-size:12px!important;gap:10px}
.app-sidebar .sidebar-section-header{padding:8px 12px 4px 39px!important;font-size:10px!important;line-height:1.2;margin:0!important}
.app-sidebar .sidebar-divider{margin:6px 12px 2px!important}
.app-sidebar .sidebar-footer{flex:0 0 auto;padding:8px 12px!important;gap:3px!important}.app-sidebar .theme-segmented-wrapper{padding:2px 4px!important;gap:5px!important}.app-sidebar .theme-btn{padding:6px 9px!important;font-size:11px!important;line-height:1.3}.app-sidebar .theme-menu-title{font-size:10px!important;line-height:1.3}
.app-sidebar .btn-collapse-sidebar{width:32px;height:32px;right:7px;top:18px;border:1px solid #61a0ff;background:#2563eb;color:#fff;box-shadow:0 3px 12px #0004;border-radius:9px;opacity:1;transform:none;z-index:1200}
.app-sidebar .btn-collapse-sidebar:hover{background:#3878f3;box-shadow:0 0 0 3px #60a5fa30;transform:none}.app-sidebar .btn-collapse-sidebar .icon-arrow{font-size:13px;display:block;transform:none!important}
.sidebar-collapsed .app-sidebar{width:80px!important;min-width:80px!important;max-width:80px!important;padding:0!important;align-items:stretch!important}
.sidebar-collapsed .app-sidebar .sidebar-header{padding:18px 10px 6px!important;width:100%}
.sidebar-collapsed .app-sidebar .app-logo{justify-content:center;padding:0;gap:0}.sidebar-collapsed .app-sidebar .app-logo>span{display:none!important}
.sidebar-collapsed .app-sidebar .btn-collapse-sidebar{right:-40px;top:13px}
.sidebar-collapsed .app-sidebar .sidebar-section-header,.sidebar-collapsed .app-sidebar .menu-label,.sidebar-collapsed .app-sidebar .badge{display:none!important}
.sidebar-collapsed .app-sidebar .sidebar-menu{width:100%;padding:0 12px 6px!important}
.sidebar-collapsed .app-sidebar .menu-item{width:44px!important;height:34px;min-height:34px;margin:3px auto!important;padding:7px!important;justify-content:center!important;border-radius:8px!important;gap:0;flex-shrink:0}
.sidebar-collapsed .app-sidebar .menu-icon{display:flex!important;align-items:center;justify-content:center;width:20px!important;min-width:20px;height:20px;opacity:1;visibility:visible;flex:0 0 20px;margin:0!important}
.sidebar-collapsed .app-sidebar .menu-icon svg,.sidebar-collapsed .app-sidebar .menu-item>svg{display:block!important;width:18px!important;height:18px!important;opacity:1;visibility:visible;margin:0!important;color:inherit;flex-shrink:0}
.sidebar-collapsed .app-sidebar .sidebar-divider{width:36px;align-self:center;flex-shrink:0;border-top:1px solid rgba(148,163,184,.45)!important;margin:5px auto!important;opacity:1}
.sidebar-collapsed .app-sidebar .user-profile-wrapper{border:0!important;background:transparent!important;padding:3px 0!important;min-height:34px;justify-content:center!important}
.sidebar-collapsed .app-sidebar #activeUserAvatarDisplay{display:flex!important;width:28px!important;height:28px!important}.sidebar-collapsed .app-sidebar .user-profile-wrapper>div:not(#activeUserAvatarDisplay){display:none!important}
.sidebar-collapsed .app-sidebar .portal-selector-wrapper{display:flex!important;flex-direction:row;gap:3px;padding:3px!important;margin:8px 0!important;width:100%}
.sidebar-collapsed .app-sidebar .portal-btn{font-size:0!important;padding:5px 0!important;min-width:0;min-height:25px;flex:1}.sidebar-collapsed #portal-btn-student::after{content:'S';font-size:10px}.sidebar-collapsed #portal-btn-admin::after{content:'A';font-size:10px}
.sidebar-collapsed .app-sidebar .sidebar-footer{width:100%;padding:6px 10px!important}.sidebar-collapsed .app-sidebar .theme-segmented-wrapper{display:flex!important;width:100%;padding:0!important}.sidebar-collapsed .app-sidebar .theme-menu-title{display:none!important}.sidebar-collapsed .app-sidebar .theme-segmented-control{width:100%;gap:1px;padding:2px!important}.sidebar-collapsed .app-sidebar .theme-btn{font-size:0!important;padding:4px!important;min-width:0;flex:1}.sidebar-collapsed #theme-btn-light::after{content:'☀';font-size:13px}.sidebar-collapsed #theme-btn-dark::after{content:'☾';font-size:13px}
@media(max-height:800px){.app-sidebar .sidebar-header{padding-top:12px!important}.app-sidebar .app-logo{min-height:28px}.app-sidebar .portal-selector-wrapper{margin-top:8px!important;margin-bottom:7px!important}.app-sidebar .menu-item{min-height:26px;padding-top:4px!important;padding-bottom:4px!important;margin:1px 0!important;font-size:11px!important}.app-sidebar .sidebar-section-header{padding-top:5px!important;padding-bottom:3px!important;font-size:9px!important}.app-sidebar .sidebar-divider{margin-top:3px!important}.app-sidebar .sidebar-footer{padding-top:5px!important;padding-bottom:5px!important}.sidebar-collapsed .app-sidebar .menu-item{height:29px;min-height:29px;margin:1px auto!important}.sidebar-collapsed .app-sidebar .sidebar-header{padding-top:12px!important}}
@media(max-width:900px){.app-sidebar{position:absolute!important;top:0;bottom:auto}.app-sidebar .btn-collapse-sidebar{display:none!important}}
@media(max-height:800px){.app-sidebar .menu-item{min-height:24px;margin:0!important;padding-top:3px!important;padding-bottom:3px!important}.app-sidebar .sidebar-section-header{padding-top:3px!important;padding-bottom:2px!important}.sidebar-collapsed .app-sidebar .sidebar-header{padding-top:12px!important}.sidebar-collapsed .app-sidebar .menu-item{height:28px;min-height:28px;margin:1px auto!important}.sidebar-collapsed .app-sidebar .portal-selector-wrapper{margin-top:5px!important;margin-bottom:5px!important}}

/* Only administrators can switch portals; subscribers stay in the study session. */
body:not(.can-switch-portals) .app-sidebar .portal-selector-wrapper{display:none!important}
.app-sidebar .portal-btn:not(.active){color:#cbd5e1!important}
.app-sidebar .portal-btn:not(.active):hover{color:#ffffff!important;background:#263449}