/* Mobile navigation guard.
   Keep shared mobile nav isolated from page-specific redesign CSS. */

@media (max-width: 980px) {
  :root {
    --mobile-nav-guard-bottom-h: 82px;
    --mobile-nav-guard-top-h: 64px;
  }

  body {
    padding-bottom: calc(var(--mobile-nav-guard-bottom-h) + env(safe-area-inset-bottom, 0px)) !important;
  }

  .app-shell {
    min-width: 0 !important;
    padding-bottom: calc(var(--mobile-nav-guard-bottom-h) + env(safe-area-inset-bottom, 0px)) !important;
  }

  .topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-height: calc(var(--mobile-nav-guard-top-h) + env(safe-area-inset-top, 0px)) !important;
    z-index: 1200 !important;
    transform: none !important;
    margin: 0 !important;
  }

  .topbar-left,
  .topbar-right {
    min-width: 0 !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    position: relative !important;
    z-index: 1202 !important;
    flex: 0 0 auto !important;
    pointer-events: auto !important;
  }

  .mobile-drawer-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1290 !important;
  }

  .mobile-drawer-backdrop.is-open {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .mobile-drawer {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(100vw, 440px) !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    z-index: 1300 !important;
    transform: translateX(-102%) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    pointer-events: auto !important;
  }

  .mobile-drawer.is-open {
    transform: translateX(0) !important;
  }

  .mobile-drawer-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .mobile-drawer-tab-controls label {
    pointer-events: auto !important;
    touch-action: manipulation !important;
    user-select: none !important;
  }

  .mobile-drawer-tab-controls label.is-active {
    background: color-mix(in srgb, var(--accent, #1877f2) 15%, var(--card, #fff)) !important;
    border-color: color-mix(in srgb, var(--accent, #1877f2) 45%, var(--line, #d9dde3)) !important;
    color: var(--accent, #1877f2) !important;
  }

  .pro-mobile-bottom-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1250 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(56px, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-height: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 7px max(8px, env(safe-area-inset-left, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-right, 0px)) !important;
    border-top: 1px solid var(--line, #d9dde3) !important;
    background: color-mix(in srgb, var(--card, #fff) 94%, transparent) !important;
    box-shadow: 0 -12px 30px rgba(15, 23, 42, .12) !important;
    backdrop-filter: blur(18px) !important;
    pointer-events: auto !important;
  }

  .pro-mobile-bottom-nav a {
    display: flex !important;
    min-width: 0 !important;
    min-height: 48px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    color: var(--muted, #65676b) !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    pointer-events: auto !important;
  }

  .pro-mobile-bottom-nav a.is-active {
    color: var(--accent, #1877f2) !important;
  }

  .pro-mobile-bottom-nav a span:first-child {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .pro-mobile-bottom-nav a small {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
  }

  .footer-bar {
    z-index: 1100 !important;
    bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (min-width: 981px) {
  .pro-mobile-bottom-nav,
  .safe-mobile-bottom-nav,
  .mobile-drawer,
  .mobile-drawer-backdrop,
  .mobile-menu-toggle {
    display: none !important;
  }
}
