/* Administrative navigation only. Module forms and the technical portal are unaffected. */
:root{--global-sidebar-w:300px;--global-sidebar-mini:76px}
#sidebar.pc-sidebar,#sharedSidebar.pc-sidebar{box-sizing:border-box;position:fixed;inset:0 auto 0 0;width:var(--global-sidebar-w);height:100vh;height:100dvh;padding:0!important;background:#29323d!important;color:#c9d1de;display:flex;flex-direction:column;z-index:100;font-family:Arial,sans-serif;overflow:hidden}
.pc-sidebar *{box-sizing:border-box}
.pc-sidebar .brand,.pc-sidebar .shared-brand{display:flex;justify-content:center;align-items:center;min-height:96px;padding:18px 20px;flex:0 0 auto}
.pc-sidebar .brand>div:last-child:not(.brand-mark),.pc-sidebar #mainBrandFallback{display:none!important}
.pc-sidebar #mainBrandMark{display:flex;justify-content:center;width:100%!important;height:auto!important;margin:0;padding:0;background:transparent!important;border:0;box-shadow:none;overflow:visible}
.pc-sidebar .shared-brand-logo,.pc-sidebar #mainBrandImg{display:block;width:100%;height:72px;max-width:240px;object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none}
.pc-sidebar img[hidden]{display:none!important}
#sidebar.pc-sidebar nav,#sharedSidebar.pc-sidebar nav{display:block;flex:1 1 auto;min-height:0;overflow:auto;overflow-x:hidden;padding:0 0 12px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.pc-sidebar nav::-webkit-scrollbar{width:6px}.pc-sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:6px}
.pc-sidebar [hidden]{display:none!important}
.pc-sidebar .pc-nav-home{padding-bottom:4px}
.pc-sidebar .pc-nav-group{border-top:1px solid rgba(255,255,255,.08);margin-top:6px}
.pc-sidebar .pc-nav-group.is-first{border-top:0;margin-top:0}
#sidebar.pc-sidebar .pc-group-toggle,#sharedSidebar.pc-sidebar .pc-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;margin:0;padding:14px 20px 6px;border:0;border-radius:0;background:transparent;color:#8a94a6;text-align:left;font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.4;cursor:pointer}
.pc-sidebar .pc-group-toggle>.nav-icon{width:14px;height:14px;transition:transform 150ms ease;transform:rotate(-90deg)}
.pc-sidebar .is-open>.pc-group-toggle>.nav-icon{transform:rotate(0)}
.pc-sidebar .pc-group-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows 150ms ease,visibility 150ms;visibility:hidden}
.pc-sidebar .pc-group-inner{min-height:0;overflow:hidden}
.pc-sidebar .is-open>.pc-group-content,.pc-sidebar .pc-nav-home>.pc-group-content{grid-template-rows:1fr;visibility:visible}
#sidebar.pc-sidebar .pc-nav-item,#sharedSidebar.pc-sidebar .pc-nav-item{position:relative;display:flex;align-items:center;gap:12px;width:calc(100% - 16px);min-height:38px;margin:2px 8px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:#c9d1de;text-decoration:none;text-align:left;white-space:normal;font-family:inherit;font-size:14px!important;font-weight:500;letter-spacing:normal;text-transform:none;line-height:1.4;cursor:pointer;box-shadow:none}
.pc-sidebar .nav-icon{display:block;width:18px;height:18px;flex:0 0 18px}
.pc-sidebar .nav-label{min-width:0;white-space:normal;text-transform:none}
#sidebar.pc-sidebar .pc-nav-item:hover,#sharedSidebar.pc-sidebar .pc-nav-item:hover{background:rgba(255,255,255,.06);color:white}
#sidebar.pc-sidebar .pc-nav-item.active,#sharedSidebar.pc-sidebar .pc-nav-item.active{background:rgba(47,125,244,.18)!important;color:white!important;box-shadow:none}
.pc-sidebar .pc-nav-item.active:before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:#2f7df4}
.pc-sidebar button:focus-visible,.pc-sidebar a:focus-visible{outline:2px solid #7bb5ff;outline-offset:-2px}
.pc-sidebar .sidebar-foot,.pc-sidebar .shared-foot{position:sticky;bottom:0;flex:0 0 auto;display:grid;gap:8px;margin:0;padding:12px;background:#29323d;border-top:1px solid rgba(255,255,255,.08)}
#sidebar.pc-sidebar .pc-portal,#sharedSidebar.pc-sidebar .pc-portal,#sidebar.pc-sidebar .pc-logout{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:40px;padding:9px 12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:transparent;color:white;font:500 14px/1.4 Arial,sans-serif;text-decoration:none;text-transform:none;cursor:pointer}
#sidebar.pc-sidebar .pc-logout{border:0;color:#c9d1de}
.pc-sidebar .pc-portal:hover,.pc-sidebar .pc-logout:hover{background:rgba(255,255,255,.06)!important}
#sidebarCollapseBtn,#sharedCollapseBtn{position:fixed;left:calc(var(--global-sidebar-w) - 1px);top:50%;width:30px;height:44px;border:0;border-radius:0 10px 10px 0;background:#29323d;color:#c9d1de;display:grid;place-items:center;z-index:101;cursor:pointer}
#sidebarCollapseBtn svg,#sharedCollapseBtn svg,.shared-mobile-toggle svg{width:18px;height:18px}
body.shared-admin-page{padding-left:var(--global-sidebar-w)}
@media(min-width:1024px){
 #appView.app:not(.hidden){display:block!important;min-height:100vh}
 #appView.app>main{margin-left:var(--global-sidebar-w)!important;width:calc(100% - var(--global-sidebar-w))!important;min-width:0}
 body.sidebar-collapsed #sidebar.pc-sidebar,body.sidebar-collapsed #sharedSidebar.pc-sidebar{width:var(--global-sidebar-mini)!important}
 body.sidebar-collapsed #appView.app>main{margin-left:var(--global-sidebar-mini)!important;width:calc(100% - var(--global-sidebar-mini))!important}
 body.shared-admin-page.sidebar-collapsed{padding-left:var(--global-sidebar-mini)}
 body.sidebar-collapsed #sidebarCollapseBtn,body.sidebar-collapsed #sharedCollapseBtn{left:calc(var(--global-sidebar-mini) - 1px)}
 body.sidebar-collapsed .pc-sidebar .nav-label,body.sidebar-collapsed .pc-sidebar .pc-group-toggle{display:none!important}
 body.sidebar-collapsed .pc-sidebar .pc-group-content{grid-template-rows:1fr;visibility:visible}
 body.sidebar-collapsed .pc-sidebar .pc-nav-item{justify-content:center!important}
 body.sidebar-collapsed .pc-sidebar .brand,body.sidebar-collapsed .pc-sidebar .shared-brand{padding:12px 8px;min-height:72px}
 body.sidebar-collapsed .pc-sidebar #mainBrandImg,body.sidebar-collapsed .pc-sidebar .shared-brand-logo{height:48px}
}
.shared-mobile-toggle{display:none}
@media(max-width:1023px){
 body.shared-admin-page,body.shared-admin-page.sidebar-collapsed{padding-left:0}
 #appView.app,#appView.app.sidebar-collapsed{display:block!important}
 #appView.app>main{margin-left:0!important;width:100%!important}
 #sidebar.pc-sidebar,#sharedSidebar.pc-sidebar{width:min(320px,calc(100vw - 32px))!important;transform:translateX(-105%);visibility:hidden;transition:transform 150ms ease,visibility 150ms}
 #sidebar.pc-sidebar.open,body.shared-menu-open #sharedSidebar.pc-sidebar{transform:translateX(0);visibility:visible}
 #sidebar.pc-sidebar .pc-group-toggle,#sharedSidebar.pc-sidebar .pc-group-toggle,#sidebar.pc-sidebar .pc-nav-item,#sharedSidebar.pc-sidebar .pc-nav-item{min-height:44px}
 #sidebarCollapseBtn,#sharedCollapseBtn{display:none!important}
 .shared-mobile-toggle{display:grid;place-items:center;position:fixed;right:12px;top:12px;z-index:140;width:44px;height:44px;border:1px solid #ffffff26;border-radius:8px;background:#29323d;color:white}
 .shared-menu-shade{display:none;position:fixed;inset:0;background:#06192f70;z-index:99}body.shared-menu-open .shared-menu-shade{display:block}
}
@media(prefers-reduced-motion:reduce){.pc-sidebar,.pc-sidebar .pc-group-content,.pc-sidebar .pc-group-toggle>.nav-icon{transition:none!important;scroll-behavior:auto!important}}
/* Preserve the existing back control outside the sidebar. */
.global-back-btn{border:1px solid #d8e4ef;background:#fff;color:#173354;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer;white-space:nowrap}.global-back-btn:hover{background:#eef6ff}
.pc-sidebar .pc-nav-home{position:sticky;top:0;z-index:2;background:#29323d}
#sidebar.pc-sidebar nav,#sharedSidebar.pc-sidebar nav{scroll-padding-top:48px}

/* Distinct group headings; module icons and routes remain unchanged. */
#sidebar.pc-sidebar .pc-group-toggle,#sharedSidebar.pc-sidebar .pc-group-toggle{color:#d5deec;font-size:12px;font-weight:700;padding:14px 16px 10px;min-height:44px}
.pc-sidebar .pc-group-heading{display:flex;align-items:center;gap:9px;min-width:0}
.pc-sidebar .pc-group-emoji{font-size:18px;line-height:1;flex:0 0 22px;text-align:center;letter-spacing:0}
#sidebar.pc-sidebar .is-open>.pc-group-toggle,#sharedSidebar.pc-sidebar .is-open>.pc-group-toggle{color:#fff;background:rgba(255,255,255,.04)}
