:root { --ink:#15202b; --mut:#5b6b7b; --line:#d8dee6; --bg:#f7f9fb; --acc:#0b5fff; }
* { box-sizing:border-box; }
body { margin:0; font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;
       color:var(--ink); background:var(--bg); }
header { display:flex; gap:1.2rem; align-items:baseline; padding:.7rem 1.2rem;
         background:#fff; border-bottom:1px solid var(--line); }
.brand { font-weight:700; font-size:1.1rem; color:var(--ink); text-decoration:none; }
nav a { margin-right:.9rem; color:var(--acc); text-decoration:none; }
nav a:hover { text-decoration:underline; }
.tag { margin-left:auto; color:var(--mut); font-size:.8rem; }
main { max-width:1180px; margin:1.2rem auto; padding:0 1.2rem; }
footer { max-width:1180px; margin:2rem auto 1rem; padding:0 1.2rem;
         color:var(--mut); font-size:.8rem; }
h1 { font-size:1.35rem; margin:.2rem 0 .8rem; }
h2 { font-size:1.05rem; margin:1.4rem 0 .5rem; }
table { width:100%; border-collapse:collapse; background:#fff;
        border:1px solid var(--line); }
th, td { padding:.4rem .6rem; text-align:left; border-bottom:1px solid var(--line);
         vertical-align:top; }
th { background:#eef2f6; font-weight:600; white-space:nowrap; }
tr:hover td { background:#f2f7ff; }
td.num, th.num { text-align:right; white-space:nowrap; }
a { color:var(--acc); }
.mut { color:var(--mut); }
.pill { display:inline-block; padding:0 .45rem; border:1px solid var(--line);
        border-radius:99px; background:#fff; font-size:.8rem; margin:0 .15rem .15rem 0; }
form.inline { display:flex; gap:.5rem; flex-wrap:wrap; align-items:end;
              background:#fff; border:1px solid var(--line); padding:.7rem;
              margin-bottom:1rem; }
label { display:flex; flex-direction:column; font-size:.78rem; color:var(--mut); }
input, select { padding:.35rem .5rem; border:1px solid var(--line);
                border-radius:4px; font:inherit; min-width:9rem; }
button { padding:.4rem .9rem; border:0; border-radius:4px; background:var(--acc);
         color:#fff; font:inherit; cursor:pointer; }
button.ghost { background:#fff; color:#b0233a; border:1px solid var(--line); }
.hero { background:#fff; border:1px solid var(--line); padding:2.2rem;
        text-align:center; margin:3rem auto; max-width:34rem; }
.hero input { font-size:1.15rem; min-width:16rem; text-align:center; }
.hero button { font-size:1.05rem; }
.error { color:#b0233a; margin:.6rem 0; }
.kpis { display:flex; gap:1rem; flex-wrap:wrap; margin:.6rem 0 1rem; }
.kpi { background:#fff; border:1px solid var(--line); padding:.6rem 1rem; }
.kpi b { display:block; font-size:1.3rem; }
