/* Shared portal navigation stays usable on touch screens, including landscape tablets. */
@media screen and (max-width:1024px) {
  body .app { display:block!important; min-height:100dvh; }
  body .app > .main { width:100%!important; min-width:0!important; }
  body .app > #sidebar {
    position:fixed!important; inset:0 auto 0 0!important; z-index:120!important;
    width:min(86vw,310px)!important; height:100dvh!important; max-height:100dvh;
    overflow-y:auto; overscroll-behavior:contain; padding:18px 14px calc(30px + env(safe-area-inset-bottom))!important;
    transform:translateX(-105%); transition:transform .22s ease!important;
    box-shadow:16px 0 40px rgba(0,0,0,.22);
  }
  body .app > #sidebar.open { transform:translateX(0)!important; }
  body #sidebar nav button { min-height:48px!important; }
  body .bp-mobile-overlay { display:block; position:fixed; inset:0; z-index:110; background:rgba(7,18,36,.48); opacity:0; pointer-events:none; }
  body.bp-menu-open { overflow:hidden; }
  body.bp-menu-open .bp-mobile-overlay { opacity:1; pointer-events:auto; }
  body:not(.bp-operations-mode-active) .app > .main > .topbar {
    display:grid!important; grid-template-columns:minmax(0,1fr) auto auto; align-items:center!important;
    gap:6px 8px!important; padding:8px 12px!important; min-height:0!important; width:100%;
  }
  body .app > .main > .topbar .top-left { grid-column:1; grid-row:1; min-width:0!important; gap:8px!important; }
  body .app > .main > .topbar .title { min-width:0; }
  body .app > .main > .topbar .title h2 { font-size:18px!important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body .app > .main > .topbar .title p { display:none!important; }
  body .app > .main > .topbar #menuBtn { display:inline-grid!important; place-items:center; flex:0 0 44px; width:44px!important; min-width:44px!important; height:44px!important; padding:0!important; }
  body .app > .main > .topbar .top-actions { display:contents!important; }
  body .app > .main > .topbar #bpNotifyWrap { grid-column:2; grid-row:1; }
  body .app > .main > .topbar #bpNotifyBell { width:44px!important; height:44px!important; min-width:44px!important; }
  body .app > .main > .topbar #bpPropertySingleControl { grid-column:1/3; grid-row:2; width:100%; min-width:0; max-width:none; }
  body .app > .main > .topbar #globalProperty { min-height:44px!important; height:44px!important; font-size:16px!important; }
  body .app > .main > .topbar #bpDashboardTopActions { grid-column:3; grid-row:2; display:flex!important; }
  body .app > .main > .topbar #bpDashboardTopActions[hidden] { display:none!important; }
  body .app > .main > .topbar #bpDashboardCustomizeBtn { min-height:44px; font-size:12px; padding:8px 12px; }
  body .app > .main > .topbar #innwaya-appearance-portal { grid-column:3; grid-row:1; }
  body .app > .main > .topbar #innwaya-appearance-portal > span { display:none; }
  body .app > .main > .topbar #innwaya-appearance-portal > select { height:44px!important; min-height:44px!important; font-size:16px!important; }
  body .app > .main > .topbar .langbar { display:none!important; }
  body .app > .main > .content { min-width:0; max-width:100%; }
}
@media screen and (max-width:600px) {
  body:not(.bp-operations-mode-active) .app > .main > .topbar { grid-template-columns:minmax(0,1fr) 44px; position:relative!important; }
  body .app > .main > .topbar #bpPropertySingleControl { grid-column:1/-1; }
  body .app > .main > .topbar #bpDashboardTopActions { grid-column:1; grid-row:3; justify-self:start; }
  body .app > .main > .topbar #innwaya-appearance-portal { grid-column:1/-1; grid-row:3; justify-self:end; max-width:52%; }
}
@media screen and (max-width:1024px) and (max-height:500px) {
  body:not(.bp-operations-mode-active) .app > .main > .topbar { position:relative!important; }
}
@media (prefers-reduced-motion:reduce) {
  body .app > #sidebar { transition:none!important; }
}
@media screen and (max-width:820px) {
  body #bpMobileBottomNav button { display:flex!important; flex-direction:column; justify-content:center; align-items:center; gap:3px; line-height:1.2; }
  body #bpMobileBottomNav button .mi { display:block!important; flex:none; margin:0!important; font-size:20px; line-height:22px; }
  body #bpMobileBottomNav button .en, body #bpMobileBottomNav button .es { font-size:10px; }
}
