/* ═══════════════════════════════════════════════════════════════
   LAYOUT — App grid, main content area
   ═══════════════════════════════════════════════════════════════ */

  /* ── Layout ─────────────────────────────────────────── */
  .app{display:flex;height:100vh}

  /* ───────────────────────────────────────────────────────────
     Short-viewport resilience  (added 2026-05-19)

     On OS-scaled / high-DPI displays the effective CSS viewport
     can be very short (e.g. Windows 150% scaling on 1080p →
     ~585px tall once Chrome's magnified toolbar is subtracted).
     The shell is `height:100vh; overflow:hidden`, and the sidebar
     is a flex column whose bottom block (BETA/ADMIN badges +
     profile) is pushed down by `.sidebar-spacer{flex:1}`. With no
     overflow fallback, that bottom block was clipped off-screen
     with NO scrollbar to recover it.

     These rules engage ONLY when the viewport is too short, so
     normal/tall viewports render exactly as before (no regression).
     Modals already self-cap (.modal{max-height:85vh;overflow-y:auto}).
     ─────────────────────────────────────────────────────────── */
     NOTE: scrolling `.sidebar` is intentionally NOT used — sidebar.css
     keeps it overflow:visible so nav tooltips aren't clipped. Instead
     we reclaim vertical space by compacting the header so the bottom
     block (BETA/ADMIN + profile) always fits with slack. Selectors are
     made specific enough (aside.sidebar / .app) to win regardless of
     stylesheet load order, without !important. */
  @media (max-height: 760px){
    /* 2026-05-29: restored the original generous brand spacing (28/20,
       per sidebar.css) — the previous 12/10 compaction removed the brown
       space above/below the wordmark. Space is reclaimed via the spacer
       instead, so the bottom block still fits on short viewports. */
    .app .sidebar-spacer{flex:0 1 auto;min-height:6px}
  }
  @media (max-height: 620px){
    /* Brand spacing stays at the original 28/20 at every height (matches
       the old build); only the bottom badges compact on tiny windows. */
    aside.sidebar .sidebar-bottom-badges{padding:2px 22px}
  }

