/* 08-pages/_app-shell.css — how a module page arranges the shared modules. Composition only. */
.app-shell { min-height: 100svh; display: flex; flex-direction: column; }
.app-shell__main { flex: 1; padding-block: var(--space-lg) var(--space-3xl); }
.app-shell__main > .o-container > * + * { margin-top: var(--gap-section); }
.app-shell__main > .o-container > .c-page-head + * { margin-top: var(--gap-page-head); }
.app-shell__main > .o-container > .c-subnav + .c-page-head { margin-top: var(--gap-section); }
.app-shell__section-title { font-size: var(--text-md); font-weight: var(--weight-semibold); color: var(--ink-muted); padding-top: var(--space-lg); border-top: var(--stroke) solid var(--rule); }
.app-shell__section-title:first-child { padding-top: 0; border-top: 0; }
/* A section title with an action at the end (an invoices register with its "Ny faktura" button):
   the head takes the rule and the padding, the title inside it takes neither. */
.app-shell__section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-xs) var(--space-md); padding-top: var(--space-lg); border-top: var(--stroke) solid var(--rule); }
.app-shell__section-head:first-child { padding-top: 0; border-top: 0; }
.app-shell__section-head > .app-shell__section-title { padding-top: 0; border-top: 0; }
.app-shell__section-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
