/* Modern Grid-based Layout System */ .appGrid { display: grid; grid-template-columns: 16rem 1fr; grid-template-rows: 1fr auto; grid-template-areas: "sidebar main" "sidebar footer"; min-height: 100vh; width: 100vw; overflow-x: hidden; } .sidebar { grid-area: sidebar; position: sticky; top: 0; height: 100vh; overflow-y: auto; border-right: 1px solid var(--color-border); background-color: var(--color-card); z-index: 9999; pointer-events: auto; } .main { grid-area: main; min-height: 100vh; max-width: calc(100vw - 16rem); overflow-x: hidden; background-color: var(--color-background); isolation: isolate; } .footer { grid-area: footer; min-height: 3rem; } /* Ensure sidebar is always interactive */ .sidebar * { pointer-events: auto; } /* Responsive: Stack on mobile */ @media (max-width: 768px) { .appGrid { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; grid-template-areas: "sidebar" "main" "footer"; } .sidebar { position: relative; height: auto; } }