/* Presets change tokens; orientation and interaction styles stay shared. */
.managed-menu-theme {
  --menu-background:#212529;
  --menu-text:rgba(255,255,255,.8);
  --menu-text-hover:#fff;
  --menu-icon:rgba(255,255,255,.25);
  --menu-heading:var(--acorange,#fe8f1c);
  --menu-border:#ffffff26;
  --menu-hover:#ffffff0d;
  --menu-focus:var(--acgreen,#c4d600);
  --menu-account-background:#fff;
  --menu-account-text:#212529;
  --menu-account-icon:#6c757d;
  --menu-account-hover:#f2f4f6;
  --menu-account-border:#dee2e6;
  background:var(--menu-background);
  color:var(--menu-text);
}
.managed-menu-theme.managed-appearance-light {
  --menu-background:#fff;
  --menu-text:#34495e;
  --menu-text-hover:var(--acblue,#0033a0);
  --menu-icon:#758493;
  --menu-heading:var(--acblue,#0033a0);
  --menu-border:#dce4eb;
  --menu-hover:#f1f5f9;
  --menu-focus:var(--acblue,#0033a0);
}
.managed-menu-theme.managed-appearance-dark {
  --menu-background:#212529;
  --menu-text:rgba(255,255,255,.8);
  --menu-text-hover:#fff;
  --menu-icon:rgba(255,255,255,.25);
}
.managed-menu-theme.sb-topnav { background:var(--menu-background); color:var(--menu-text); }
.managed-menu-theme.sb-topnav .navbar-brand { color:var(--menu-text); }
.managed-menu-theme.sb-topnav .navbar-brand:hover { color:var(--menu-text-hover); }
.managed-menu-theme.managed-appearance-light .managed-topbar-logo { background:#212529; border-radius:4px; }
.managed-menu-theme.sb-topnav #sidebarToggle { color:var(--menu-icon); }
.managed-menu-theme .managed-topbar-link,
.managed-menu-theme .managed-topbar-group>summary { color:var(--menu-text); }
.managed-menu-theme .managed-topbar-link>span,
.managed-menu-theme .managed-topbar-group>summary>span { color:inherit; }

.sb-topnav .managed-topbar-title { min-width:0; max-width:22vw; overflow:hidden; text-overflow:ellipsis; }
  .managed-topbar { margin-left:auto; }
  .managed-topbar-list,.managed-topbar-submenu,.managed-topbar-section { list-style:none; padding:0; margin:0; }
  .managed-topbar-list { display:flex; align-items:center; gap:4px; }
  .managed-topbar-item { min-width:0; }
  .managed-topbar-link,.managed-topbar-group>summary { display:flex; align-items:center; gap:8px; color:var(--menu-text); padding:10px 12px; font-size:14px; line-height:1.5; cursor:pointer; text-decoration:none; }
  .managed-topbar-link:hover,.managed-topbar-group>summary:hover { color:var(--menu-text-hover); background:var(--menu-hover); }
  .managed-topbar-link i,.managed-topbar-group>summary i { color:var(--menu-icon); }
  .managed-topbar-group { position:relative; }
  .managed-topbar-group>summary { list-style:none; }
  .managed-topbar-group>summary::-webkit-details-marker { display:none; }
  .managed-topbar-group>summary::after { content:''; width:6px; height:6px; border-right:2px solid var(--menu-icon); border-bottom:2px solid var(--menu-icon); transform:rotate(45deg); margin-left:auto; flex-shrink:0; }
  .managed-topbar-group[open]>summary::after { transform:rotate(225deg); }
  .managed-topbar-list>.managed-topbar-item>.managed-topbar-group>.managed-topbar-submenu { position:absolute; right:0; top:100%; width:max-content; min-width:min(240px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:70vh; overflow:auto; background:var(--menu-background); border:1px solid var(--menu-border); border-radius:6px; padding:6px; box-shadow:0 10px 25px #0004; }
  .managed-topbar-submenu .managed-topbar-link,
  .managed-topbar-submenu .managed-topbar-group>summary { white-space:nowrap; overflow-wrap:normal; }
  .managed-topbar-submenu .managed-topbar-submenu,.managed-topbar-section { padding-left:16px; }
  .managed-topbar-heading { color:var(--menu-heading); font-size:11px; font-weight:700; text-transform:uppercase; padding:12px 12px 4px; }
  .managed-topbar summary:focus-visible,.managed-topbar a:focus-visible { outline:2px solid var(--menu-focus); outline-offset:-2px; }
  .managed-topbar-toggle { margin-left:auto; background:transparent; border:1px solid #ffffff55; border-radius:4px; color:var(--menu-text-hover); padding:5px 9px; }
  .managed-topbar-account>details>summary { border:0; font-size:12px; font-weight:700; text-transform:uppercase; }
  .managed-topbar-list>.managed-topbar-account>.managed-topbar-group>.managed-topbar-submenu { min-width:160px; background:var(--menu-account-background); border-color:var(--menu-account-border); }
  .managed-menu-theme .managed-topbar-account .managed-topbar-submenu .managed-topbar-link { color:var(--menu-account-text); }
  .managed-menu-theme .managed-topbar-account .managed-topbar-submenu .managed-topbar-link:hover { color:var(--menu-account-text); background:var(--menu-account-hover); }
  .managed-menu-theme .managed-topbar-account .managed-topbar-submenu .managed-topbar-link i { color:var(--menu-account-icon); }
  .managed-topbar-logout { border-top:1px solid var(--menu-account-border); margin-top:6px; padding-top:6px; }
  .managed-horizontal-sidebar { width:100%; }
  .managed-location { width:fit-content; max-width:100%; background:var(--menu-background); color:var(--menu-text); padding:8px; border-radius:6px; }
  .managed-location.managed-horizontal-sidebar { display:inline-block; vertical-align:middle; width:fit-content; max-width:100%; }
  .managed-location>.sb-sidenav { height:auto; }
  .managed-horizontal-sidebar .managed-topbar-list { display:flex; flex-wrap:wrap; align-items:flex-start; }
  .managed-horizontal-sidebar .managed-topbar-item { max-width:100%; }
  .managed-horizontal-sidebar .managed-topbar-group>summary,.managed-horizontal-sidebar .managed-topbar-link { overflow-wrap:anywhere; padding:10px 12px; }
  .managed-horizontal-sidebar .managed-topbar-list>.managed-topbar-item>.managed-topbar-group>.managed-topbar-submenu { position:static; min-width:0; max-width:100%; max-height:none; box-shadow:none; border:0; border-left:1px solid var(--menu-border); margin-left:8px; padding:0; }
  .managed-vertical-header { position:absolute; top:100%; right:16px; width:280px; max-width:calc(100vw - 32px); max-height:70vh; overflow:auto; background:var(--menu-background); border:1px solid var(--menu-border); border-radius:6px; }
  /* Application navbar dropdowns follow the navbar's lg breakpoint. */
  .managed-location.managed-app-menu { padding:0; border-radius:0; }
  .managed-app-menu .managed-topbar-list { display:flex; flex-wrap:wrap; align-items:center; gap:0; }
  .managed-app-menu .managed-topbar-list>.managed-topbar-item>.managed-topbar-link,
  .managed-app-menu .managed-topbar-list>.managed-topbar-item>.managed-topbar-group>summary { padding:.5rem; font-size:inherit; border-radius:.25rem; }
  .managed-app-menu summary:focus:not(:focus-visible) { outline:none; }
  .managed-app-menu summary:focus-visible,.managed-app-menu a:focus-visible { outline:2px solid var(--menu-focus); outline-offset:2px; }
  .managed-app-menu .managed-topbar-group>summary::after { width:0; height:0; border:0; border-top:.3em solid currentColor; border-right:.3em solid transparent; border-left:.3em solid transparent; margin-left:.25rem; transform:none; }
  .managed-app-menu .managed-topbar-list>.managed-topbar-item>.managed-topbar-group>.managed-topbar-submenu { z-index:1000; min-width:min(10rem,calc(100vw - 32px)); max-width:calc(100vw - 32px); padding:.5rem 0; margin:0; border:1px solid var(--menu-border); border-radius:.25rem; box-shadow:0 .5rem 1rem #0002; }
  .managed-app-menu .managed-topbar-submenu .managed-topbar-link,
  .managed-app-menu .managed-topbar-submenu .managed-topbar-group>summary { padding:.25rem 1rem; font-size:1rem; }
  @media(min-width:992px) {
    .managed-app-menu .managed-topbar-list>.managed-topbar-item>.managed-topbar-group>.managed-topbar-submenu { position:absolute; top:100%; right:0; left:auto; }
  }
  @media(max-width:991.98px) {
    .managed-app-menu .managed-topbar-list { display:block; padding:0; }
    .managed-app-menu .managed-topbar-list>.managed-topbar-item>.managed-topbar-group>.managed-topbar-submenu { position:static; max-width:100%; max-height:none; margin-left:0; box-shadow:none; }
  }
  .managed-vertical-header>.sb-sidenav { height:auto; }
  .managed-vertical-header .nav-link { gap:8px; }
  .managed-vertical-header .sb-sidenav-collapse-arrow { transform:rotate(90deg); }
  .managed-vertical-header .collapsed .sb-sidenav-collapse-arrow { transform:rotate(0deg); }
  @media(max-width:1199.98px) {
    .managed-topbar { position:absolute; top:100%; left:0; right:0; background:var(--menu-background); border-bottom:3px solid var(--acgreen,#c4d600); max-height:75vh; overflow:auto; }
    .managed-topbar-list { display:block; padding:8px 12px; }
    .managed-topbar-list>.managed-topbar-item>.managed-topbar-group>.managed-topbar-submenu { position:static; min-width:0; max-width:none; max-height:none; border:0; box-shadow:none; margin-left:12px; }
    .sb-topnav .managed-topbar-title { display:none; }
  }
  @media(max-width:575.98px) { .sb-topnav .navbar-brand.ps-3 { padding-left:0!important; margin-right:4px; } .sb-topnav #sidebarToggle { margin-right:8px!important; } }

  #managed-sidebar-menu .nav-link { padding:.75rem .875rem; gap:.5rem; font-size:1rem; }
  #managed-sidebar-menu .nav-link .sb-nav-link-icon { width:1rem; flex-shrink:0; }
  #managed-sidebar-menu .managed-menu-label { flex:1; min-width:0; }
  #managed-sidebar-menu .sb-sidenav-collapse-arrow { flex-shrink:0; }
  #managed-sidebar-menu .sb-sidenav-menu-nested { margin-left:1.5rem; }
  #managed-sidebar-menu .sb-sidenav-menu-heading { padding:.75rem .875rem 0; }
  #managed-sidebar-menu .nav-link .sb-sidenav-collapse-arrow { transform:rotate(90deg); }
  #managed-sidebar-menu .nav-link.collapsed .sb-sidenav-collapse-arrow { transform:rotate(0deg); }

.managed-menu-theme.sb-sidenav,.managed-menu-theme .sb-sidenav-dark { background:var(--menu-background); color:var(--menu-text); }
.managed-menu-theme .sb-sidenav-menu .nav .nav-link { color:var(--menu-text); }
.managed-menu-theme .sb-sidenav-menu .nav .nav-link:hover { color:var(--menu-text-hover); background:var(--menu-hover); }
.managed-menu-theme .sb-sidenav-menu .nav .sb-sidenav-menu-heading { color:var(--menu-heading); }
.managed-menu-theme .sb-sidenav-menu .nav .nav-link .sb-nav-link-icon,.managed-menu-theme .sb-sidenav-menu .nav .nav-link .sb-sidenav-collapse-arrow { color:var(--menu-icon); }
.managed-menu-theme .nav-link .sb-sidenav-collapse-arrow { transform:rotate(90deg); }
.managed-menu-theme .nav-link.collapsed .sb-sidenav-collapse-arrow { transform:rotate(0deg); }

