:root{--bh-nav-width:236px;--bh-rail-width:76px;--bh-nav-bg:#0d1526;--bh-nav-panel:#111b2f;--bh-nav-line:rgba(148,163,184,.18);--bh-nav-text:#e8eef9;--bh-nav-muted:#91a0b8;--bh-nav-accent:#60a5fa}
.bh-global-sidebar{position:fixed;inset:0 auto 0 0;width:var(--bh-nav-width);z-index:900;padding:20px 13px;background:var(--bh-nav-bg);border-right:1px solid var(--bh-nav-line);color:var(--bh-nav-text);display:flex;flex-direction:column;overflow:auto}.bh-nav-brand{display:flex;align-items:center;gap:11px;padding:3px 9px 22px}.bh-nav-brand>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#2563eb,#7c3aed);color:white}.bh-nav-brand svg{width:21px;height:21px}.bh-nav-brand strong,.bh-nav-brand small{display:block}.bh-nav-brand strong{font-size:16px}.bh-nav-brand small{font-size:11px;color:var(--bh-nav-muted);margin-top:2px}.bh-nav-label{padding:0 11px 7px;font:800 10px/1.2 system-ui;text-transform:uppercase;letter-spacing:.12em;color:var(--bh-nav-muted)}.bh-household-label{margin-top:auto;padding-top:20px}.bh-global-sidebar nav{display:grid;gap:4px}.bh-nav-link{display:flex;align-items:center;gap:11px;min-height:43px;padding:9px 11px;border-radius:11px;color:var(--bh-nav-muted);text-decoration:none;font:650 13px/1.2 system-ui}.bh-nav-link:hover{background:var(--bh-nav-panel);color:var(--bh-nav-text)}.bh-nav-link.active{background:var(--bh-nav-panel);color:var(--bh-nav-accent)}.bh-nav-link svg,.bh-mobile-nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.bh-shared-nav>#app{margin-left:var(--bh-nav-width)}.bh-shared-nav .app-nav{display:none!important}.bh-mobile-nav,.bh-mobile-more{display:none}
/* Portal already has the same shell; prevent duplicate navigation when shared assets are ever loaded there. */
.bh-shared-nav .v24-side-nav,.bh-shared-nav .v24-mobile-nav{display:none!important}.bh-shared-nav .v24-app{display:block!important}.bh-shared-nav .v24-main{width:min(1380px,100%)}
@media (max-width:1100px) and (min-width:721px){:root{--bh-nav-width:var(--bh-rail-width)}.bh-global-sidebar{width:var(--bh-rail-width);padding-inline:10px}.bh-nav-brand{padding-inline:7px;justify-content:center}.bh-nav-brand>div,.bh-nav-label,.bh-nav-link span{display:none}.bh-nav-link{justify-content:center;padding:10px}.bh-nav-link svg{width:21px;height:21px}.bh-household-label{margin-top:auto}.bh-shared-nav>#app{margin-left:var(--bh-rail-width)}}
@media(max-width:720px){.bh-global-sidebar{display:none}.bh-shared-nav>#app{margin-left:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.bh-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;left:0;right:0;bottom:0;z-index:950;min-height:64px;padding:6px 5px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,#0d1526 96%,transparent);border-top:1px solid var(--bh-nav-line);box-shadow:0 -8px 24px rgba(0,0,0,.16)}.bh-mobile-nav .bh-nav-link,.bh-mobile-nav button{border:0;background:none;color:#91a0b8;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:48px;padding:4px;font:650 10px/1 system-ui}.bh-mobile-nav .bh-nav-link.active{color:#60a5fa;background:none}.bh-mobile-nav .bh-mobile-add{width:54px;height:54px;min-height:54px;justify-self:center;margin-top:-19px;border-radius:50%;background:#2563eb;color:#fff;box-shadow:0 7px 20px rgba(37,99,235,.38)}.bh-mobile-add svg{width:22px;height:22px}.bh-mobile-nav .bh-mobile-add span{font-size:9px}.bh-mobile-more{display:block;position:fixed;inset:0;z-index:1000}.bh-more-backdrop{position:absolute;inset:0;border:0;background:rgba(2,6,23,.65)}.bh-mobile-more section{position:absolute;left:0;right:0;bottom:0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#111b2f;color:#e8eef9;box-shadow:0 -20px 50px rgba(0,0,0,.3)}.bh-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font:700 16px system-ui}.bh-more-close{border:0;background:#1c2941;color:#fff;width:36px;height:36px;border-radius:50%;font-size:22px}.bh-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bh-more-grid .bh-nav-link{background:#17233a;color:#c5d0e3;min-height:50px}.bh-more-grid .bh-nav-link.active{color:#60a5fa}.bh-shared-nav .topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}

/* v2.8: one mobile navigation everywhere; full-screen editors temporarily own the viewport. */
@media(max-width:720px){
  :root{--bh-visual-height:100dvh}
  .bh-shared-nav{padding-bottom:0!important}
  .bh-shared-nav>#app{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  .bh-mobile-nav{min-height:74px;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));align-items:end}
  .bh-mobile-nav .bh-nav-link,.bh-mobile-nav button{min-height:54px;font-size:11px;font-weight:700;gap:4px}
  .bh-mobile-nav .bh-nav-link svg,.bh-mobile-nav button svg{width:24px;height:24px}
  .bh-mobile-nav .bh-mobile-add{width:64px;height:64px;min-height:64px;margin-top:-26px;border-radius:50%;background:#2f6fed;box-shadow:0 10px 28px rgba(47,111,237,.42)}
  .bh-mobile-nav .bh-mobile-add svg{width:29px;height:29px}
  .bh-mobile-nav .bh-mobile-add span{font-size:11px;font-weight:800}

  .bh-shared-nav.bh-editor-open .bh-mobile-nav{display:none!important}
  .bh-shared-nav.bh-editor-open>#app{padding-bottom:0!important}
  .bh-shared-nav.bh-editor-open .modal{
    position:fixed!important;inset:0!important;z-index:1400!important;width:100vw!important;height:var(--bh-visual-height,100dvh)!important;
    padding:0!important;margin:0!important;display:flex!important;align-items:stretch!important;justify-content:stretch!important;place-items:stretch!important;
    overflow:hidden!important;overscroll-behavior:none!important;background:rgba(2,6,23,.72)!important
  }
  .bh-shared-nav.bh-editor-open .modal-card{
    width:100%!important;max-width:none!important;height:var(--bh-visual-height,100dvh)!important;max-height:var(--bh-visual-height,100dvh)!important;
    margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;
    display:flex!important;flex-direction:column!important;overflow:hidden!important;padding-bottom:0!important;background:var(--panel,#0f172a)!important
  }
  .bh-shared-nav.bh-editor-open .modal-head{
    flex:0 0 auto!important;position:sticky!important;top:0!important;z-index:8!important;background:var(--panel,#0f172a)!important;
    padding-top:max(14px,env(safe-area-inset-top))!important
  }
  .bh-shared-nav.bh-editor-open .modal-body{
    flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;touch-action:pan-y!important;padding-bottom:24px!important
  }
  .bh-shared-nav.bh-editor-open .modal-actions{
    position:sticky!important;bottom:0!important;z-index:10!important;flex:0 0 auto!important;background:var(--panel,#0f172a)!important;
    margin:0!important;padding:12px 18px calc(12px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--line,rgba(148,163,184,.2))!important;
    box-shadow:0 -12px 30px rgba(0,0,0,.25)!important
  }
  .bh-shared-nav.bh-editor-open .modal-actions>div{display:flex;gap:8px;flex-wrap:wrap}
  .bh-shared-nav.bh-editor-open .modal-actions button{min-height:48px}
}

/* v2.9: Safari-safe full-screen mobile editors and one shared app bar everywhere. */
@media(max-width:720px){
  html.bh-editor-open,body.bh-editor-open{overflow:hidden!important;overscroll-behavior:none!important}
  .bh-shared-nav.bh-editor-open .bh-mobile-nav,.bh-shared-nav.bh-editor-open .bh-mobile-more{display:none!important}
  .bh-shared-nav.bh-editor-open .modal{
    top:var(--bh-visual-top,0px)!important;
    left:var(--bh-visual-left,0px)!important;
    right:auto!important;
    bottom:auto!important;
    width:100vw!important;
    max-width:100vw!important;
    height:var(--bh-visual-height,100dvh)!important;
    max-height:var(--bh-visual-height,100dvh)!important;
    touch-action:none!important;
  }
  .bh-shared-nav.bh-editor-open .modal-card{
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    touch-action:pan-y!important;
  }
  .bh-shared-nav.bh-editor-open .modal-body{
    flex:1 1 0!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }
  .bh-shared-nav.bh-editor-open .modal-actions{
    flex:0 0 auto!important;
    position:sticky!important;
    bottom:0!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  /* Portal has a legacy mobile bar in its own stylesheet; the shared bar is canonical. */
  .v24-mobile-nav{display:none!important}
}
