/* Shared HeritageCheck palette for server-rendered pages. */
:root {
    --bg: #0b0f1a; --bg-card: #111827; --bg-elevated: #1a2234;
    --text: #f0f2f5; --text-muted: #94a3b8; --text-accent: #38bd94;
    --accent: #38bd94; --accent-hover: #2da87f; --on-accent: #0b0f1a;
    --accent-subtle: rgba(56,189,148,.12); --border: rgba(148,163,184,.2);
}
:root[data-theme="light"] {
    color-scheme: light;
    --bg: #f6f5ef; --bg-card: #fffefa; --bg-elevated: #fffefa;
    --text: #14272d; --text-muted: #596c70; --text-accent: #0b514a;
    --accent: #0b514a; --accent-hover: #073f3a; --on-accent: #fffefa;
    --accent-subtle: rgba(22,163,115,.1); --border: rgba(20,39,45,.16);
}
:root[data-theme="dark"] { color-scheme: dark; }
.seo-header__logo { width: 40px; height: 40px; padding: 4px; background: #fff; border-radius: 8px; object-fit: contain; flex-shrink: 0; }
.seo-header__brand { min-width: 0; }
.seo-header__cta { background: var(--accent); color: var(--on-accent); }
.seo-header__cta:hover { background: var(--accent-hover); color: var(--on-accent); }
.seo-theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; margin-left: auto; border: 1px solid var(--border); border-radius: 10px; background: transparent; color: var(--text); cursor: pointer; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.seo-theme-toggle svg { width: 20px; height: 20px; }
[data-theme="light"] .seo-theme-sun, [data-theme="dark"] .seo-theme-moon { display: none; }
.seo-footer a { display: inline-block; padding-block: 5px; }
@media (max-width: 600px) {
    .seo-header { padding: 0; }
    .seo-header__inner { padding: 14px 16px; gap: 12px; }
    .seo-header:not(:has(.seo-header__inner)) { padding: 14px 16px; gap: 12px; }
    .seo-header__title { font-size: 1.05rem; }
    .seo-header__sub, .seo-header__nav { display: none; }
}
.seo-tab--active, .seo-tab--active:hover, .seo-page-current { color: var(--on-accent); }
.seo-buildings-list li a:hover { color: var(--accent); background: var(--accent-subtle); }
[data-theme="light"] .seo-grade-badge.grade-i { color: #b91c1c; }
[data-theme="light"] .seo-grade-badge.grade-iistar { color: #854d0e; }
[data-theme="light"] .seo-grade-badge.grade-ii { color: #1d4ed8; }
/* The sample-report index and PDF viewer wrappers share these aliases. */
:root { --surface: var(--bg-card); --muted: var(--text-muted); --accent-text: var(--accent); --button-text: var(--on-accent); --line: var(--border); --wash: var(--bg-elevated); }
:root[data-theme="light"] { --surface: #fffefa; --input: #fffefa; --muted: #596c70; --accent-text: #0b514a; --button-text: #fffefa; --line: rgba(20,39,45,.16); --wash: #f6f5ef; }
