  /* ---------- rapportage ---------- */
  .report-tabs{margin-bottom:16px;width:fit-content}
  .report-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
  .report-toolbar .lbl{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
  .marge-toolbar{gap:16px}
  .date-range{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .date-range label{display:flex;align-items:center;gap:6px;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}
  .date-range .month-sel{padding:6px 9px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:12.5px;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:500;cursor:pointer}
  .date-range .month-sel:focus{border-color:var(--brand-strong);box-shadow:0 0 0 3px var(--brand-ring);outline:none}
  .kpi.m-in{border-top-color:var(--accent)} .kpi.m-in .kpi-dot{background:var(--accent)}
  .kpi.m-out{border-top-color:var(--road)} .kpi.m-out .kpi-dot{background:var(--road)}
  .kpi.m-marge{border-top-color:var(--green)} .kpi.m-marge .kpi-dot{background:var(--green)}
  .kpi .kpi-amt{font-family:'IBM Plex Mono',monospace;font-size:25px;font-weight:600;color:var(--ink);line-height:1;font-feature-settings:"tnum"}
  .kpi .kpi-amt.neg{color:var(--red)} .kpi .kpi-amt.pos{color:var(--green)}
  tfoot td{padding:11px 16px;border-top:2px solid var(--line);font-size:12.5px;font-weight:600;color:var(--ink);background:var(--surface-2)}
  tfoot .euro{font-weight:600}

  .kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
  @media(max-width:760px){.kpi-row{grid-template-columns:1fr}}
  .kpi{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:16px 18px}
  .kpi.m-sea{border-top-color:var(--sea)}
  .kpi.m-air{border-top-color:var(--air)}
  .kpi.m-road{border-top-color:var(--road)}
  .kpi .kpi-head{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:11px}
  .kpi .kpi-dot{width:9px;height:9px;border-radius:2px;flex:none}
  .kpi.m-sea .kpi-dot{background:var(--sea)}
  .kpi.m-air .kpi-dot{background:var(--air)}
  .kpi.m-road .kpi-dot{background:var(--road)}
  .kpi .kpi-ton{font-family:'IBM Plex Mono',monospace;font-size:30px;font-weight:600;color:var(--ink);line-height:1;font-feature-settings:"tnum"}
  .kpi .kpi-ton .u{font-size:14px;color:var(--muted);margin-left:6px;font-weight:500}
  .kpi .kpi-kg{font-size:11.5px;color:var(--muted);margin-top:6px;font-family:'IBM Plex Mono',monospace}
  .kpi .kpi-sub{display:flex;margin-top:13px;padding-top:12px;border-top:1px solid var(--line-2)}
  .kpi .kpi-sub .s{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-right:16px;margin-right:16px;border-right:1px solid var(--line-2)}
  .kpi .kpi-sub .s:last-child{border-right:none;margin-right:0;padding-right:0}
  .kpi .kpi-sub .s b{display:block;font-size:14px;color:var(--ink);font-family:'IBM Plex Mono',monospace;font-weight:500;margin-top:3px;text-transform:none;letter-spacing:0}

  .report-note{font-size:12px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r);padding:11px 13px;line-height:1.55;margin-bottom:16px;display:flex;gap:9px}
  .report-note svg{flex:none;color:var(--muted-2);margin-top:1px}
  .report-note b{color:var(--ink-2);font-weight:600}

  .report-mode-chips{display:flex;gap:8px;flex-wrap:wrap}

  /* ---------- staafdiagrammen (verticaal) ---------- */
  .chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:16px 18px;margin-bottom:16px}
  .chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
  .chart-title{font-size:11px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
  .chart-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .vbars-scroll{overflow-x:auto;padding-bottom:2px}
  .vbars{display:flex;align-items:stretch;gap:6px;min-width:min-content}
  .vbar-col{flex:1 1 0;min-width:62px;display:flex;flex-direction:column;align-items:center}
  .vbar-val{font-size:12px;font-weight:600;font-family:'IBM Plex Mono',monospace;white-space:nowrap;margin-bottom:8px;letter-spacing:-.01em}
  .vbar-val.t-pos{color:var(--green)} .vbar-val.t-rev{color:var(--accent)} .vbar-val.t-cost{color:var(--road)} .vbar-val.t-ton{color:#34698C} .vbar-val.neg{color:var(--red)}
  .vbar-area{height:132px;width:100%;max-width:74px;display:flex;align-items:flex-end;justify-content:center}
  .vbar{width:100%;border-radius:7px 7px 0 0;min-height:5px;transition:height .35s ease}
  .vbar.c-pos{background:linear-gradient(180deg,#2F7A57 0%,#63BB8D 100%)}
  .vbar.c-rev{background:linear-gradient(180deg,#2B5C8A 0%,#6E9BC2 100%)}
  .vbar.c-cost{background:linear-gradient(180deg,#9A6B33 0%,#C8A06C 100%)}
  .vbar.c-neg{background:linear-gradient(180deg,#B0432F 0%,#D88E7E 100%)}
  .vbar.c-ton{background:linear-gradient(180deg,#34698C 0%,#7FA8C4 100%)}
  .vbar-lbl{font-size:12px;color:var(--ink-2);font-weight:500;margin-top:11px;white-space:nowrap}
  .vbar-sub{font-size:10.5px;color:var(--muted-2);margin-top:3px;white-space:nowrap}
  .bars-empty{font-size:12.5px;color:var(--muted-2);padding:6px 0}
