:root { --ink:#111111; --muted:#606060; --line:#e2e2e2; --background:#f5f5f5; --accent:#111111; --sidebar:#000000; --radius:14px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--background); color:var(--ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; }
button { font:inherit; cursor:pointer; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid #111111; outline-offset:5px; }
.sidebar :focus-visible { outline-color:white; }
.skip-link { position:fixed; top:10px; left:10px; z-index:20; padding:10px 16px; background:white; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.sidebar { position:fixed; inset:0 auto 0 0; width:244px; background:var(--sidebar); padding:34px 22px 24px; color:#ffffff; display:flex; flex-direction:column; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:18px; font-weight:750; letter-spacing:1.5px; line-height:1.4; }
.brand-mark { display:block; width:44px; height:44px; object-fit:contain; border-radius:8px; flex-shrink:0; }
.brand-subtitle { display:block; font-size:10px; letter-spacing:1.4px; font-weight:500; color:#bdbdbd; margin-top:4px; }
.workspace-label { margin:52px 12px 14px; color:#b0b0b0; font-size:12px; font-weight:600; letter-spacing:1.1px; }
nav { display:grid; gap:8px; }
.nav-link { display:flex; gap:13px; align-items:center; padding:12px 16px; color:#c8c8c8; border-radius:8px; text-decoration:none; font-weight:550; }
.nav-link svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.nav-link:hover { background:#222222; color:white; }
.nav-link[aria-current="page"] { background:#ffffff; color:#000000; }
.sidebar-footer { margin-top:auto; border-top:1px solid #333333; padding:24px 8px 0; display:flex; align-items:center; gap:12px; font-size:14px; }
.sidebar-footer span:not(.store-mark) { display:block; font-size:12px; color:#bdbdbd; margin-top:1px; }
.store-mark { display:block; object-fit:contain; border:1px solid #444444; width:36px; height:36px; border-radius:9px; flex-shrink:0; }
.workspace { margin-left:244px; }
.topbar { min-height:72px; padding:16px 44px; background:white; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:14px; color:var(--muted); }
.topbar strong { font-weight:500; color:var(--ink); }
.topbar-separator { margin:0 12px; color:#aaaaaa; }
.edition { font-size:12px; font-weight:650; letter-spacing:1.4px; }
main { max-width:1420px; padding:40px 44px 28px; margin:auto; }
.page-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }
.eyebrow { margin:0 0 7px; color:var(--accent); font-size:12px; font-weight:750; letter-spacing:1.6px; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:8px; font-size:32px; font-weight:650; letter-spacing:-1px; line-height:1.2; }
h2 { margin-bottom:0; font-size:19px; letter-spacing:-.35px; font-weight:650; line-height:1.4; }
h3 { font-size:16px; font-weight:650; line-height:1.5; margin-bottom:7px; }
p { margin-bottom:0; }
.report-meta { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:14px; }
.sample-badge { display:inline-flex; flex-shrink:0; padding:6px 12px; border:1px solid #d5d5d5; border-radius:6px; background:white; color:var(--muted); font-size:13px; }
.sample-note { border-left:3px solid #999999; padding:8px 14px; margin-bottom:24px; color:var(--muted); font-size:14px; background:#ededed; }
.overview-grid { display:grid; grid-template-columns:1.65fr 1fr; gap:22px; margin-bottom:24px; }
.card { background:white; border:1px solid var(--line); border-radius:var(--radius); padding:26px 28px; margin-bottom:24px; box-shadow:0 2px 3px #00000003; min-width:0; }
.overview-grid .card { margin-bottom:0; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.pill,.entry-tag { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border:1px solid #bce7cc; border-radius:6px; font-size:12px; font-weight:650; line-height:1.5; background:#eefbf3; color:#166534; flex-shrink:0; white-space:nowrap; }
.pill.caution,.entry-tag.caution { background:#fff5df; color:#92400e; border-color:#f3d598; }
.pill.neutral,.entry-tag.neutral { background:#eff6ff; color:#1e40af; border-color:#c7dcfb; }
.pill.muted,.entry-tag.muted { background:#f5f5f5; color:#606060; border-color:#dddddd; }
.pill svg,.entry-tag svg { width:15px; height:15px; flex-shrink:0; }
.overall-card .section-heading { flex-wrap:wrap; }
.overall-headline { font-size:25px; font-weight:600; letter-spacing:-.6px; line-height:1.35; max-width:580px; margin-bottom:12px; }
.overall-card > p { color:var(--muted); }
.signals { display:flex; flex-wrap:wrap; gap:12px 26px; padding-top:20px; margin-top:22px; border-top:1px solid var(--line); }
.signal { flex:1 1 110px; }
.signal-label { display:block; font-size:12px; color:var(--muted); margin-bottom:3px; }
.signal-value { font-size:15px; font-weight:650; }
.priority-card { padding:28px; background:var(--sidebar); color:white; border-radius:var(--radius); display:flex; flex-direction:column; }
.priority-card .eyebrow { color:#ffffff; }
.priority-card h2 { font-size:25px; letter-spacing:-.6px; line-height:1.35; margin:9px 0 13px; }
.priority-card > p:not(.eyebrow) { font-size:15px; color:#cccccc; }
.priority-success { border-top:1px solid #444444; margin-top:24px; padding-top:17px; }
.priority-success > span { color:#ffffff; font-size:11px; letter-spacing:1.2px; font-weight:650; }
.priority-success p { color:#e5e5e5; font-size:14px; margin-top:6px; }
.section-caption { font-size:13px; color:var(--muted); white-space:nowrap; }
.actions-list { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.action { padding-left:18px; border-left:1px solid var(--line); min-width:0; }
.action:first-child { padding-left:0; border-left:0; }
.action-number { color:var(--accent); font-size:12px; font-weight:700; letter-spacing:1px; display:block; margin-bottom:10px; }
.action p,.entry p,.recommendation p { color:var(--muted); font-size:15px; }
.action-meta { display:block; font-size:12px; color:var(--accent); font-weight:600; margin-top:14px; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.section-symbol { display:grid; place-items:center; width:26px; height:26px; border:1px solid #d5d5d5; border-radius:6px; color:var(--accent); font-size:16px; }
.section-symbol.warning { color:#111111; border-color:#999999; }
.entry { padding:17px 0; border-top:1px solid var(--line); }
.entry:first-child { padding-top:0; border-top:0; }
.entry:last-child { padding-bottom:0; }
.entry-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 12px; margin-bottom:6px; }
.entry-top h3 { margin:0; }
.entry-tag { padding:3px 8px; font-size:11px; letter-spacing:.4px; text-transform:uppercase; }
.recommendation { display:grid; grid-template-columns:1fr auto 1.35fr; align-items:start; gap:24px; padding:20px 0; border-top:1px solid var(--line); }
.recommendation:first-child { padding-top:0; border-top:0; }
.recommendation:last-child { padding-bottom:0; }
.recommendation-label { display:block; font-size:11px; font-weight:650; letter-spacing:1px; color:var(--muted); margin-bottom:7px; text-transform:uppercase; }
.recommendation .pill { margin-top:25px; }
.report-footer { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; gap:12px; padding:0 2px 12px; }
.back-link { display:inline-block; color:var(--accent); font-size:14px; margin-bottom:20px; text-underline-offset:4px; }
.page-subtitle { color:var(--muted); margin-top:12px; }
.archive-heading { display:flex; align-items:center; justify-content:space-between; margin:34px 0 18px; }
.archive-heading span { font-size:14px; color:var(--muted); }
.history-list { display:grid; gap:14px; }
.history-item { display:flex; gap:26px; align-items:center; padding:25px 28px; background:white; border:1px solid var(--line); border-radius:var(--radius); text-decoration:none; transition:border-color .15s,box-shadow .15s; }
.history-item:hover { border-color:#888888; box-shadow:0 4px 12px #00000008; }
.history-date { min-width:68px; padding-right:24px; border-right:1px solid var(--line); text-align:center; }
.history-date span { display:block; color:var(--muted); font-size:12px; font-weight:650; text-transform:uppercase; }
.history-date strong { display:block; font-size:30px; font-weight:600; line-height:1.3; }
.history-content { flex:1; min-width:0; }
.history-content h3 { font-size:18px; }
.history-content p { color:var(--muted); font-size:15px; }
.history-meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:10px; font-size:12px; color:var(--muted); }
.open-report { flex-shrink:0; font-size:14px; color:var(--accent); font-weight:600; }
.status-panel,.error-panel { padding:32px; background:white; border:1px solid var(--line); border-radius:var(--radius); }
.error-panel p { margin:16px 0 24px; color:var(--muted); }
.error-panel button { border:0; padding:10px 20px; border-radius:6px; color:white; background:var(--accent); margin-right:20px; }
.error-panel a { display:inline-block; margin-top:12px; color:var(--accent); }
.empty-state { padding:32px; background:white; border:1px solid var(--line); border-radius:var(--radius); color:var(--muted); }
@media (min-width:1600px) { main { padding-top:48px; } }
@media (max-width:1200px) { .sidebar { width:210px; padding-inline:18px; } .workspace { margin-left:210px; } main { padding:32px 28px; } .topbar { padding-inline:28px; } .overview-grid { grid-template-columns:1.35fr 1fr; } .card,.priority-card { padding:24px; } .two-column { gap:20px; } .recommendation { gap:18px; } }
@media (max-width:960px) { .sidebar { width:180px; padding-inline:14px; } .workspace { margin-left:180px; } .brand { font-size:16px; gap:8px; } .brand-subtitle { font-size:9px; letter-spacing:1px; } .overview-grid { grid-template-columns:1fr; } .priority-card { display:block; } .priority-card h2 { margin-top:4px; } .two-column { grid-template-columns:1fr; gap:0; } .actions-list { grid-template-columns:1fr; gap:20px; } .action,.action:first-child { border:0; border-top:1px solid var(--line); padding:18px 0 0; } .action:first-child { border:0; padding-top:0; } .action-number { margin-bottom:6px; } .recommendation { grid-template-columns:1fr auto; } .recommendation-review { grid-column:1 / -1; } }
@media (max-width:680px) { .sidebar { position:static; width:100%; padding:18px 20px 0; gap:18px; } .brand { font-size:17px; } .brand-mark { width:38px; height:38px; } .brand-subtitle { font-size:10px; } .workspace-label,.sidebar-footer { display:none; } nav { grid-template-columns:1fr 1fr; gap:12px; padding-bottom:14px; } .nav-link { justify-content:center; padding:10px; font-size:14px; } .workspace { margin-left:0; } .topbar { min-height:50px; padding:12px 20px; font-size:12px; } .topbar-separator { margin-inline:7px; } .edition { display:none; } main { padding:26px 18px 18px; } h1 { font-size:27px; } .page-heading { flex-wrap:wrap; align-items:start; gap:12px; margin-bottom:18px; } .report-meta { font-size:13px; gap:6px; } .sample-badge { font-size:12px; padding:4px 10px; } .sample-note { font-size:13px; margin-bottom:18px; } .overview-grid { gap:18px; margin-bottom:18px; } .card { margin-bottom:18px; } .card,.priority-card { padding:22px; border-radius:12px; } .section-heading { align-items:start; gap:10px; margin-bottom:18px; } h2 { font-size:18px; } .overall-headline,.priority-card h2 { font-size:23px; } .signals { gap:14px; } .signal { flex-basis:100px; } .recommendation { gap:12px; } .recommendation .pill { margin-top:22px; } .entry-top { flex-wrap:wrap; gap:4px 10px; } .report-footer { flex-direction:column; gap:2px; } .history-item { gap:18px; padding:20px; flex-wrap:wrap; } .history-date { min-width:54px; padding-right:16px; } .history-content { flex-basis:calc(100% - 74px); } .open-report { margin-left:72px; } .archive-heading { margin-top:26px; } .error-panel { padding:24px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
