// ============================================================================ // Layout Shell — Adaptive layout container // Desktop: Nav Rail (left) + Main Content (right) // Mobile: Header + Content + Bottom Nav (stacked) // ============================================================================ .layout-shell { display: flex; min-height: 100vh; background-color: var(--cc-background); } .layout-shell__nav-rail { flex-shrink: 0; } .layout-shell__main { flex: 1; display: flex; flex-direction: column; min-width: 0; // Prevent flex overflow overflow: hidden; } .layout-shell__header { flex-shrink: 0; } .layout-shell__content { flex: 1; overflow-y: auto; overflow-x: hidden; padding: var(--cc-section-padding); } .layout-shell__bottom-nav { flex-shrink: 0; } // Mobile: Stack layout vertically, add bottom padding for bottom nav @media (max-width: 599px) { .layout-shell { flex-direction: column; } .layout-shell__content { // Account for bottom nav bar height padding-bottom: calc(var(--cc-bottom-nav-height) + 16px); } } // Tablet: Ensure content padding accommodates collapsed nav rail @media (min-width: 600px) and (max-width: 1023px) { .layout-shell__content { padding: 20px; } }