.portal-bottom-nav,.portal-mobile-menu-heading,.portal-mobile-overview { display:none; }
.portal-main-menu .portal-mobile-overview { display:none; }
.portal-mobile-backdrop[hidden] { display:none; }
@media(max-width:900px) {
    body:has(.portal-bottom-nav) { padding-bottom:calc(92px + env(safe-area-inset-bottom,0px)); }
    body.portal-menu-visible { overflow:hidden; }
    body .portal-bottom-nav { position:fixed; z-index:1200; inset:auto 12px calc(12px + env(safe-area-inset-bottom,0px)); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; width:calc(100% - 24px); max-width:540px; margin-inline:auto; min-height:66px; box-sizing:border-box; padding:6px; border:1px solid rgba(219,231,242,.85); border-radius:20px; background:rgba(255,255,255,.86); box-shadow:0 12px 36px rgba(15,35,55,.2),inset 0 1px 0 rgba(255,255,255,.8); -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%); }
    body .portal-bottom-nav :is(a,button) { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:52px; padding:4px 0; margin:0; border:0; border-radius:14px; background:transparent; color:#455765; text-decoration:none; font:inherit; font-size:10px; font-weight:600; line-height:1.2; cursor:pointer; }
    body .portal-bottom-nav svg { width:24px; height:24px; }
    body .portal-bottom-nav a[aria-current=page],body .portal-bottom-nav button[aria-expanded=true] { color:#1557ae; background:rgba(221,235,255,.8); }
    body .portal-bottom-nav a[aria-current=page] svg { stroke-width:2.3; }
    body .portal-bottom-nav :is(a,button):focus-visible { outline:2px solid #1557ae; outline-offset:-2px; }
    .portal-mobile-backdrop { position:fixed; inset:0; z-index:1000; background:#152b4080; backdrop-filter:blur(3px); }
    body .portal-brand-bar.is-mobile-open { z-index:1100; }
    body .portal-brand-bar.is-mobile-open .portal-main-menu { position:fixed; inset:max(12px, env(safe-area-inset-top,0px)) 12px calc(82px + env(safe-area-inset-bottom,0px)); display:flex; flex-direction:column; flex-wrap:nowrap; box-sizing:border-box; width:auto; max-width:560px; margin:0 auto; gap:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:0 16px 20px; border:1px solid #dce4eb; border-radius:8px; background:#fff; color:#203441; box-shadow:0 16px 60px #102a4430; }
    body .portal-brand-bar.is-mobile-open .portal-main-menu { z-index:1110; justify-content:flex-start; align-items:stretch; }
    body .portal-mobile-menu-heading { position:sticky; top:0; z-index:2; background:#fff; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:12px; padding:12px 0; border-bottom:1px solid #dce4eb; font-size:18px; }
    .portal-mobile-menu-heading button { width:44px; height:44px; border:1px solid #dce4eb; border-radius:6px; background:#f5f8fa; color:#304653; font-size:26px; cursor:pointer; }
    body .portal-main-menu .portal-menu-item { flex-shrink:0; min-width:0; width:100%; border-bottom:1px solid #e6edf1; }
    body .portal-main-menu .portal-menu-link { box-sizing:border-box; width:100%; min-height:50px; padding:12px 4px; margin:0; border-radius:0; font-size:14px; line-height:1.4; background:transparent; color:#203441; white-space:normal; overflow-wrap:anywhere; transform:none; }
    body .portal-main-menu .portal-menu-item.is-open > .portal-menu-link { color:#1557ae; background:transparent; }
    body .portal-main-menu :is(.portal-dropdown,.portal-submenu) { position:static; inset:auto; width:100%; max-width:100%; max-height:none; box-sizing:border-box; margin:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none !important; transition:none; }
    body .portal-main-menu .portal-dropdown { display:none; }
    body .portal-main-menu .portal-menu-item.is-open > .portal-dropdown { display:block; }
    body .portal-main-menu .portal-menu-item:not(.is-open) > .portal-dropdown { display:none; }
    body .portal-main-menu .portal-dropdown-panel { max-height:none; overflow:visible; padding:0 0 12px 8px; border:0; border-left:2px solid #d8e5f3; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
    body .portal-main-menu .portal-dropdown-panel::before { display:none; }
    body .portal-main-menu .portal-submenu { display:none; padding:0 0 6px 12px; border-left:1px solid #d8e5f3; }
    body .portal-main-menu .portal-submenu-item.is-open > .portal-submenu { display:block; }
    body .portal-main-menu .portal-submenu-item:not(.is-open) > .portal-submenu { display:none; }
    body .portal-main-menu :is(.portal-dropdown a,.portal-submenu-label) { box-sizing:border-box; width:100%; min-height:44px; padding:10px 12px; font-size:13px; font-weight:500; line-height:1.45; white-space:normal; overflow-wrap:anywhere; transform:none; }
    body .portal-main-menu .portal-submenu-label { padding-right:30px; position:relative; font-weight:600; }
    body .portal-main-menu .portal-submenu-label::after { content:'+'; display:block; right:10px; }
    body .portal-main-menu .portal-submenu-item.is-open > .portal-submenu-label::after { content:'−'; }
    body .portal-main-menu .portal-mobile-overview { display:flex; color:#1557ae; font-size:12px; }
    body .portal-main-menu .portal-submenu-item::after { display:none; }
    body .asw-menu-btn { bottom:calc(100px + env(safe-area-inset-bottom,0px)) !important; }
    body.portal-menu-visible .asw-menu-btn { visibility:hidden; }
}
@media(max-width:360px) {
    body .portal-bottom-nav { left:4px; right:4px; width:calc(100% - 8px); grid-template-columns:.85fr .95fr 1.1fr 1.25fr .85fr; gap:0; padding:4px; }
    body .portal-bottom-nav span { font-size:9px; }
}
@media print { .portal-bottom-nav,.portal-mobile-backdrop,.portal-mobile-menu-heading { display:none !important; } }
