/* User-supplied expanded/compact menu reference; mirrored for Arabic RTL. */
:root{--nav-width:250px;--nav-blue:#0753c9;--nav-on-blue:#fff;--nav-motion:250ms}
body.nav-compact{--nav-width:64px}
.topbar{margin-inline-start:var(--nav-width);transition:margin-inline-start var(--nav-motion) var(--ease-smooth-out)}
.shell{padding-inline-start:var(--nav-width);transition:padding-inline-start var(--nav-motion) var(--ease-smooth-out)}
.shell>aside#sidebar{width:var(--nav-width);padding:0;background:var(--nav-blue);border:0;isolation:isolate;transition:width var(--nav-motion) var(--ease-smooth-out)}
#sidebar:before{content:'';position:absolute;inset:76px 0 0;z-index:-1;background:var(--nav-blue);border-start-end-radius:30px}
.shell>aside#sidebar{background:#fff}
#sidebar .side-brand{height:76px;min-height:76px;width:100%;padding:0 20px;gap:10px;margin:0;border:0;border-radius:0;background:#fff;color:var(--ink);text-align:right;flex-shrink:0;overflow:hidden;white-space:nowrap;transform:none}
#sidebar .side-brand:hover{background:#fff;color:var(--nav-blue)}
#sidebar .brand-symbol{width:34px;height:38px;min-width:34px;background:var(--nav-blue);border-radius:8px}
#sidebar .side-brand>span:last-child{font-size:22px;line-height:1.5;transition:opacity 150ms}
#sidebar .side-brand small{font-size:11px;color:var(--muted)}
.sidebar-quick{display:flex;align-items:center;justify-content:center;gap:9px;margin:20px 18px 12px;min-height:40px;border:0;border-radius:24px;background:white;color:var(--nav-blue);font-size:13px;font-weight:500;white-space:nowrap}
.sidebar-quick:hover:not(:disabled){background:#e9f1ff;color:var(--nav-blue)}
#sidebar nav#nav{padding:0 0 12px;scrollbar-color:#ffffff65 transparent;overflow-x:hidden;scroll-padding-block:10px}
#sidebar .nav-section{margin:0 0 9px}
#sidebar .nav-caption{margin:13px 24px 6px;color:#d3e3ff;font-size:11px;white-space:nowrap}
#sidebar nav a{height:44px;min-height:44px;padding:9px 20px 9px 13px;margin:2px 0 2px 0;margin-inline-start:12px;gap:12px;border-radius:0 22px 22px 0;color:#fff;font-size:13px;font-weight:400;white-space:nowrap;box-shadow:none;position:relative}
#sidebar nav a>.ico{width:20px;height:20px;stroke-width:1.7}
#sidebar nav a:hover{background:#ffffff17;color:white}
#sidebar nav a.active{background:#fff;color:var(--nav-blue);font-weight:600;box-shadow:none}
#sidebar nav a.active .ico{color:var(--nav-blue)}
#sidebar nav a.active:before,#sidebar nav a.active:after{content:'';display:block;position:absolute;left:0;width:16px;height:16px;pointer-events:none;border-radius:0;margin:0}
#sidebar nav a.active:before{top:-16px;background:radial-gradient(circle at 100% 0,var(--nav-blue) 16px,#fff 16.5px)}
#sidebar nav a.active:after{bottom:-16px;top:auto;background:radial-gradient(circle at 100% 100%,var(--nav-blue) 16px,#fff 16.5px)}
#sidebar .nav-count{background:#ffffff25;color:white;font-size:11px;min-width:20px;height:20px;line-height:20px;border-radius:6px}
#sidebar nav a.active .nav-count{background:#e9f1ff;color:var(--nav-blue)}
#sidebar .sidebar-bottom{margin:0 18px;padding:12px 0 14px;gap:3px;border-top:1px solid #ffffff30;flex-shrink:0}
#sidebar .sidebar-bottom a,#sidebar .sidebar-bottom button{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:8px 10px;min-height:42px;width:100%;color:white;border:0;border-radius:8px;background:none;font-size:12px;white-space:nowrap}
#sidebar .sidebar-bottom a:hover,#sidebar .sidebar-bottom button:hover:not(:disabled){background:#ffffff17;color:#fff}
#sidebar .sidebar-bottom .ico{width:20px;height:20px;flex-shrink:0}
#sidebar .sidebar-bottom .text-button>span{display:inline;width:auto;height:auto;border:0;border-radius:0;background:none;font-size:inherit}
#sidebar .private-note{color:#d3e3ff;font-size:11px;margin:8px 10px 0;white-space:nowrap}
#sidebar .sidebar-toggle{border-top:1px solid #ffffff20;margin-top:6px;border-radius:0}
#sidebar .mobile-role{color:#d3e3ff}
#sidebar .mobile-role select{color:var(--ink);background:#fff}
#sidebar :focus-visible{outline:2px solid #f3b383;outline-offset:-3px}
#nav-tooltip{position:fixed;z-index:60;max-width:240px;padding:8px 12px;color:white;background:#172f45;border-radius:7px;font-size:12px;line-height:1.7;box-shadow:0 4px 14px #172f4526;pointer-events:none}
.sidebar-scrim{display:none}
@media(min-width:761px){
  .nav-compact #sidebar .side-brand{padding:0 15px}
  .nav-compact #sidebar .side-brand>span:last-child,.nav-compact #sidebar .nav-label,.nav-compact #sidebar .sidebar-bottom a>span,.nav-compact #sidebar .sidebar-bottom button>span,.nav-compact #sidebar .private-note,.nav-compact #sidebar .sidebar-quick>span{display:none}
  .nav-compact #sidebar .sidebar-quick{margin:20px 13px 12px;width:38px;min-height:38px;border-radius:12px;padding:0}
  .nav-compact #sidebar .nav-caption{height:1px;margin:10px 16px;background:#ffffff30;font-size:0}
  .nav-compact #sidebar .nav-section:first-child .nav-caption{display:none}
  .nav-compact #sidebar nav a{padding:10px 11px;margin-inline-start:10px;gap:0;border-radius:0 13px 13px 0}
  .nav-compact #sidebar .nav-count{position:absolute;top:2px;inset-inline-start:1px;font-size:9px;height:15px;min-width:15px;line-height:15px;border:1px solid var(--nav-blue)}
  .nav-compact #sidebar .sidebar-bottom{margin:0 10px;padding-bottom:12px}
  .nav-compact #sidebar .sidebar-bottom a,.nav-compact #sidebar .sidebar-bottom button{padding:10px 12px}
  .nav-compact #sidebar .sidebar-toggle .ico{transform:rotate(180deg)}
}
@media(max-width:760px){
  .topbar{margin-inline-start:0}.shell{padding-inline-start:0}
  .shell>aside#sidebar{width:250px;top:72px;height:calc(100dvh - 72px);background:var(--nav-blue);border:0;border-start-end-radius:24px;transform:none;clip-path:inset(0 0 0 100%);transition:clip-path var(--nav-motion) var(--ease-smooth-out),visibility var(--nav-motion)}
  .shell>aside#sidebar.open{clip-path:inset(0);transform:none}
  #sidebar:before{display:none}#sidebar .side-brand{display:none}
  #sidebar .sidebar-quick{margin-top:20px}
  #sidebar .sidebar-bottom .sidebar-toggle{display:none}
  body:has(#sidebar.open) .sidebar-scrim{display:block;position:fixed;inset:72px 0 0;z-index:23;background:#172f4538;border:0;border-radius:0;padding:0;width:100%;height:calc(100dvh - 72px);cursor:default;transform:none}
  #sidebar .mobile-role{font-size:11px;padding:0 10px 8px}
  #sidebar .mobile-role select{min-height:38px;border:0}
  #sidebar .sidebar-bottom{padding-bottom:10px}
  #sidebar .private-note{display:none}
}
@media(prefers-reduced-motion:reduce){.topbar,.shell,.shell>aside#sidebar,#sidebar .side-brand>span:last-child{transition:none}}

/* Keep the first compact selection shoulder inside the nav scrollport.
   Transfer the existing quick-action gap into nav padding, preserving icon positions. */
@media(min-width:761px){
  .nav-compact #sidebar .sidebar-quick{margin-bottom:0}
  .nav-compact #sidebar nav#nav{padding-block-start:12px}
}
