:root{
  --aic-dark-purple:#6A2875;
  --aic-medium-purple:#783184;
  --aic-light-mauve:#B081B9;
  --aic-sidebar-width:282px;
}
.app-shell{display:flex;min-height:100vh;width:100%;}
.sidebar{
  width:var(--aic-sidebar-width)!important;
  max-width:var(--aic-sidebar-width)!important;
  min-width:var(--aic-sidebar-width)!important;
  background:linear-gradient(180deg,var(--aic-dark-purple),#2d0f35)!important;
  color:#fff!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:16px 12px!important;
  z-index:100!important;
  box-shadow:10px 0 24px rgba(45,15,53,.16)!important;
}
.main{margin-left:var(--aic-sidebar-width)!important;flex:1;min-width:0;max-width:calc(100vw - var(--aic-sidebar-width));overflow-x:hidden;}
.sidebar .brand,
.sidebar-brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:58px!important;
  margin:0 0 16px!important;
  padding:2px 0!important;
  color:#fff!important;
}
.sidebar .brand-mark{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  flex:0 0 46px!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:3px!important;
  box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
  border:1px solid rgba(176,129,185,.42)!important;
}
.sidebar .brand-logo,
.sidebar .brand-mark img,
.sidebar img.brand-logo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  border-radius:10px!important;
  background:#fff!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
}
.sidebar .brand-text{min-width:0!important;overflow:hidden!important;}
.sidebar .brand strong{display:block!important;color:#fff!important;font-size:16px!important;line-height:1.15!important;font-weight:800!important;white-space:nowrap!important;}
.sidebar .brand small{display:block!important;color:#f5e8f7!important;font-size:13px!important;line-height:1.2!important;opacity:.95!important;margin-top:3px!important;white-space:nowrap!important;}
.sidebar nav,
.sidebar-nav{display:block!important;margin:0!important;padding:0!important;}

/* AIC Services shared sidebar icon standard. Every rendered sidebar item must
   use one existing shared SVG icon before its label. Do not add bullets,
   duplicate pseudo-icons or role-specific icon markup. */
.sidebar-nav,
.sidebar-nav ul,
.sidebar-nav li {
  list-style:none!important;
  list-style-type:none!important;
  margin-left:0!important;
  padding-left:0!important;
}
.sidebar-nav li::marker { content:""; }
.sidebar .nav-link::before,
.sidebar .nav-link::after { content:none!important; display:none!important; }
.sidebar .nav-link{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:100%!important;
  min-height:38px!important;
  padding:10px 11px!important;
  margin:2px 0!important;
  border-radius:12px!important;
  color:#fff!important;
  background:transparent!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.25!important;
  text-decoration:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  border:0!important;
  box-shadow:none!important;
}
.sidebar .nav-link span{display:block!important;color:inherit!important;min-width:0!important;flex:1 1 auto!important;}
.sidebar .nav-link:hover{
  background:rgba(176,129,185,.26)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 var(--aic-light-mauve)!important;
}
.sidebar .nav-link.active{
  background:rgba(176,129,185,.34)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 var(--aic-light-mauve)!important;
}
@media(max-width:820px){
  .sidebar{transform:translateX(-103%)!important;transition:transform .2s ease!important;}
  .sidebar.open{transform:translateX(0)!important;}
  .main{margin-left:0!important;max-width:100vw!important;}
}

/* Final global sidebar logo containment fix */
.sidebar .brand-mark,
.sidebar-brand .brand-mark{
  width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:46px!important;max-height:46px!important;flex:0 0 46px!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:3px!important;background:#fff!important;border-radius:14px!important;position:static!important;transform:none!important;
}
.sidebar .brand-logo,
.sidebar img.brand-logo,
.sidebar .brand-mark img{
  width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;display:block!important;position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;padding:0!important;background:#fff!important;border-radius:10px!important;
}
.sidebar .brand-text,
.sidebar-brand .brand-text{display:block!important;min-width:0!important;overflow:hidden!important;position:static!important;transform:none!important;}
.sidebar .brand-text strong,.sidebar .brand-text small{position:static!important;transform:none!important;}

/* Team Leader menu icons: scoped to the shared sidebar. */
.sidebar .nav-link { display:flex; align-items:center; gap:.72rem; }
.sidebar .nav-link .sidebar-icon { width:1.15rem; height:1.15rem; flex:0 0 1.15rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; display:block; }
.sidebar .nav-link.active .sidebar-icon { color:inherit; }
@media (max-width: 768px) { .sidebar .nav-link .sidebar-icon { width:1.2rem; height:1.2rem; } }
