:root { color-scheme: light; --ink:#17202a; --muted:#667085; --line:#dde3ea; --bg:#f7f8fa; --panel:#ffffff; --accent:#0f766e; --accent-2:#7c3aed; --warn:#b45309; --soft:#eef4f3; }
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif; color:var(--ink); background:var(--bg); line-height:1.62; }
header { position:sticky; top:0; z-index:3; display:flex; gap:24px; align-items:center; justify-content:space-between; padding:13px 28px; background:rgba(255,255,255,.95); border-bottom:1px solid var(--line); backdrop-filter: blur(10px); }
.brand { font-weight:750; color:var(--ink); text-decoration:none; }
nav { display:flex; gap:14px; flex-wrap:wrap; }
nav a { color:var(--muted); text-decoration:none; font-size:14px; }
nav a:hover, main a { color:var(--accent); }
.shell { display:grid; grid-template-columns:minmax(250px, 310px) minmax(0, 1fr); gap:30px; max-width:1440px; margin:0 auto; padding:28px; }
.shell-home { grid-template-columns:1fr; max-width:1320px; gap:18px; }
aside { position:sticky; top:68px; align-self:start; max-height:calc(100vh - 92px); overflow:auto; padding:18px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.home-aside { position:relative; top:auto; max-height:none; display:grid; grid-template-columns:minmax(180px, 220px) minmax(280px, 1fr); gap:12px; align-items:center; }
.home-aside #search-results { margin:0; }
main { min-width:0; max-width:920px; padding:4px 0 72px; }
.shell-home main { max-width:none; }
.page-meta { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.page-meta span { font-size:12px; color:#344054; background:#eef1f5; border:1px solid #d9e0e8; padding:3px 8px; border-radius:999px; }
h1 { font-size:40px; line-height:1.12; margin:0 0 18px; letter-spacing:0; }
h2 { margin-top:38px; padding-top:14px; border-top:1px solid var(--line); font-size:25px; }
h3 { margin-top:26px; font-size:19px; }
p, li { font-size:16px; max-width:78ch; }
.table-wrap { max-width:100%; overflow:auto; margin:18px 0 28px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
table { width:100%; border-collapse:collapse; min-width:760px; }
th, td { padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; font-size:14px; }
td + td, th + th { border-left:1px solid #edf0f4; }
th { position:sticky; top:0; background:#eef4f3; text-align:left; z-index:1; }
tr:nth-child(even) td { background:#fbfcfd; }
code { background:#eef1f5; border:1px solid #dce2ea; padding:1px 5px; border-radius:4px; }
pre { overflow:auto; padding:14px; background:#18202a; color:#eef5ff; border-radius:6px; }
.missing { color:#9b3a3a; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin:22px 0; }
.card { display:block; min-height:118px; padding:16px; background:var(--panel); border:1px solid var(--line); border-radius:8px; text-decoration:none; color:var(--ink); }
.card:hover { border-color:#9ccbc5; box-shadow:0 8px 24px rgba(20,45,65,.08); }
.card strong { display:block; margin-bottom:6px; line-height:1.25; }
.card span { color:var(--muted); font-size:14px; }
.kicker { color:var(--accent); font-weight:700; text-transform:uppercase; font-size:12px; letter-spacing:.08em; }
.hero { padding:26px; background:linear-gradient(135deg,#ffffff,#f2f7f6 52%,#f6f2ff); border:1px solid var(--line); border-radius:8px; margin-bottom:24px; }
.dashboard-hero { display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(280px, .8fr); gap:22px; align-items:stretch; padding:28px; }
.hero p { color:#435060; font-size:17px; margin-bottom:0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 13px; border-radius:6px; border:1px solid #cdd8e2; color:#17202a; background:#fff; text-decoration:none; font-weight:650; font-size:14px; }
.button.primary { background:#0f766e; border-color:#0f766e; color:#fff; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:12px; margin:18px 0 4px; }
.metric { padding:15px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.metric strong { display:block; font-size:30px; line-height:1; margin-bottom:6px; color:#102a36; }
.metric span { color:var(--muted); font-size:13px; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:18px; margin-top:18px; }
.dashboard-panel { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:18px; min-width:0; }
.dashboard-panel h2, .dashboard-panel h3 { border:0; padding:0; margin:0 0 12px; }
.compact-list { display:grid; gap:10px; }
.list-item { display:block; padding:12px; border:1px solid #e1e7ee; border-radius:7px; text-decoration:none; color:var(--ink); background:#fbfcfd; }
.list-item:hover { border-color:#9ccbc5; }
.list-item strong { display:block; line-height:1.3; margin-bottom:4px; }
.list-item span { color:var(--muted); font-size:13px; }
.topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.topic { display:block; padding:12px; border:1px solid #dde5ed; border-radius:7px; background:#fbfcfd; color:var(--ink); text-decoration:none; }
.topic:hover { border-color:#9ccbc5; }
.topic strong { display:block; margin-bottom:4px; }
.topic span { color:var(--muted); font-size:13px; }
.mini-graph { min-height:270px; border:1px solid #dfe7ef; border-radius:8px; background:linear-gradient(135deg,#f8fafc,#eef7f4); padding:12px; }
.mini-graph svg { display:block; width:100%; height:auto; }
.graph-link { stroke:#a8b7c5; stroke-width:2; }
.graph-node circle { fill:#fff; stroke:#0f766e; stroke-width:2; }
.graph-node:nth-of-type(2n) circle { stroke:#7c3aed; }
.graph-node:nth-of-type(3n) circle { stroke:#b45309; }
.graph-node text { fill:#263341; font-size:12px; font-weight:700; text-anchor:middle; dominant-baseline:middle; }
.graph-caption { color:var(--muted); font-size:13px; margin-top:8px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-top:32px; }
.section-heading h2 { border:0; padding:0; margin:0; }
details { margin:18px 0; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
summary { cursor:pointer; padding:14px 16px; font-weight:700; }
details .cards { padding:0 16px 16px; margin-top:0; }
.search-label { display:block; margin-bottom:8px; color:#344054; font-weight:700; font-size:13px; }
#site-search { width:100%; height:38px; border:1px solid #cfd6df; border-radius:6px; padding:0 10px; font-size:14px; }
#search-results { margin:10px 0 18px; display:grid; gap:6px; }
#search-results a { display:block; padding:8px 10px; background:#f8fafc; border:1px solid #e3e8ef; border-radius:6px; text-decoration:none; color:var(--ink); font-size:13px; }
.side-nav section { border-top:1px solid var(--line); padding-top:12px; margin-top:14px; }
.side-nav h3 { margin:0 0 8px; font-size:13px; color:#475467; text-transform:uppercase; letter-spacing:.06em; }
.side-nav a { display:block; color:#344054; text-decoration:none; font-size:13px; padding:4px 0; line-height:1.35; }
.side-more { display:block; color:var(--muted); font-size:12px; margin-top:6px; }
@media (max-width:1080px) { .dashboard-hero, .dashboard-grid { grid-template-columns:1fr; } .metric-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:980px) { .shell { grid-template-columns:1fr; padding:18px; } aside { position:relative; top:auto; max-height:none; } main { max-width:none; } .home-aside { grid-template-columns:1fr; } }
@media (max-width:720px) { header { align-items:flex-start; flex-direction:column; padding:12px 18px; } h1 { font-size:30px; } .hero { padding:18px; } .metric-grid, .topic-grid { grid-template-columns:1fr; } }