Разберёмся
CSS Grid — двумерная система раскладки: строки и колонки одновременно (в отличие от одномерного Flex).
.layout {
display: grid;
grid-template-columns: 240px 1fr;
grid-template-rows: auto 1fr auto;
gap: 1rem;
min-height: 100vh;
}
.main { grid-column: 2; grid-row: 2; }
Ключевые идеи: grid-template-*, gap, линии/области (grid-area), minmax, auto-fit/auto-fill, выравнивание justify/align-items.
Итог
Grid — для страниц и двумерных сеток; Flex — для рядов/колонок компонентов. Часто комбинируют.