.shell-grid {
display: grid;
grid-template-columns:
minmax(0, var(--lsb-width, auto))
minmax(0, 1fr);
gap: var(--gap, 0);
height: 100dvh;
&:has(> header) {
grid-template-rows: auto 1fr;
}
&:has(> .right-sidebar) {
grid-template-columns:
minmax(0, var(--lsb-width, auto))
minmax(0, var(--content-width, 1fr))
minmax(0, var(--rsb-width, auto));
}
& > :is(header, footer, .full) {
grid-column: 1 / -1;
}
> .left-sidebar,
> .right-sidebar,
> .content {
overflow: auto;
grid-column-end: span var(--span, 1);
height: auto;
}
}