/* Allisto BETA-203.4.23.1 — one hamburger visual system.
   Corrects 203.4.23's incomplete coverage of dynamically injected menus and the /app menu.
   Visual styling only: do not set menu open/closed states, hidden classes, routes, or handlers. */
:root{--ah-panel:#081629;--ah-item:#202b3f;--ah-border:rgba(203,218,244,.18);--ah-text:#f3f7ff;--ah-glow:rgba(255,154,54,.65);}
/* Hamburger trigger: one 48px dark button regardless of page background. */
html body .home-menu-toggle,
html body .account-menu-toggle,
html body .guide-nav-toggle,
html body .allisto-compact-menu-toggle,
html body .admin-menu-trigger,
html body .account-page-menu > summary{
  box-sizing:border-box!important; width:48px!important;height:48px!important;
  min-width:48px!important;min-height:48px!important;max-width:48px!important;
  padding:11px!important;gap:5px!important; border:1px solid rgba(255,255,255,.28)!important;
  border-radius:15px!important;background:#132037!important;color:#fff!important;
  box-shadow:0 9px 24px rgba(0,0,0,.22)!important;cursor:pointer!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
html body .home-menu-toggle:hover,
html body .account-menu-toggle:hover,
html body .guide-nav-toggle:hover,
html body .allisto-compact-menu-toggle:hover,
html body .admin-menu-trigger:hover,
html body .account-page-menu > summary:hover,
html body .home-menu-toggle:focus-visible,
html body .account-menu-toggle:focus-visible,
html body .guide-nav-toggle:focus-visible,
html body .allisto-compact-menu-toggle:focus-visible,
html body .admin-menu-trigger:focus-visible,
html body .account-page-menu > summary:focus-visible{
  background:#202d44!important;border-color:var(--ah-glow)!important;outline-offset:3px!important;
}
/* Match hamburger line widths on native, JS-injected, and details/summary toggles. */
html body :is(.home-menu-toggle,.account-menu-toggle,.allisto-compact-menu-toggle,.guide-nav-toggle) > span,
html body .guide-nav-toggle::before,
html body .guide-nav-toggle::after,
html body .admin-menu-icon > i,
html body .account-page-menu > summary > span,
html body .account-page-menu > summary::before,
html body .account-page-menu > summary::after{
  width:22px!important;height:2px!important;border:0!important;border-radius:999px!important;
  background:#fff!important;transform-origin:center!important;
  transition:transform .2s ease,opacity .2s ease!important;
}
html body .admin-menu-trigger{display:inline-grid!important;place-content:center!important;flex:none!important}
html body .admin-menu-trigger .admin-menu-label{display:none!important}
html body .admin-menu-trigger .admin-menu-icon{display:grid!important;gap:5px!important;place-content:center!important;transform:none!important}
html body .account-page-menu > summary{display:grid!important;place-content:center!important;list-style:none!important}
html body .account-page-menu > summary::-webkit-details-marker{display:none!important}
html body .account-page-menu[open] > summary::before{transform:translateY(7px) rotate(45deg)!important}
html body .account-page-menu[open] > summary > span{opacity:0!important}
html body .account-page-menu[open] > summary::after{transform:translateY(-7px) rotate(-45deg)!important}
/* Match open-state X animation even on components previously lacking one. */
html body .account-menu-toggle[aria-expanded="true"] span:nth-child(1),
html body .admin-menu-trigger[aria-expanded="true"] .admin-menu-icon > i:nth-child(1),
html body .guide-nav-toggle[aria-expanded="true"]::before{
  transform:translateY(7px) rotate(45deg)!important;
}
html body .account-menu-toggle[aria-expanded="true"] span:nth-child(2),
html body .admin-menu-trigger[aria-expanded="true"] .admin-menu-icon > i:nth-child(2),
html body .guide-nav-toggle[aria-expanded="true"] > span{
  opacity:0!important;
}
html body .account-menu-toggle[aria-expanded="true"] span:nth-child(3),
html body .admin-menu-trigger[aria-expanded="true"] .admin-menu-icon > i:nth-child(3),
html body .guide-nav-toggle[aria-expanded="true"]::after{
  transform:translateY(-7px) rotate(-45deg)!important;
}
/* Website, injected compact menus, and app native details retain their existing X animations. */
/* Every dropdown is a solid, opaque panel of the same width and surface. */
html body .home-nav,
html body .account-nav-menu,
html body .guide-nav,
html body .allisto-compact-nav,
html body .account-page-menu nav{
  box-sizing:border-box!important;width:min(312px,calc(100vw - 24px))!important;
  min-width:0!important;max-width:none!important;
  padding:12px!important;gap:8px!important;
  border:1px solid var(--ah-border)!important;border-radius:20px!important;
  background:var(--ah-panel)!important;background-image:none!important;
  color:var(--ah-text)!important;opacity:1!important;
  box-shadow:0 24px 60px rgba(0,0,0,.42)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
html body .home-nav.is-open,
html body .account-nav-menu.is-open{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
/* Buttons and links fill the panel, and use one *opaque* surface. Preserve hidden states. */
html body :is(.home-nav,.account-nav-menu,.guide-nav,.allisto-compact-nav,.account-page-menu nav) > :is(a,button):not([hidden]):not(.hidden){
  box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;
  min-height:48px!important;margin:0!important;padding:12px 15px!important;
  border:1px solid rgba(207,218,239,.15)!important;border-radius:13px!important;
  background:var(--ah-item)!important;background-image:none!important;color:var(--ah-text)!important;
  font:850 14px/1.3 Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  text-align:left!important;text-decoration:none!important;box-shadow:none!important;opacity:1!important;
  justify-content:flex-start!important;align-items:center!important;
}
html body :is(.home-nav,.account-nav-menu,.guide-nav,.allisto-compact-nav,.account-page-menu nav) > :is(a,button):not([hidden]):not(.hidden):is(:hover,:focus-visible){
  background:#2b3650!important;border-color:rgba(255,161,77,.58)!important;outline-offset:2px!important;
}
/* Same full-width language selector in each menu (including runtime injection). */
html body :is(.home-nav,.account-nav-menu,.guide-nav,.allisto-compact-nav,.account-page-menu nav) > .customer-language-control{
  box-sizing:border-box!important;display:block!important;width:100%!important;max-width:none!important;
  min-width:0!important;margin:0!important;padding:0!important;
}
html body :is(.home-nav,.account-nav-menu,.guide-nav,.allisto-compact-nav,.account-page-menu nav) .customer-language-control select{
  box-sizing:border-box!important;display:block!important;width:100%!important;max-width:none!important;
  min-height:48px!important;margin:0!important;padding:11px 34px 11px 14px!important;
  border:1px solid rgba(207,218,239,.2)!important;border-radius:13px!important;
  background:#202b3f!important;color:#fff!important;
  font:800 14px/1.3 Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
/* Keep Admin's established full-height drawer and grouped tools; align its surface only. */
html body .admin-menu-drawer{background:var(--ah-panel)!important;border-left-color:var(--ah-border)!important;color:var(--ah-text)!important}
html body .admin-menu-link{border-radius:13px!important;background:var(--ah-item)!important;color:var(--ah-text)!important}
html body .admin-menu-link:hover{background:#2b3650!important;border-color:rgba(255,161,77,.58)!important}
@media(prefers-reduced-motion:reduce){
  html body :is(.home-menu-toggle,.account-menu-toggle,.allisto-compact-menu-toggle,.admin-menu-trigger,.account-page-menu > summary),
  html body :is(.home-menu-toggle,.account-menu-toggle,.allisto-compact-menu-toggle) > span,
  html body .admin-menu-icon > i,
  html body .account-page-menu > summary > span{transition:none!important}
}
