/* layout — app shell */
.app-body {
  display: flex;
  min-height: 100vh;
  background: var(--bg);
}

.app-main {
  margin-left: var(--sidebar-w);
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-width: 0;
}

/* Individual views */
.view {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.view.is-hidden { display: none; }

/* Vertical scrollable region */
.scroll-area {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--hair-strong); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--ink-faint); }
