.app-shell {
  max-width: 480px;
  margin: 0 auto;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
  background: var(--color-bg);
}

.main-view {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-lg) var(--space-md);
  padding-bottom: calc(var(--tap-large) + var(--space-xl));
  -webkit-overflow-scrolling: touch;
}

/* No multi-column layouts on mobile */
.main-view > * {
  max-width: 100%;
}

.section-title {
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-text);
  margin-bottom: var(--space-md);
}

.section-subtitle {
  font-size: var(--text-md);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-lg);
  line-height: 1.5;
}

/* Overlays */
.overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: var(--color-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
}

.overlay.hidden {
  display: none;
}

.overlay-panel {
  background: var(--color-surface);
  border-radius: var(--radius-xl);
  width: 100%;
  max-width: 420px;
  max-height: 90vh;
  overflow-y: auto;
  padding: var(--space-xl);
  box-shadow: var(--shadow-lg);
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--color-border);
  border-radius: 3px;
}
