:root { --bg:#f6f7f9; --card:#fff; --ink:#1d2430; --muted:#6b7280; --line:#e5e7eb; --brand:#1f3a5f; --accent:#c8a45d; }
  * { box-sizing:border-box; }
  body { margin:0; font:14px/1.45 system-ui, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); }
  header { background:var(--brand); color:#fff; padding:12px 20px; display:flex; align-items:center; gap:16px; }
  header h1 { font-size:16px; margin:0; font-weight:600; letter-spacing:.3px; }
  header small { opacity:.75; }
  main { padding:16px 20px; max-width:1500px; margin:0 auto; }
  .filters { display:flex; flex-wrap:wrap; gap:10px; align-items:end; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px 14px; }
  .filters label { display:flex; flex-direction:column; font-size:12px; color:var(--muted); gap:4px; }
  .filters select, .filters input { min-width:160px; padding:6px 8px; border:1px solid var(--line); border-radius:6px; font:inherit; }
  .filters select[multiple] { height:92px; }
  .filters button { padding:8px 14px; border:0; border-radius:6px; background:var(--brand); color:#fff; font:inherit; cursor:pointer; }
  .filters button.sec { background:#fff; color:var(--brand); border:1px solid var(--brand); }
  .kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px,1fr)); gap:10px; margin:14px 0; }
  .kpi { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px 14px; }
  .kpi .v { font-size:22px; font-weight:600; overflow-wrap:anywhere; line-height:1.2; }
  .kpi .l { color:var(--muted); font-size:12px; }
  .card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px 14px; margin-bottom:14px; overflow:auto; }
  .card h2 { font-size:14px; margin:0 0 8px; color:var(--brand); }
  table { border-collapse:collapse; width:100%; font-size:13px; }
  th, td { border-bottom:1px solid var(--line); padding:5px 8px; text-align:left; white-space:nowrap; }
  th { background:#fafafa; position:sticky; top:0; }
  td.n, th.n { text-align:right; font-variant-numeric:tabular-nums; }
  tr.grp td { background:#f0f3f8; font-weight:600; }
  td.tot, th.tot { font-weight:600; background:#fbf7ee; }
  a { color:var(--brand); }
  .muted { color:var(--muted); }
  .badge { display:inline-block; padding:1px 7px; border-radius:10px; background:#eef2f7; font-size:12px; }
  footer { color:var(--muted); font-size:12px; padding:10px 20px; }
  nav.top { display:flex; gap:4px; margin-left:auto; flex-wrap:wrap; }
  nav.top a { color:#fff; text-decoration:none; padding:6px 10px; border-radius:6px; opacity:.85; font-size:13px; }
  nav.top a:hover, nav.top a.on { background:rgba(255,255,255,.15); opacity:1; }
  .tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); margin:14px 0 10px; flex-wrap:wrap; }
  .tabs button { background:none; border:0; border-bottom:2px solid transparent; padding:8px 12px; font:inherit; cursor:pointer; color:var(--muted); }
  .tabs button.on { color:var(--brand); border-bottom-color:var(--brand); font-weight:600; }
  .grid2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); gap:14px; }
  dl.kv { display:grid; grid-template-columns:max-content 1fr; gap:4px 12px; margin:0; font-size:13px; }
  dl.kv dt { color:var(--muted); } dl.kv dd { margin:0; }
  .pill { display:inline-block; padding:2px 8px; border-radius:10px; font-size:12px; background:#eef2f7; color:var(--brand); }
  .pill.ok { background:#e6f4ea; color:#1e7e34; } .pill.warn { background:#fff4e0; color:#a15c00; } .pill.bad { background:#fdecea; color:#b3261e; }
  .neg { color:#b3261e; }
  h1 a { color:#fff; text-decoration:none; }
  .crumb { color:var(--muted); font-size:12px; margin-bottom:6px; }
  .toolbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:8px; font-size:12px; color:var(--muted); }
  @media (max-width:700px){ header{flex-wrap:wrap} .filters select, .filters input{min-width:130px} }
