.page-shell {
  min-height: 100vh;
  padding: var(--space-6) var(--space-4) 48px;
}

.container {
  max-width: var(--max-width);
  margin: 0 auto;
}

.auth-container {
  max-width: var(--max-width-narrow);
}

.hub-page,
.settings-page {
  display: grid;
  gap: var(--space-5);
}

.hub-header,
.settings-header {
  display: grid;
  gap: var(--space-4);
}

.module-grid,
.settings-grid {
  display: grid;
  gap: var(--space-4);
}

@media (min-width: 720px) {
  .hub-header,
  .settings-header {
    grid-template-columns: 1fr auto;
    align-items: start;
  }

  .module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-grid > :last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 719px) {
  .page-shell {
    padding-top: 18px;
    padding-bottom: 32px;
  }

  .hub-page,
  .settings-page {
    gap: var(--space-4);
  }

  .module-grid,
  .settings-grid {
    gap: 14px;
  }
}