@media (max-width: 1020px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .side-nav {
    position: fixed;
    left: 0;
    transform: translateX(-105%);
    width: min(var(--nav-width), 86vw);
    transition: transform 180ms ease;
    box-shadow: var(--shadow);
  }

  .menu-toggle {
    display: inline-grid;
    place-items: center;
  }

  .two-pane,
  .editor-layout {
    grid-template-columns: 1fr;
  }

  .toolbar.sticky-tools {
    top: 76px;
  }

  .bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: #ffffff;
  }

  .bottom-nav button {
    text-align: center;
    padding: 8px 4px;
    font-size: 0.88rem;
  }
}

@media (max-width: 720px) {
  .top-bar {
    padding: 12px;
  }

  .top-actions {
    width: 100%;
    margin-left: 0;
  }

  .app-main {
    padding: 14px;
    padding-bottom: 88px;
  }

  .panel {
    padding: 13px;
  }

  .toolbar {
    align-items: stretch;
  }

  .toolbar > * {
    flex: 1 1 100%;
  }

  .input.compact,
  .select.compact {
    width: 100%;
  }

  .item-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .ox-grid {
    grid-template-columns: 1fr;
  }

  .toast-region {
    left: 12px;
    right: 12px;
    bottom: 78px;
  }
}
