*, *::before, *::after { box-sizing: border-box; } html, body, #root { min-height: 100%; } body { margin: 0; font-family: var(--font-family-base); font-size: var(--font-size-body); line-height: var(--line-height-base); background: var(--color-bg); color: var(--color-text); } a { color: inherit; text-decoration: none; } .app-shell { min-height: 100vh; display: grid; grid-template-rows: auto 1fr; } .app-shell__header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-6); background: var(--color-surface); border-bottom: 1px solid var(--color-border); } .app-shell__brand { font-size: var(--font-size-h2); font-weight: 700; } .app-shell__nav { display: flex; align-items: center; gap: var(--space-2); } .app-shell__link { padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); color: var(--color-text-muted); } .app-shell__link:hover, .app-shell__link:focus-visible { color: var(--color-text); background: #eef2f6; outline: none; } .app-shell__link--active { color: var(--color-surface); background: var(--color-accent); } .app-shell__main { width: min(1080px, 100%); margin: 0 auto; padding: var(--space-6); } .page { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-6); } .page__title { margin: 0 0 var(--space-2); font-size: var(--font-size-h1); } .page__subtitle { margin: 0; color: var(--color-text-muted); }