Spaces:
Runtime error
Runtime error
| /* ============================================= | |
| PageHeader Component - Shared Styles | |
| Consistent header styling for all pages | |
| ============================================= */ | |
| /* Grid so the three regions can re-order responsively: on desktop the title and actions share | |
| the top row with the subtitle beneath; on mobile the subtitle follows the title directly and | |
| the actions drop to the bottom (description should follow the title, not the call-to-action). */ | |
| .page-header { | |
| display: grid; | |
| grid-template-columns: 1fr auto; | |
| grid-template-areas: | |
| 'title actions' | |
| 'subtitle subtitle'; | |
| align-items: center; | |
| column-gap: 1rem; | |
| margin-bottom: 1.5rem; | |
| width: 100%; | |
| } | |
| .page-header__title-group { | |
| grid-area: title; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| min-width: 0; | |
| } | |
| .page-header__title-group h1 { | |
| margin: 0; | |
| /* h1 styles inherited from global */ | |
| } | |
| .page-header__badge { | |
| display: inline-flex; | |
| } | |
| .page-header__actions { | |
| grid-area: actions; | |
| justify-self: end; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| } | |
| .page-header__subtitle { | |
| grid-area: subtitle; | |
| margin: 0; | |
| margin-top: 0.5rem; /* Consistent 8px gap from title row */ | |
| font-size: 0.9375rem; | |
| color: var(--text-muted); | |
| line-height: 1.5; | |
| } | |
| /* Mobile Responsive: stack as title -> subtitle -> actions */ | |
| @media (max-width: 768px) { | |
| .page-header { | |
| grid-template-columns: 1fr; | |
| grid-template-areas: | |
| 'title' | |
| 'subtitle' | |
| 'actions'; | |
| column-gap: 0; | |
| } | |
| .page-header__title-group h1 { | |
| font-size: 1.5rem; | |
| } | |
| .page-header__actions { | |
| justify-self: stretch; | |
| margin-top: 0.25rem; | |
| } | |
| .page-header__subtitle { | |
| font-size: 0.875rem; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .page-header__actions > button, | |
| .page-header__actions > .btn-primary, | |
| .page-header__actions > .btn-secondary { | |
| width: 100%; | |
| justify-content: center; | |
| } | |
| } | |