/* TD Logistics — printable monthly report.
   Parchment and ink: the app's identity rendered for paper rather than abandoned at the print
   dialog. The overlay preview and the printed page share this one stylesheet, so what is on screen
   is what lands in the PDF. Chart primitives are reused from the Statistics tab — everything here
   re-themes them by overriding the variables and classes they already use. */

  /* ---- overlay (screen preview) ---- */
  #reportView{position:fixed;inset:0;z-index:200;overflow:auto;background:rgba(4,7,14,.86);
    padding:0 0 60px;display:flex;flex-direction:column;align-items:center}
  body.rp-open{overflow:hidden}
  .rp-bar{position:sticky;top:0;z-index:2;width:100%;display:flex;align-items:center;gap:16px;
    justify-content:center;padding:14px 20px;background:var(--void2);border-bottom:1px solid var(--line)}
  .rp-hint{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
  .rp-print{background:var(--gold);color:var(--void);font-family:var(--mono);font-size:.74rem;font-weight:600;
    letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:4px;padding:10px 20px;transition:background .2s}
  .rp-print:hover{background:var(--gold-bright)}
  .rp-close{background:transparent;color:var(--slate);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;
    text-transform:uppercase;border:1px solid var(--line);border-radius:4px;padding:10px 16px}
  .rp-close:hover{color:var(--parchment);border-color:var(--gold-dim)}
  /* A4 at 96dpi is 794px wide; the preview is that page, shadowed onto the backdrop. */
  .rp-page{width:794px;max-width:100%;margin:22px 0;box-shadow:0 18px 60px rgba(0,0,0,.55)}

  /* ---- the document ---- */
  .report{
    /* ink-on-cream overrides — the chart primitives read these same names */
    --pg:#f4efe2; --ink:#111a33; --ink-soft:#4a5270; --rule:#9c803a;
    --gold:#8a6f2e; --gold-bright:#6f591f; --gold-dim:#b99a45; --azure:#2f5488; --emerald:#3c7a50;
    --parchment:#111a33; --slate:#4a5270; --slate-dim:#6b7392; --line:#d8cdb2; --line-soft:#e5dcc6;
    --panel:transparent; --midnight:transparent; --void:#f4efe2;
    background:var(--pg);color:var(--ink);
    font-family:var(--body);padding:20mm 16mm;box-sizing:border-box;
  }

  /* ---- masthead ---- */
  .rp-head{display:flex;align-items:center;gap:14px}
  .rp-mark{width:40px;height:40px;flex:0 0 auto;fill:var(--rule);stroke:none}
  .rp-mark-pip{fill:var(--pg)}
  .rp-org{font-family:var(--display);font-weight:700;letter-spacing:.16em;font-size:1.02rem;line-height:1.1;
    text-transform:uppercase;color:var(--ink)}
  .rp-sub{font-family:var(--mono);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--rule);margin-top:3px}
  .rp-rule{height:2px;background:linear-gradient(90deg,var(--rule),rgba(156,128,58,.15));margin:12px 0 16px}
  .rp-period h1{font-family:var(--display);font-size:1.7rem;font-weight:600;letter-spacing:.02em;color:var(--ink)}
  .rp-meta{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;color:var(--slate);margin-top:5px}

  /* ---- headline figures ---- */
  .rp-figures{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:18px 0 8px;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
  .rp-fig{text-align:center}
  .rp-fig-v{font-family:var(--display);font-size:1.18rem;color:var(--ink);line-height:1.15}
  .rp-fig-k{font-family:var(--mono);font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-top:4px}
  .rp-delta{font-family:var(--mono);font-size:.58rem;display:inline-block;margin-top:3px}
  .rp-delta.up{color:#2f6b45} .rp-delta.down{color:#9d3b47}

  /* ---- sections ---- */
  .rp-block{margin-top:16px;break-inside:avoid}
  .rp-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
  .report h2{font-family:var(--display);font-size:.86rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:var(--ink);padding-bottom:5px;margin-bottom:10px;border-bottom:1px solid var(--rule)}
  .rp-note{font-size:.64rem;line-height:1.5;color:var(--slate);margin-top:8px;font-style:italic}
  .rp-chart{margin-top:4px}
  .rp-foot{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:10px;
    border-top:1px solid var(--line);font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;
    text-transform:uppercase;color:var(--slate-dim)}

  /* ---- re-theming the reused chart primitives ---- */
  .report .trend{width:100%;height:auto}
  .report .tr-area{fill:rgba(156,128,58,.16)}
  .report .tr-volline{stroke:var(--rule);fill:none;stroke-width:1.6}
  .report .tr-iskline{stroke:var(--azure);fill:none;stroke-width:1.6}
  .report .tr-dot{fill:var(--azure)} .report .tr-dot.sel{fill:var(--ink)}
  .report .tr-lab{fill:var(--slate);font-family:var(--mono);font-size:11px}
  .report .tr-lab.sel{fill:var(--ink)}
  .report .tr-guide{stroke:var(--line);stroke-dasharray:3 3}

  .report .donut-wrap{display:flex;align-items:center;gap:18px}
  .report .donut-hole{background:var(--pg);color:var(--ink)}
  .report .donut-hole small{color:var(--slate)}
  .report .lg{color:var(--ink)} .report .lg .lv{color:var(--ink)} .report .lg .lv small{color:var(--slate)}

  .report .g-track{stroke:var(--line-soft)}
  .report .g-val{stroke:var(--rule)}
  .report .g-label b{color:var(--ink)} .report .g-label small{color:var(--slate)}

  .report .hb-l{color:var(--ink)} .report .hb-v{color:var(--slate)}
  .report .hb-track{background:var(--line-soft)}

  .report .st-table th{color:var(--slate);border-bottom-color:var(--rule)}
  .report .st-table td{color:var(--ink);border-bottom-color:var(--line-soft)}
  .report .st-table .rt-bar::before{background:rgba(156,128,58,.14)}
  .report .st-table .mono,.report .st-table .num{color:var(--slate)}

  .report .heat-cell{border-radius:1px}
  .report .heat-day,.report .heat-hr{color:var(--slate)}

  /* ---- print ---- */
  @page{size:A4;margin:0}
  @media print{
    /* Everything except the report leaves the page — including the overlay's own toolbar. */
    body>*:not(#reportView){display:none !important}
    body.rp-open{overflow:visible}
    #reportView{position:static;display:block;inset:auto;padding:0;background:none;overflow:visible}
    .rp-bar{display:none !important}
    .rp-page{width:auto;margin:0;box-shadow:none}
    .report{padding:14mm 13mm}
    /* Browsers drop backgrounds by default, which would take the parchment, the heatmap and every
       bar fill with it — the report would print as text on white. */
    *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}
    .rp-block,.rp-row,.rp-figures,.rp-head{break-inside:avoid}
    .report h2{break-after:avoid}
    .rp-foot{position:running(foot)}
  }
