:root{--red:#b3121f;--red-dark:#8c0d17;--ink:#1b1b1b;--muted:#666;--line:#e4e4e4;--bg:#ffffff;--soft:#f7f7f7;--good:#1b1b1b;--bad:#b3121f;color-scheme:light}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0 0 4px}h2{font-size:17px;margin:28px 0 10px}p.lead{color:var(--muted);margin:0 0 16px}.wrap{max-width:1180px;margin:0 auto;padding:0 16px 60px}header.top{border-bottom:3px solid var(--red);background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:5}header.top .bar{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}header.top .brand{font-weight:700;color:var(--red);white-space:nowrap}header.top nav{display:flex;gap:4px;flex-wrap:wrap;flex:1 1}header.top nav a{color:var(--ink);padding:6px 10px;border-radius:4px}header.top nav a.on{color:#fff;background:var(--red);text-decoration:none}header.top .who{color:var(--muted);font-size:13px}form.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin:18px 0 8px}form.filters label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:2px}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid #cfcfcf;border-radius:4px;padding:6px 8px;background:#fff;color:var(--ink);max-width:100%}.btn,button{background:var(--red);color:#fff;border:0;border-radius:4px;padding:7px 14px;cursor:pointer;display:inline-block}.btn:hover,button:hover{background:var(--red-dark);text-decoration:none}.btn.plain,button.plain{background:#fff;color:var(--red);border:1px solid var(--red)}.presets{display:flex;gap:6px;flex-wrap:wrap;font-size:13px;margin-bottom:8px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:12px;gap:12px;margin:16px 0}.kpi{border:1px solid var(--line);border-radius:6px;padding:12px 14px;background:#fff}.kpi .k{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.kpi .v{font-size:24px;font-weight:700;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .d{font-size:12px;color:var(--muted);margin-top:2px}.kpi.main{border-color:var(--red);border-width:2px}.up{color:var(--good)}.down,.up{font-weight:600}.down,.neg{color:var(--bad)}.card{border:1px solid var(--line);border-radius:6px;padding:14px 16px;background:#fff;margin-bottom:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:760px){.grid2{grid-template-columns:1fr}.kpi .v{font-size:20px}}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}td.n,th,th.n{white-space:nowrap}td.n,th.n{text-align:right}tr.total td{font-weight:700;border-top:2px solid var(--ink)}.note{background:var(--soft);border-left:3px solid var(--red);padding:10px 12px;margin:12px 0;border-radius:0 4px 4px 0}.small{font-size:13px;color:var(--muted)}.row{display:flex;gap:8px;flex-wrap:wrap}.bars .b,.row{align-items:center}.bars .b{display:grid;grid-template-columns:170px 1fr 90px;grid-gap:10px;gap:10px;margin:6px 0}.bars .track{background:var(--soft);height:22px;border-radius:3px;overflow:hidden}.bars .fill{background:var(--red);height:100%}@media (max-width:560px){.bars .b{grid-template-columns:1fr 70px}.bars .b .track{grid-column:1/-1;grid-row:2}}.idea{border-left:3px solid var(--red);padding:8px 12px;margin:10px 0}.idea b{display:block}.login{max-width:360px;margin:12vh auto;padding:0 16px}.login form{display:flex;flex-direction:column;gap:10px}.ok{color:var(--ink)}.missing,.ok{font-weight:600}.missing{color:var(--bad)}.grid2>*,.kpis>*{min-width:0}@media (max-width:760px){header.top .bar{gap:6px 12px;padding:8px 16px 0}header.top .brand{order:1}header.top .who{order:2;margin-left:auto}header.top nav{order:3;flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;scrollbar-width:none}header.top nav a{white-space:nowrap}.kpis{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:10px}.card{padding:12px}form.filters label{flex:1 1 40%}form.filters input,form.filters select{width:100%}}