:root{color-scheme:light;--bg: #f4f6f8;--surface: #ffffff;--ink: #1b2430;--muted: #5b6775;--line: #d7dee6;--accent: #0d6e6e;--accent-soft: #e4f4f4;--warn: #9a4d0a;--danger: #9b2c2c;--ok: #1f7a4d;font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:var(--accent)}button{font:inherit}.app{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:24px}.header h1{margin:0 0 6px;font-size:1.7rem}.header p,.muted{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px}.card{padding:16px}.card span{display:block;color:var(--muted);font-size:.85rem;margin-bottom:8px}.card strong{font-size:1.7rem}.panel{padding:18px;margin-bottom:20px}.panel h2{margin:0 0 14px;font-size:1.1rem}.chart{width:100%;height:220px}.chart-empty{min-height:160px;display:grid;place-items:center;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}th button{background:none;border:0;padding:0;color:inherit;cursor:pointer}tbody tr{cursor:pointer}tbody tr:hover{background:var(--accent-soft)}.score{font-variant-numeric:tabular-nums;font-weight:650}.score.ok{color:var(--ok)}.score.warn{color:var(--warn)}.score.bad{color:var(--danger)}.delta.up{color:var(--ok)}.delta.down{color:var(--danger)}.back{background:none;border:0;color:var(--accent);padding:0;cursor:pointer;margin-bottom:12px}.pages{display:grid;gap:18px}.page-block h3{margin:0 0 8px}.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.strip figure{margin:0}.strip img{display:block;width:100%;height:auto;border:1px solid var(--line);background:#eef1f4}.strip figcaption{margin-top:6px;color:var(--muted);font-size:.8rem}.error{color:var(--danger)}@media(max-width:800px){.strip{grid-template-columns:1fr}}
