/* Theme "linen": calm, flat, typographic. Only tokens of this theme are used. */
h1, h2, .page-title, .brand__name { font-family: var(--font-heading); font-weight: 600; }
.page-title { font-size: var(--font-size-3xl); }
.card h2 { font-size: var(--font-size-2xl); }

.site-header { background: var(--color-page-bg); border-bottom: 1px solid var(--color-border); }
.brand { color: var(--color-text); }
.brand__name { font-size: 22px; }

.sidebar__nav a { border-radius: var(--radius-sm); font-weight: 500; }
.sidebar__nav a.active { background: transparent; color: var(--color-primary); border-left: 3px solid var(--color-primary); padding-left: 7px; }
.sidebar__group { color: var(--color-text-muted); }
.help-card { background: var(--color-surface-alt); }

.card { border-color: var(--color-border); box-shadow: var(--shadow-card); }
.stat { background: var(--color-surface-alt); border-color: transparent; }

.btn { font-weight: 600; letter-spacing: .2px; }
.btn-primary:hover { background: var(--color-primary-dark); }
.btn-ghost { background: transparent; }

.tabs a { font-weight: 500; }
.tabs a.active { font-weight: 600; }
.table th { color: var(--color-text-muted); }

.badge { font-weight: 600; border-radius: var(--radius-sm); }
.badge::before { display: none; }

.site-footer { background: var(--color-surface-alt); }
.site-footer .brand__name { font-size: 18px; }
