/* APP-only presentation. Existing catalog and access visibility remain authoritative. */
#app.cg-navigation-shell { --cg-menu-bg:linear-gradient(160deg,#142c44,#231c3f);--cg-menu-solid:#142c44;--cg-menu-ink:#edf5ff;--cg-menu-muted:#bbc9df;--cg-menu-edge:#ffffff24;--cg-menu-active:linear-gradient(110deg,#174e69,#413268);--cg-menu-focus:#71dcff; }
#app.cg-navigation-shell[data-navigation-theme="light"] {--cg-menu-bg:linear-gradient(150deg,#f3f8ff,#eeebfa);--cg-menu-solid:#f3f8ff;--cg-menu-ink:#172640;--cg-menu-muted:#475775;--cg-menu-edge:#24376326;--cg-menu-active:linear-gradient(110deg,#d4eef8,#e6dcf6);--cg-menu-focus:#005b89;}
#app.cg-navigation-shell #sideNav {backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
#app.cg-navigation-shell .side { position:fixed;inset:0 auto 0 0;width:250px;height:100dvh;min-height:0;padding:18px 12px;display:flex;flex-direction:column;align-items:stretch;gap:14px;overflow-y:auto;background:var(--cg-menu-bg);color:var(--cg-menu-ink);border-right:1px solid var(--cg-menu-edge);border-bottom:0;z-index:120;box-sizing:border-box; }
#app.cg-navigation-shell .side-head {min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
#app.cg-navigation-shell .cg-rail-controls {display:flex;align-items:center;gap:10px;width:100%;min-width:0;}
#app.cg-navigation-shell .cg-rail-controls .cg-rail-toggle {flex:0 0 44px;}
#app.cg-navigation-shell .cg-rail-organization {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;font-weight:600;color:var(--cg-menu-ink);}
#app.cg-navigation-shell .cg-rail-organization[hidden] {display:none!important;}
#app.cg-navigation-shell .side .brand {min-width:0;width:100%;max-width:100%;gap:8px;color:var(--cg-menu-ink);}
#app.cg-navigation-shell .side .platform-brand-mark {flex:0 1 210px!important;width:210px!important;min-width:0;height:48px!important;overflow:hidden!important;}
#app.cg-navigation-shell .side .platform-brand-mark img {width:100%!important;height:100%!important;object-fit:contain!important;}
#app.cg-navigation-shell .side .platform-brand-mark .cg-compact-emblem {display:none;}
#app.cg-navigation-shell .side .cg-brand-name {font-size:14px;line-height:1.3;}
#app.cg-navigation-shell #navPanel {width:100%;max-width:none;margin:0;flex:1;display:flex;flex-direction:column;}
#app.cg-navigation-shell #nav {display:flex;flex-direction:column;align-items:stretch;overflow:visible;gap:7px;padding:0;}
#app.cg-navigation-shell .cg-nav-scroll {display:contents;}
#app.cg-navigation-shell .nav-group[hidden],#app.cg-navigation-shell .nav[hidden],#app.cg-navigation-shell .nav-group-items[hidden],#app.cg-navigation-shell .cg-profile-panel[hidden] {display:none!important;}
#app.cg-navigation-shell .nav-group {width:100%;min-width:0;position:static;padding:0;border:0;}
#app.cg-navigation-shell .nav-group-toggle {display:flex;align-items:center;gap:11px;justify-content:flex-start;width:100%;min-height:48px;padding:10px 12px;border-radius:12px;white-space:normal;text-align:left;background:transparent;border:1px solid transparent;color:var(--cg-menu-ink);font-weight:650;font-size:14px;transform:none;box-shadow:none;}
#app.cg-navigation-shell .cg-nav-icon {display:inline-flex;justify-content:center;align-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#7a92c11b;border:1px solid var(--cg-menu-edge);font-size:19px;}
#app.cg-navigation-shell .cg-nav-icon svg {width:18px;height:18px;flex:none;}
#app.cg-navigation-shell .chevron {margin-left:auto;}
#app.cg-navigation-shell .nav-group-toggle:hover,#app.cg-navigation-shell .nav-group-toggle[aria-expanded="true"] {background:var(--cg-menu-active);color:var(--cg-menu-ink);transform:none;border-color:var(--cg-menu-edge);}
#app.cg-navigation-shell .nav-group-items {position:static;inset:auto!important;width:100%;min-width:0;max-width:none;max-height:none;padding:4px 0 5px 16px;box-sizing:border-box;border:0;border-left:1px solid var(--cg-menu-edge);border-radius:0;margin:5px 0 8px;background:transparent;box-shadow:none;overflow:visible;backdrop-filter:none;}
#app.cg-navigation-shell .nav-group-items .nav {display:flex;justify-content:flex-start;align-items:center;width:100%;min-height:44px;margin:3px 0;padding:9px 10px;text-align:left;color:var(--cg-menu-ink);background:transparent;white-space:normal;font-size:13px;border-radius:9px;border:1px solid transparent;}
#app.cg-navigation-shell .nav-group-items .nav:hover,#app.cg-navigation-shell .nav-group-items .nav.on {background:var(--cg-menu-active);color:var(--cg-menu-ink);border-color:var(--cg-menu-edge);}
#app.cg-navigation-shell .nav-group-items .nav.on {border:1px solid var(--cg-menu-focus);border-left:4px solid var(--cg-menu-focus);font-weight:700;box-shadow:inset 0 0 0 1px var(--cg-menu-edge);}
#app.cg-navigation-shell #sideNav .nav-group-items {margin-top:3px;margin-bottom:5px;padding-top:0;padding-bottom:0;}
#app.cg-navigation-shell #sideNav .nav-group-items .nav {gap:8px;min-height:36px;margin:1px 0;padding:6px 9px;line-height:1.35;}
#app.cg-navigation-shell #sideNav .cg-subnav-icon {width:16px;height:16px;flex:0 0 16px;order:-1;}
#app.cg-navigation-shell #sideNav #nav>.nav-signout {display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;width:100%;margin-top:8px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--cg-menu-ink);text-align:left;}
#app.cg-navigation-shell.cg-rail-compact #sideNav #nav>.nav-signout>span {display:none;}
#app.cg-navigation-shell #sideNav #nav>.nav-signout:hover {background:var(--cg-menu-active);}
@media(max-width:800px){#app.cg-navigation-shell #sideNav .nav-group-items .nav {min-height:44px;padding:7px 9px;}}
#app.cg-navigation-shell .nav .tag {display:none;}
#app.cg-navigation-shell .nav-group[data-group="administration"] {margin-top:14px;padding-top:12px;border-top:1px solid var(--cg-menu-edge);}
#app.cg-navigation-shell .cg-nav-footer {position:relative;isolation:isolate;overflow:hidden;padding:18px 8px 12px;margin-top:auto;min-height:0;box-sizing:border-box;}
#app.cg-navigation-shell .cg-nav-footer:before,#app.cg-navigation-shell .cg-nav-footer:after {content:"";position:absolute;z-index:-1;width:310px;height:180px;border-radius:50%;border:1px solid #34cced50;left:-75px;top:36px;transform:rotate(-22deg);pointer-events:none;}
#app.cg-navigation-shell .cg-nav-footer:after {left:-55px;top:49px;border-color:#9185ed45;box-shadow:0 0 0 14px #7983d00b,0 0 0 28px #7983d007;}
#app.cg-navigation-shell .cg-theme-label {display:none;}
#app.cg-navigation-shell .cg-theme-options {display:flex;gap:2px;padding:2px;border:1px solid var(--cg-menu-edge);border-radius:10px;box-sizing:border-box;align-self:center;}
#app.cg-navigation-shell .cg-theme-option,#app.cg-navigation-shell .cg-rail-toggle,#app.cg-navigation-shell .cg-drawer-close {min-height:44px;min-width:44px;border:1px solid var(--cg-menu-edge);border-radius:10px;color:var(--cg-menu-ink);background:transparent;cursor:pointer;}
#app.cg-navigation-shell .cg-theme-option {flex:0 0 32px;width:32px;height:32px;min-width:32px;min-height:32px;padding:7px;border:0;border-radius:7px;}
#app.cg-navigation-shell .cg-theme-option svg {width:16px;height:16px;}
@media(max-width:800px){#app.cg-navigation-shell .cg-theme-option {flex-basis:44px;width:44px;height:44px;min-width:44px;min-height:44px;}}
#app.cg-navigation-shell :is(.cg-theme-option,.cg-rail-toggle) {display:inline-flex;align-items:center;justify-content:center;}
#app.cg-navigation-shell .cg-theme-option[aria-pressed="true"] {background:var(--cg-menu-active);box-shadow:inset 0 0 0 1px var(--cg-menu-edge);font-weight:700;}
#app.cg-navigation-shell .cg-drawer-close,#app.cg-navigation-shell .cg-nav-backdrop {display:none;}
#app.cg-navigation-shell .main {margin-left:250px;width:calc(100% - 250px);box-sizing:border-box;min-width:0;padding-top:80px;}
#app.cg-navigation-shell .session-status {display:block!important;}
#app.cg-navigation-shell .session-status:empty {display:none!important;}
#app.cg-navigation-shell .cg-nav-profile {position:fixed;top:13px;right:110px;z-index:121;}
#app.cg-navigation-shell .cg-profile-toggle {display:flex;align-items:center;gap:10px;max-width:300px;min-height:48px;padding:5px 12px;border:1px solid #d7e1ef;border-radius:16px;background:#fff;color:#172640;cursor:pointer;text-align:left;}
#app.cg-navigation-shell .cg-profile-avatar {display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:50%;background:#2442aa;color:#fff;font-weight:700;}
#app.cg-navigation-shell .cg-profile-identity {display:grid;min-width:0;gap:3px;}
#app.cg-navigation-shell .cg-profile-identity b,#app.cg-navigation-shell .cg-profile-identity small {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
#app.cg-navigation-shell .cg-profile-identity small {font-size:11px;color:#475775;}
#app.cg-navigation-shell .cg-profile-panel {position:absolute;right:0;top:58px;width:min(310px,calc(100vw - 24px));padding:14px;border:1px solid #d7e1ef;border-radius:16px;box-sizing:border-box;background:#fff;color:#172640;box-shadow:0 12px 30px #15244426;}
#app.cg-navigation-shell #sessionInfo {position:static;display:block;width:100%;min-width:0;max-width:100%;background:#fff;color:#172640;box-shadow:none;padding:4px;}
#app.cg-navigation-shell #sessionInfo b {overflow-wrap:anywhere;}
#app.cg-navigation-shell .cg-profile-signout {width:100%;min-height:44px;margin-top:12px;border:1px solid #d7e1ef;border-radius:10px;background:#edf3ff;color:#172640;}
#app.cg-navigation-shell .cg-profile-feedback {font-size:13px;line-height:1.5;margin:12px 0 0;color:#9b1c1c;border-left:3px solid currentColor;padding-left:9px;}
#app.cg-navigation-shell :is(.side button,.cg-profile-toggle,.cg-profile-signout):focus-visible {outline:3px solid var(--cg-menu-focus);outline-offset:3px;}
#app.cg-navigation-shell :is(.cg-profile-toggle,.cg-profile-signout):focus-visible {outline-color:#005b89;}
@media(min-width:801px){
 /* Fixed outer rail; only the center option region scrolls. Its scrollbar
    channel stays reserved so opening a submenu never changes label width. */
 #app.cg-navigation-shell:not([hidden]):is([style*="display: block"],[style*="display:block"]) {display:grid!important;grid-template-columns:var(--cg-rail-width,250px) minmax(0,1fr);align-items:start;min-height:100dvh;}
 #app.cg-navigation-shell.cg-rail-compact {--cg-rail-width:72px;}
 html:has(#app.cg-navigation-shell:not([hidden]):is([style*="display: block"],[style*="display:block"])),body:has(#app.cg-navigation-shell:not([hidden]):is([style*="display: block"],[style*="display:block"])) {overflow-x:clip!important;overflow-y:visible!important;}
 #app.cg-navigation-shell #sideNav {grid-column:1;grid-row:1;position:fixed!important;inset:0 auto 0 0!important;height:100dvh!important;min-height:0!important;overflow:visible!important;width:250px!important;min-width:250px!important;max-width:250px!important;box-sizing:border-box!important;}
 #app.cg-navigation-shell #sideNav .side-head {flex:none;}
 #app.cg-navigation-shell #navPanel {flex:1;min-height:0;overflow:visible;}
 #app.cg-navigation-shell #nav {flex:1;min-height:0;overflow:visible;}
 #app.cg-navigation-shell #nav>.cg-nav-scroll {display:flex;flex-direction:column;flex:1;min-height:0;width:100%;box-sizing:border-box;gap:7px;padding:3px 4px 3px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--cg-menu-muted) transparent;}
 #app.cg-navigation-shell .cg-nav-scroll>.nav-group {flex:none;}
 #app.cg-navigation-shell .cg-nav-scroll:focus-visible {outline:2px solid var(--cg-menu-focus);outline-offset:-2px;}
 #app.cg-navigation-shell .cg-nav-scroll::-webkit-scrollbar {width:5px;}
 #app.cg-navigation-shell .cg-nav-scroll::-webkit-scrollbar-track {background:transparent;}
 #app.cg-navigation-shell .cg-nav-scroll::-webkit-scrollbar-thumb {background:var(--cg-menu-muted);border-radius:999px;}
 /* Keep the native channel/drag target; change only thumb paint, never width. */
 #app.cg-navigation-shell #nav>.cg-nav-scroll.cg-scrollbar-auto {--cg-scroll-thumb:transparent;scrollbar-color:var(--cg-scroll-thumb) transparent;}
 #app.cg-navigation-shell #nav>.cg-nav-scroll.cg-scrollbar-auto.cg-scrollbar-active {--cg-scroll-thumb:var(--cg-menu-muted);}
 #app.cg-navigation-shell .cg-nav-scroll.cg-scrollbar-auto::-webkit-scrollbar-thumb {background:var(--cg-scroll-thumb);}
 @media(forced-colors:active){
  #app.cg-navigation-shell #nav>.cg-nav-scroll.cg-scrollbar-auto {scrollbar-color:auto;}
  #app.cg-navigation-shell .cg-nav-scroll.cg-scrollbar-auto::-webkit-scrollbar-thumb {background:CanvasText;}
 }
 #app.cg-navigation-shell #nav>.nav-signout {flex:none;}
 #app.cg-navigation-shell #sideNav .cg-nav-footer {flex:none;margin-top:0;padding-top:10px;padding-bottom:6px;}
 #app.cg-navigation-shell #sideNav .cg-sidebar-profile .cg-profile-panel {position:fixed!important;left:12px!important;right:auto!important;bottom:112px!important;top:auto!important;width:226px!important;max-height:min(40dvh,320px);z-index:130;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav {width:72px!important;min-width:72px!important;max-width:72px!important;}
 #app.cg-navigation-shell .main,#app.cg-navigation-shell.cg-rail-compact .main {grid-column:2;grid-row:1;margin-left:0!important;width:100%!important;min-width:0;padding-top:24px;}
 #app.cg-navigation-shell.cg-rail-compact .side {width:72px;padding:18px 7px;}
 #app.cg-navigation-shell.cg-rail-compact .side .platform-brand-mark {width:48px!important;height:48px!important;flex:0 0 48px!important;}
 #app.cg-navigation-shell.cg-rail-compact .side .platform-brand-mark picture {display:none!important;}
 #app.cg-navigation-shell.cg-rail-compact .side .platform-brand-mark .cg-compact-emblem {display:block;object-position:center!important;}
 #app.cg-navigation-shell.cg-rail-compact .main {margin-left:72px;width:calc(100% - 72px);}
 #app.cg-navigation-shell.cg-rail-compact .side .cg-brand-name,#app.cg-navigation-shell.cg-rail-compact .nav-group-toggle>span:not(.cg-nav-icon),#app.cg-navigation-shell.cg-rail-compact .nav-group-items,#app.cg-navigation-shell.cg-rail-compact .cg-theme-label {display:none;}
 #app.cg-navigation-shell.cg-rail-compact .nav-group-toggle {padding:8px;justify-content:center;}
 #app.cg-navigation-shell.cg-rail-compact .cg-theme-options {flex-direction:column;}
 #app.cg-navigation-shell.cg-rail-compact .cg-rail-organization {display:none;}
 #app.cg-navigation-shell.cg-rail-compact .cg-nav-footer {padding:18px 0 12px;}
 #app.cg-navigation-shell .mobile-nav-toggle {display:none!important;}
}
@media(max-width:800px){
 /* Avoid the legacy overflow-x:hidden scroll container that disables sticky.
    APP-active selectors only; explicit modal lock below still wins. */
 html:has(#app.cg-navigation-shell:not([hidden]):not([style*="display: none"]):not([style*="display:none"])),body:has(#app.cg-navigation-shell:not([hidden]):not([style*="display: none"]):not([style*="display:none"])) {overflow-x:clip!important;overflow-y:visible!important;}
 #app.cg-navigation-shell .side {position:sticky;inset:auto;top:0;width:100%;height:auto;min-height:66px;padding:10px 12px;overflow:visible;}
 #app.cg-navigation-shell .side-head {flex-wrap:nowrap;justify-content:space-between;width:100%;}
 #app.cg-navigation-shell .side .brand {width:auto;max-width:calc(100% - 92px);}
 #app.cg-navigation-shell .side .platform-brand-mark {width:178px!important;flex:0 1 178px!important;}
 #app.cg-navigation-shell .mobile-nav-toggle {display:block!important;min-height:44px;min-width:44px;position:static;color:var(--cg-menu-ink);background:transparent;border:1px solid var(--cg-menu-edge);}
 #app.cg-navigation-shell .cg-rail-toggle {display:none;}
 #app.cg-navigation-shell .cg-rail-controls {display:none;}
 #app.cg-navigation-shell .side:not(.mobile-open) #navPanel {display:none!important;}
 #app.cg-navigation-shell .side.mobile-open #navPanel {position:fixed;inset:0 auto 0 0;z-index:125;display:flex!important;width:min(340px,calc(100vw - 32px));height:100dvh;max-height:100dvh;overflow-y:auto;padding:12px 16px;box-sizing:border-box;background:var(--cg-menu-bg);}
 #app.cg-navigation-shell .cg-drawer-close {display:block;flex:none;align-self:flex-start;margin-bottom:10px;font-size:25px;}
 #app.cg-navigation-shell .side.mobile-open~.cg-nav-backdrop {display:block;position:fixed;inset:0;z-index:119;background:#08142699;border:0;border-radius:0;}
 #app.cg-navigation-shell .main {margin-left:0;width:100%;padding-top:65px;}
 #app.cg-navigation-shell .cg-nav-profile {position:relative;top:auto;right:auto;z-index:auto;flex:none;order:3;}
 #app.cg-navigation-shell .cg-profile-toggle {padding:4px;min-width:44px;width:44px;height:44px;border:0;background:transparent;color:var(--cg-menu-ink);}
 #app.cg-navigation-shell .cg-profile-avatar {background:linear-gradient(135deg,#176890,#694aa6);border:1px solid #739cd0;font-size:12px;}
 #app.cg-navigation-shell .cg-profile-toggle .cg-profile-identity {display:none;}
 #app.cg-navigation-shell .cg-profile-panel {top:54px;}
 #app.cg-navigation-shell .cg-profile-identity {max-width:180px;}
}
@media(max-width:420px){#app.cg-navigation-shell .cg-profile-identity {max-width:140px;}#app.cg-navigation-shell .side .cg-brand-name {font-size:12px;}#app.cg-navigation-shell .side .brand {max-width:calc(100% - 98px)!important;}}
@media(prefers-reduced-motion:reduce){#app.cg-navigation-shell * {transition:none!important;animation:none!important;}}

/* Account/footer layout: keep identity and existing language actions inside APP rail. */
/* Compact desktop opens through category activation. Keep a keyboard fallback,
   without a permanent visible button or occupied header row. */
@media(min-width:801px){
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-rail-controls {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-rail-controls:focus-within {position:static;width:100%;height:auto;overflow:visible;clip-path:none;white-space:normal;}
}
#app.cg-navigation-shell #sideNav .cg-nav-footer {overflow:hidden;}
#app.cg-navigation-shell #sideNav .cg-sidebar-account {display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 8px;padding-top:12px;margin-top:0;border-top:1px solid var(--cg-menu-edge);min-width:0;}
#app.cg-navigation-shell #sideNav .cg-sidebar-profile {position:relative!important;inset:auto!important;z-index:auto;order:initial;width:100%;min-width:0;}
#app.cg-navigation-shell #sideNav .cg-sidebar-profile {grid-column:1/-1;}
#app.cg-navigation-shell #sideNav .cg-sidebar-profile .cg-profile-toggle {width:100%!important;max-width:100%;height:auto!important;min-height:48px;padding:4px!important;gap:9px;background:transparent!important;border:0;color:var(--cg-menu-ink)!important;border-radius:8px;}
#app.cg-navigation-shell #sideNav .cg-sidebar-profile .cg-profile-toggle:hover {background:var(--cg-menu-active)!important;}
#app.cg-navigation-shell #sideNav .cg-profile-avatar {width:32px;height:32px;background:linear-gradient(135deg,#176890,#694aa6);border:1px solid var(--cg-menu-edge);font-size:12px;}
#app.cg-navigation-shell #sideNav .cg-profile-chevron {width:16px;height:16px;flex:0 0 16px;margin-left:auto;color:var(--cg-menu-muted);}
#app.cg-navigation-shell #sideNav .cg-sidebar-profile .cg-profile-identity {display:grid!important;gap:3px;max-width:none;}
#app.cg-navigation-shell #sideNav .cg-sidebar-profile .cg-profile-identity small {color:var(--cg-menu-muted);}
#app.cg-navigation-shell #sideNav .cg-sidebar-profile .cg-profile-panel {position:static!important;inset:auto!important;width:100%!important;max-width:100%!important;min-width:0;padding:10px;margin-top:8px;overflow:auto!important;max-height:40dvh;white-space:normal;word-break:normal;overflow-wrap:anywhere;}
#app.cg-navigation-shell #sideNav .language-switch.cg-sidebar-language {position:static!important;inset:auto!important;transform:none!important;display:flex!important;justify-content:center;gap:2px;width:100%!important;max-width:none!important;margin:0!important;order:initial;z-index:auto!important;background:transparent!important;padding:2px!important;border:1px solid var(--cg-menu-edge)!important;border-radius:10px!important;box-shadow:none!important;box-sizing:border-box;min-width:0;}
#app.cg-navigation-shell #sideNav .cg-sidebar-language button {display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:1;min-height:32px;min-width:0;padding:6px 4px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--cg-menu-ink)!important;font-size:11px;line-height:1;}
#app.cg-navigation-shell #sideNav .cg-sidebar-language button[aria-pressed="true"] {box-shadow:inset 0 0 0 1px var(--cg-menu-edge);background:var(--cg-menu-active)!important;font-weight:700;}
#app.cg-navigation-shell #sideNav .cg-language-flag {display:block;flex:0 0 16px;width:16px;height:11px;border-radius:2px;box-shadow:0 0 0 1px var(--cg-menu-edge);}
@media(max-width:800px){#app.cg-navigation-shell #sideNav .cg-sidebar-language button {min-height:44px;min-width:44px;}#app.cg-navigation-shell #sideNav .cg-theme-options {align-self:stretch;align-items:center;}}
@media(min-width:801px){
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-sidebar-profile .cg-profile-identity {display:none!important;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-sidebar-profile .cg-profile-toggle {justify-content:center;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-profile-chevron,#app.cg-navigation-shell.cg-rail-compact #sideNav .cg-language-code {display:none;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-sidebar-account {display:flex;flex-direction:column;gap:10px;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .language-switch.cg-sidebar-language {flex-direction:column;align-items:center;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-sidebar-profile .cg-profile-panel {position:fixed!important;left:84px!important;right:auto!important;bottom:12px!important;top:auto!important;width:min(310px,calc(100vw - 96px))!important;max-width:310px!important;z-index:130;}
}

/* Avatar and the original logout share one row; details open only on activation. */
#app.cg-navigation-shell #sideNav .cg-account-actions {grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0;width:100%;}
#app.cg-navigation-shell #sideNav .cg-account-actions[hidden] {display:none!important;}
#app.cg-navigation-shell #sideNav .cg-account-actions>.cg-sidebar-profile {flex:0 0 44px;width:44px;}
#app.cg-navigation-shell #sideNav .cg-account-actions .cg-profile-toggle {width:44px!important;min-width:44px;height:44px!important;min-height:44px;justify-content:center;gap:0;padding:0!important;}
#app.cg-navigation-shell #sideNav .cg-account-actions>.nav-signout {display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:44px;margin:0;padding:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--cg-menu-ink);text-align:left;white-space:normal;}
#app.cg-navigation-shell #sideNav .cg-account-actions>.nav-signout:hover {background:var(--cg-menu-active);}
#app.cg-navigation-shell #sideNav .cg-account-actions>.nav-signout .cg-subnav-icon {order:-1;width:16px;height:16px;flex:0 0 16px;}
#app.cg-navigation-shell #sideNav .cg-account-actions>.cg-sidebar-profile .cg-profile-panel {position:fixed!important;inset:auto!important;left:12px!important;bottom:112px!important;width:226px!important;max-width:calc(100vw - 24px)!important;max-height:min(40dvh,320px);margin:0;z-index:10042;}
#app.cg-navigation-shell #sideNav .cg-account-actions .cg-sidebar-profile .cg-profile-panel .cg-profile-identity {display:grid!important;color:#172640;margin-bottom:8px;}
#app.cg-navigation-shell #sideNav .cg-account-actions .cg-sidebar-profile .cg-profile-panel .cg-profile-identity :is(b,small) {white-space:normal;overflow-wrap:anywhere;}
#app.cg-navigation-shell #sideNav .cg-account-actions .cg-sidebar-profile .cg-profile-panel .cg-profile-identity small {color:#475775;}
@media(min-width:801px){
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-account-actions {flex-direction:column;gap:4px;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-account-actions>.nav-signout {flex:none;width:44px;justify-content:center;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-account-actions>.nav-signout>span {display:none;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-account-actions>.nav-signout,
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-sidebar-account .cg-theme-options,
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-sidebar-account .language-switch.cg-sidebar-language {display:none!important;}
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-account-actions .cg-sidebar-profile .cg-profile-panel {left:84px!important;width:min(310px,calc(100vw - 96px))!important;}
}

/* Overrides are APP-specific and limited to legacy mobile !important geometry.
   Opaque gradient stops + solid fallback prevent light ink on a dark legacy drawer. */
@media(max-width:800px){
 #app.cg-navigation-shell #sideNav {position:sticky!important;top:0!important;left:auto!important;right:auto!important;bottom:auto!important;display:flex!important;min-height:66px!important;height:auto!important;width:100%!important;max-width:100vw!important;padding:10px 12px!important;border-radius:0!important;background:var(--cg-menu-bg)!important;background-color:var(--cg-menu-solid)!important;color:var(--cg-menu-ink)!important;z-index:10038!important;box-shadow:none!important;}
 html.platform-login-host #app.cg-navigation-shell {padding-top:0!important;}
 #app.cg-navigation-shell #sideNav .side-head {display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding-right:0!important;min-width:0;}
 #app.cg-navigation-shell #sideNav .language-switch {position:static!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;z-index:auto!important;display:flex!important;width:58px!important;max-width:58px!important;order:4;margin-left:calc(100% - 58px);flex:none;}
 #app.cg-navigation-shell #sideNav .brand {order:1;flex:1;max-width:none!important;min-width:0!important;align-self:center!important;overflow:hidden!important;}
 #app.cg-navigation-shell #sideNav .cg-brand-name {display:none!important;}
 #app.cg-navigation-shell #sideNav .platform-brand-mark {width:178px!important;height:44px!important;flex:0 1 178px!important;margin-left:0!important;transform:none!important;}
 #app.cg-navigation-shell #sideNav .platform-brand-mark img {transform:none!important;}
 #app.cg-navigation-shell #sideNav .brand span:last-child::after {content:none!important;}
 #app.cg-navigation-shell #sideNav .mobile-nav-toggle {order:0;position:static!important;top:auto!important;right:auto!important;left:auto!important;display:inline-flex!important;align-items:center;justify-content:center;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:8px!important;border-radius:10px!important;background:transparent!important;color:var(--cg-menu-ink)!important;box-shadow:none!important;font-size:0!important;flex:none;}
 #app.cg-navigation-shell #sideNav .mobile-nav-toggle svg {width:22px;height:22px;}
 #app.cg-navigation-shell #sideNav .mobile-nav-toggle {z-index:auto!important;}
 #app.cg-navigation-shell #sideNav #navPanel {position:fixed!important;top:0!important;left:0!important;right:auto!important;bottom:0!important;z-index:10041!important;width:min(340px,calc(100vw - 32px))!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:18px 16px!important;border:0!important;border-radius:0!important;overflow:auto!important;background:var(--cg-menu-bg)!important;background-color:var(--cg-menu-solid)!important;color:var(--cg-menu-ink)!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:12px 0 32px #02061738!important;}
 #app.cg-navigation-shell #sideNav:not(.mobile-open) #navPanel {display:none!important;}
 #app.cg-navigation-shell #sideNav.mobile-open #navPanel {display:flex!important;}
 #app.cg-navigation-shell #sideNav.mobile-open {z-index:10041!important;}
 html:has(#app.cg-navigation-shell #sideNav.mobile-open),body:has(#app.cg-navigation-shell #sideNav.mobile-open) {overflow:hidden;}
 #app.cg-navigation-shell #sideNav.mobile-open~.cg-nav-backdrop {z-index:10040;}
 #app.cg-navigation-shell #sideNav .nav-group-toggle {min-height:52px;gap:14px;padding:12px;text-align:left;}
 #app.cg-navigation-shell #sideNav .cg-nav-icon {width:34px;height:34px;flex-basis:34px;}
 #app.cg-navigation-shell #sideNav .nav-group-items {width:calc(100% - 50px);margin-left:50px;padding-left:0;}
 #app.cg-navigation-shell #sideNav .nav-group-items .nav {min-height:44px;padding:7px 9px;}
 #app.cg-navigation-shell #sideNav .cg-profile-panel {z-index:10039;}
 #app.cg-navigation-shell #sideNav .cg-profile-toggle:focus-visible {outline-color:var(--cg-menu-focus);}
 /* Popup is anchored to the full two-row header, not the 44px avatar wrapper. */
 #app.cg-navigation-shell #sideNav .side-head {position:relative;}
 #app.cg-navigation-shell #sideNav .cg-nav-profile {position:static;}
 #app.cg-navigation-shell #sideNav .cg-profile-panel {position:absolute;top:calc(100% + 12px);right:0;left:auto;width:min(310px,calc(100vw - 24px))!important;max-width:min(100%,calc(100vw - 24px))!important;min-width:0!important;max-height:60dvh;overflow:auto!important;white-space:normal;word-break:normal;overflow-wrap:anywhere;}
 #app.cg-navigation-shell #sideNav .cg-profile-panel #sessionInfo {width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;white-space:normal;word-break:normal;overflow-wrap:anywhere;}
 #app.cg-navigation-shell #sideNav #sessionInfo :is(.session-label,b,strong,.session-meta,.session-pill,.role-pill,.pill) {font-size:13px!important;line-height:1.45!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;}
 html:has(#app.cg-navigation-shell #sideNav.mobile-open),body:has(#app.cg-navigation-shell #sideNav.mobile-open) {overflow:hidden!important;}
}

/* Start-up: the menu stays invisible (keeping its space) until access is resolved, so entries do not flicker. */
body.cg-booting #nav { visibility: hidden; }

/* Selector de organización en la barra lateral (assets/organization-picker.js). */
#app.cg-navigation-shell .cg-rail-controls.has-org-picker .cg-rail-organization {display:none!important;}
#app.cg-navigation-shell .cg-org-picker {position:relative;flex:1;min-width:0;}
#app.cg-navigation-shell .cg-org-picker[hidden] {display:none!important;}
#app.cg-navigation-shell .cg-org-trigger {display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px;border:1px solid var(--cg-menu-muted);border-radius:10px;background:transparent;color:var(--cg-menu-ink);font:inherit;font-size:13px;font-weight:650;text-align:left;cursor:pointer;}
#app.cg-navigation-shell .cg-org-trigger:hover,#app.cg-navigation-shell .cg-org-picker.is-open .cg-org-trigger {background:var(--cg-menu-active);}
#app.cg-navigation-shell .cg-org-trigger:focus-visible,#app.cg-navigation-shell .cg-org-search:focus-visible,#app.cg-navigation-shell .cg-org-list:focus-visible {outline:2px solid var(--cg-menu-focus);outline-offset:2px;}
#app.cg-navigation-shell .cg-org-icon {display:inline-flex;flex:none;color:var(--cg-menu-focus);}
#app.cg-navigation-shell .cg-org-name {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#app.cg-navigation-shell .cg-org-chevron {display:inline-flex;flex:none;color:var(--cg-menu-muted);transition:transform .15s;}
#app.cg-navigation-shell .cg-org-picker.is-open .cg-org-chevron {transform:rotate(180deg);}
#app.cg-navigation-shell .cg-org-picker[data-state="group"] .cg-org-trigger {border-color:var(--cg-menu-focus);box-shadow:inset 3px 0 0 var(--cg-menu-focus);}
#app.cg-navigation-shell .cg-org-picker[data-state="empty"] .cg-org-name {color:var(--cg-menu-muted);font-weight:600;}
#app.cg-navigation-shell .cg-org-pop {position:fixed;z-index:140;display:flex;flex-direction:column;gap:6px;max-height:min(60dvh,380px);padding:8px;box-sizing:border-box;border:1px solid var(--cg-menu-edge);border-radius:14px;background:var(--cg-menu-solid);color:var(--cg-menu-ink);box-shadow:0 18px 44px #02081c66;}
#app.cg-navigation-shell .cg-org-pop[hidden] {display:none!important;}
#app.cg-navigation-shell .cg-org-search {flex:none;min-height:44px;padding:6px 10px;border:1px solid var(--cg-menu-muted);border-radius:9px;background:transparent;color:var(--cg-menu-ink);font:inherit;font-size:13px;}
#app.cg-navigation-shell .cg-org-search[hidden] {display:none!important;}
#app.cg-navigation-shell .cg-org-list {list-style:none;margin:0;padding:0;overflow-y:auto;min-height:0;}
#app.cg-navigation-shell .cg-org-group {padding:10px 8px 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--cg-menu-muted);}
#app.cg-navigation-shell .cg-org-option {display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:9px;border:1px solid transparent;cursor:pointer;}
#app.cg-navigation-shell .cg-org-option svg {flex:none;color:var(--cg-menu-focus);}
#app.cg-navigation-shell .cg-org-option.is-active {background:var(--cg-menu-active);border-color:var(--cg-menu-edge);outline:2px solid var(--cg-menu-focus);outline-offset:-2px;}
#app.cg-navigation-shell .cg-org-option[aria-selected="true"] {border-left:3px solid var(--cg-menu-focus);}
#app.cg-navigation-shell .cg-org-opt-text {display:grid;flex:1;min-width:0;line-height:1.25;}
#app.cg-navigation-shell .cg-org-opt-text b {white-space:normal;overflow-wrap:anywhere;font-size:13px;}
#app.cg-navigation-shell .cg-org-opt-text small {color:var(--cg-menu-muted);font-size:11px;font-weight:600;}
#app.cg-navigation-shell .cg-org-check {flex:none;color:var(--cg-menu-focus);font-weight:900;}
#app.cg-navigation-shell .cg-org-status {padding:10px;font-size:12px;color:var(--cg-menu-muted);}
/* Barra compacta: el selector queda como botón de icono y el panel sale a la derecha. */
@media(min-width:801px){
 #app.cg-navigation-shell.cg-rail-compact #sideNav .cg-rail-controls.has-org-picker {position:static;width:100%;height:auto;overflow:visible;clip-path:none;justify-content:center;}
 #app.cg-navigation-shell.cg-rail-compact .cg-rail-controls.has-org-picker .cg-rail-toggle:not(:focus) {position:absolute;width:1px;height:1px;min-width:0;min-height:0;overflow:hidden;clip-path:inset(50%);border:0;padding:0;}
 #app.cg-navigation-shell.cg-rail-compact .cg-rail-controls.has-org-picker:focus-within {flex-wrap:wrap;}
 #app.cg-navigation-shell.cg-rail-compact .cg-org-picker {flex:0 0 44px;}
 #app.cg-navigation-shell.cg-rail-compact .cg-org-trigger {justify-content:center;padding:6px;}
 #app.cg-navigation-shell.cg-rail-compact .cg-org-name,#app.cg-navigation-shell.cg-rail-compact .cg-org-chevron {display:none;}
 /* Con el selector en la barra, el bloque superior se oculta en escritorio (sigue en el DOM como fuente de verdad). */
 body.cg-org-picker-on #organizationSwitcher {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0;white-space:nowrap;}
}
/* El selector se mantiene visible en todas las vistas (también en Organizaciones), salvo la vista global de usuarios del superadministrador. */
/* 3.8.24: el selector también se ve en la vista global de usuarios del superadmin. */
@media(prefers-reduced-motion:reduce){#app.cg-navigation-shell .cg-org-chevron {transition:none;}}
#app.cg-navigation-shell .cg-org-search::placeholder {color:var(--cg-menu-muted);opacity:1;}
#app.cg-navigation-shell .cg-org-live {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
@media(forced-colors:active){#app.cg-navigation-shell .cg-org-option.is-active {outline:2px solid Highlight;}#app.cg-navigation-shell .cg-org-trigger {border-color:ButtonText;}}
/* Nombre completo visible: sin icono para organizaciones, letra menor y hasta 2 líneas en lugar de elipsis. */
#app.cg-navigation-shell .cg-org-trigger {padding:6px 8px;font-size:12px;line-height:1.2;}
#app.cg-navigation-shell:not(.cg-rail-compact) .cg-org-picker:not([data-state="group"]) .cg-org-icon {display:none;}
#app.cg-navigation-shell .cg-org-name {white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;}

/* Mobile drawer: the footer (profile, theme, language, sign out) must keep its full height; the panel scrolls instead of clipping it. */
@media (max-width:800px) {
  #app.cg-navigation-shell #sideNav.mobile-open #navPanel {overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));}
  #app.cg-navigation-shell #sideNav.mobile-open #navPanel > #nav {flex:0 0 auto;}
  #app.cg-navigation-shell #sideNav.mobile-open #navPanel > .cg-nav-footer {flex:0 0 auto;min-height:max-content;overflow:visible;margin-top:auto;}
}
/* 3.9.1: en móvil el selector de organización va dentro del menú lateral, bajo el botón de cerrar. */
@media(max-width:800px){
 #app.cg-navigation-shell #navPanel > .cg-org-picker.in-drawer {flex:none;width:100%;margin:0 0 14px;}
 #app.cg-navigation-shell #navPanel > .cg-org-picker.in-drawer .cg-org-trigger {min-height:48px;font-size:14px;}
 #app.cg-navigation-shell #navPanel > .cg-org-picker.in-drawer .cg-org-icon {display:inline-flex;}
 #app.cg-navigation-shell #navPanel > .cg-org-picker.in-drawer .cg-org-pop {position:absolute;box-sizing:border-box;}
}
