:root{--bg:#f6f7f9;--card:#fff;--ink:#1e232b;--muted:#6b7280;--line:#e5e7eb;--up:#2f7d46;--down:#b42318;--warn:#b45309}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
header{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:#fff;border-bottom:1px solid var(--line)}header nav{display:flex;gap:.8rem;flex:1}
header a{color:var(--muted);text-decoration:none}header a.active{color:var(--ink);font-weight:600}button.link{background:none;border:0;color:var(--muted);cursor:pointer}
main{max-width:1100px;margin:0 auto;padding:1rem}h1{font-size:1.4rem;margin:.2rem 0 .8rem}h1 small{color:var(--muted);font-weight:400;font-size:.9rem}
.periods{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:1rem}.periods a{padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none}
.periods a.active{background:var(--ink);color:#fff;border-color:var(--ink)}.periods form{display:flex;gap:.3rem;margin-left:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin-bottom:.6rem}.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem}
.kpi span{display:block;color:var(--muted);font-size:.8rem}.kpi strong{display:block;font-size:1.25rem;margin:.15rem 0}.kpi small{color:var(--muted)}.up{color:var(--up)}.down{color:var(--down)}
.indicators{color:var(--muted);margin:.2rem 0 1rem}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}td,th{padding:.5rem .8rem;border-top:1px solid var(--line);text-align:left}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.total td{font-weight:600}tr.net td{font-size:1.1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.8rem;margin:1rem 0}.card.narrow{max-width:360px;margin:3rem auto}
.warnings{list-style:none;padding:0}.warnings li{background:#fff7ed;border:1px solid #fed7aa;color:var(--warn);border-radius:8px;padding:.5rem .8rem;margin:.3rem 0}.warn{color:var(--down)}
label{display:block;margin:.5rem 0}input,button{font:inherit;padding:.4rem .6rem;border:1px solid var(--line);border-radius:6px}button{background:var(--ink);color:#fff;border-color:var(--ink);cursor:pointer}
@media (max-width:600px){header{flex-wrap:wrap}.periods form{margin-left:0;width:100%}td,th{padding:.4rem .5rem}}
