:root{
  --os-rbac-nav-bg:#0b1628;
  --os-rbac-nav-line:rgba(255,255,255,.08);
  --os-rbac-nav-ink:#cbd5e1;
  --os-rbac-nav-muted:#64748b;
  --os-rbac-nav-active:rgba(93,168,255,.14);
  --os-rbac-nav-width:245px;
}
body.oraspere-rbac-nav-ready{padding-left:var(--os-rbac-nav-width)!important;min-width:0}
body.oraspere-rbac-nav-ready .oraspere-rbac-app-shell{grid-template-columns:1fr!important;width:100%!important}
.oraspere-rbac-legacy{display:none!important}
.oraspere-rbac-sidebar{position:fixed;z-index:9999;left:0;top:0;bottom:0;width:var(--os-rbac-nav-width);background:var(--os-rbac-nav-bg);border-right:1px solid var(--os-rbac-nav-line);padding:22px 16px 18px;display:flex;flex-direction:column;overflow-y:auto;color:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;box-sizing:border-box}
.oraspere-rbac-sidebar *{box-sizing:border-box}
.oraspere-rbac-logo-row{display:flex;gap:10px;align-items:center;padding:4px 7px 20px;border-bottom:1px solid var(--os-rbac-nav-line)}
.oraspere-rbac-logo{width:42px;height:42px;object-fit:contain}
.oraspere-rbac-logo-text{font-weight:850;font-size:18px;line-height:1.1}.oraspere-rbac-logo-text small{display:block;margin-top:4px;color:#94a3b8;font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.oraspere-rbac-title{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--os-rbac-nav-muted);font-weight:850;margin:22px 10px 8px}
.oraspere-rbac-link{display:flex;gap:10px;align-items:center;padding:10px 11px;border-radius:11px;color:var(--os-rbac-nav-ink);text-decoration:none;font-size:12px;font-weight:720;margin:2px 0;border:1px solid transparent;background:transparent;cursor:pointer;width:100%;text-align:left}
.oraspere-rbac-link:hover,.oraspere-rbac-link.active{background:var(--os-rbac-nav-active);color:#fff;border-color:rgba(93,168,255,.13)}
.oraspere-rbac-icon{width:18px;text-align:center;flex:0 0 18px}
.oraspere-rbac-bottom{margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--os-rbac-nav-line);font-size:10px;color:#94a3b8}
.oraspere-rbac-bottom strong{display:block;color:#fff;font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oraspere-rbac-role{margin-top:9px;color:#7f96ab;font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.oraspere-rbac-signout{margin-top:12px;border-color:rgba(255,107,120,.2);background:rgba(255,107,120,.06);color:#ffd6da}
.oraspere-rbac-mobile-toggle{display:none;position:fixed;z-index:10001;left:12px;top:12px;width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#0b1d2f;color:#fff;font-size:20px;box-shadow:0 8px 28px rgba(0,0,0,.24);cursor:pointer}
.oraspere-rbac-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:9998}
.oraspere-session-recovery{position:fixed;z-index:10002;top:12px;right:12px;max-width:min(420px,calc(100vw - 24px));padding:13px 15px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#102339;color:#fff;border:1px solid #58749a;border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.34);font:600 13px/1.4 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.oraspere-session-recovery span{flex:1 1 100%}
.oraspere-session-recovery button,.oraspere-session-recovery a{border:1px solid #95b4d5;border-radius:8px;padding:7px 12px;background:#1a3856;color:#fff;text-decoration:none;font:inherit;cursor:pointer}
.oraspere-session-recovery button:hover,.oraspere-session-recovery a:hover{background:#285178}
.oraspere-session-recovery :is(button,a):focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
.oraspere-session-recovery button:disabled{opacity:.6;cursor:wait}
@media(max-width:900px){
  body.oraspere-rbac-nav-ready{padding-left:0!important}
  .oraspere-rbac-sidebar{transform:translateX(-105%);transition:transform .2s ease;box-shadow:20px 0 55px rgba(0,0,0,.38)}
  body.oraspere-rbac-nav-open .oraspere-rbac-sidebar{transform:translateX(0)}
  .oraspere-rbac-mobile-toggle{display:grid;place-items:center}
  body.oraspere-rbac-nav-open .oraspere-rbac-backdrop{display:block}
}

/* V20.5A RBAC SESSION CONSISTENCY FIX
   All legacy manager sidebars stay hidden at all times. The unified sidebar
   is the single source of navigation truth and only renders for a live saved
   OraSpere manager session. */
#oraspereGlobalSidebar,
#managerSidebar,
#sidebar,
aside.sidebar,
#oraspereMobileNavToggle,
.mobile-menu,
.mobileMenu,
.side-toggle {
  display:none!important;
}

/* Older Command Centre CSS reserved 245px even when its legacy sidebar was
   hidden. Reset that space; the unified nav adds it only while authenticated. */
body.oraspere-sidebar-page {
  padding-left:0!important;
}
body.oraspere-sidebar-page.oraspere-rbac-nav-ready {
  padding-left:var(--os-rbac-nav-width)!important;
}
@media(max-width:900px){
  body.oraspere-sidebar-page.oraspere-rbac-nav-ready{padding-left:0!important}
}
