.site-shell { display: grid; grid-template-rows: auto 1fr auto; min-height: 100vh; }
.site-header, .main-content, .site-footer { width: min(1200px, calc(100% - 2rem)); margin: 0 auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; min-height: 76px; }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--color-navy); font-size: 1.2rem; font-weight: 600; }
.brand span { display: grid; }
.brand small { color: var(--color-muted); font-size: .7rem; font-weight: 500; }
.brand strong { color: var(--color-blue); }
.header-actions { display: flex; align-items: center; gap: var(--space-2); }
.main-content { display: flex; padding: var(--space-6) 0; }
.site-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); padding: var(--space-4) 0; border-top: 1px solid var(--color-border); color: var(--color-muted); font-size: .875rem; }
.site-footer div { display: grid; gap: .15rem; }
.site-footer nav { display: flex; gap: var(--space-3); }
@media (max-width: 640px) { .site-header { min-height: 64px; } .user-placeholder { display: none; } .site-footer { justify-content: center; text-align: center; } }
