.shell {
  display: flex;
  height: 100vh;
  overflow: hidden;
}

.right {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
}

.main {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  background: var(--page-bg);
}

/* ════════════════════════════════════════════════════════════════════
   MOBILE & TABLET RESPONSIVENESS
   ════════════════════════════════════════════════════════════════════ */

/* ── Tablet & below (≤ 1024px) ── */
@media (max-width: 1024px) {
  .shell {
    /* Use dynamic viewport for mobile browsers (handles the URL bar) */
    height: 100dvh;
  }

  /* Sidebar is now a fixed drawer (handled by Sidebar.module.css)
     — content takes full width */
  .right {
    width: 100%;
    flex: 1;
  }

  /* Push main content down so the hamburger doesn't overlap it */
  .main {
    padding: 16px;
    padding-top: 70px;
  }
}

/* ── Phone (≤ 600px) ── */
@media (max-width: 600px) {
  .main {
    padding: 12px;
    padding-top: 64px;
  }
}