.account-menu{position:relative;flex:0 0 auto}
.flash{position:relative;padding-right:54px}
.flash-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:8px;background:transparent;color:inherit;font-size:1.5rem;font-weight:400;line-height:1}
.flash-close:hover{background:rgba(0,0,0,.07)}
.flash-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.cart-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;white-space:nowrap}
.cart-link svg{width:21px;height:21px;flex:none}
.guest-auth-button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;padding:5px 12px;border:1px solid #dcd5fa;border-radius:11px;background:#f5f2ff;color:var(--brand);font-weight:600;line-height:1.2;text-align:center;white-space:nowrap;transition:background .2s,border-color .2s}
.guest-auth-button:hover{border-color:var(--brand);background:#eeeaff}
.guest-auth-button:active{background:#e5deff}
.guest-auth-button:focus-visible,.cart-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.account-menu summary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;max-width:190px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:#f5f2ff;color:var(--ink);font-weight:800;cursor:pointer;list-style:none}
.account-menu summary::-webkit-details-marker{display:none}
.account-menu summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-menu summary::after{content:"";width:7px;height:7px;flex:none;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.account-menu[open] summary::after{transform:translateY(2px) rotate(225deg)}
.account-menu summary:hover,.account-menu[open] summary{border-color:var(--brand);background:#eeeaff}
.account-menu summary:focus-visible,.account-menu-panel a:focus-visible,.account-menu-logout:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.account-menu-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:30;width:min(330px,calc(100vw - 30px));max-height:min(70vh,650px);overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(24,33,47,.18)}
.account-menu-panel nav{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;margin-left:0;font-size:.95rem}
.header:has(.account-menu[open]){z-index:30}
.account-menu-heading{margin:8px 10px 3px;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.account-menu-heading:not(:first-child){margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}
.account-menu-panel a{display:block;padding:9px 11px;border-radius:9px;white-space:normal}
.account-menu-panel a:hover,.account-menu-panel a[aria-current="page"]{background:#eeeaff;color:var(--brand)}
.account-menu-panel a[aria-current="page"]{font-weight:800}
.account-menu-panel form{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.account-menu-logout{display:block;width:100%;padding:10px 11px;border-radius:9px;background:#fff;color:var(--danger);text-align:left;font-size:.95rem}
.account-menu-logout:hover{background:#fff0f0}
.dashboard{grid-template-columns:minmax(0,1fr)}
@media(max-width:560px){
  .nav .guest-nav,.nav-authenticated .user-nav{align-items:center;gap:4px;font-size:clamp(.72rem,3.3vw,.85rem)}
  .nav .guest-nav>a,.nav-authenticated .user-nav>a,.account-menu summary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 7px;border-radius:11px;font-size:inherit;line-height:1.1}
  .nav .guest-nav>a,.nav-authenticated .user-nav>a{border:1px solid transparent}
  .nav .guest-nav .cart-link,.nav .user-nav .cart-link{width:44px;padding:7px}
  .nav .guest-nav .guest-auth-button{display:flex;flex-direction:column;min-height:48px;padding:5px 10px;border-color:#dcd5fa}
  .nav .guest-nav .guest-auth-button:hover{border-color:var(--brand)}
  .nav-authenticated .user-nav{overflow:visible;justify-self:end;justify-content:flex-end;gap:4px;padding-bottom:0}
  .account-menu summary{max-width:none;gap:6px}
  .account-menu-panel{right:0}
}
@media(max-width:360px){
  .nav .guest-nav,.nav-authenticated .user-nav{font-size:.8rem}
  .nav-authenticated{column-gap:6px}
  .nav-authenticated .brand{font-size:.78rem;gap:4px}
  .nav-authenticated .brand span{width:25px;height:25px}
  .nav-authenticated .account-menu summary{padding-inline:6px;gap:5px}
}
@media(max-width:310px){
  .nav-guest{grid-template-columns:minmax(0,1fr)}
  .nav-guest .brand{grid-column:1;grid-row:1}
  .nav-guest .guest-nav{grid-column:1;grid-row:2;justify-self:stretch;justify-content:space-between;gap:8px}
  .nav-guest .search{grid-column:1;grid-row:3}
}
