    :root{
      --bg:#fafafa; --card:#ffffff; --ink:#0f172a; --muted:#475569; --line:#e2e8f0;
      --accent-day:#f7c9b9; --accent-night:#e5c6f1; --accent-24:#f5a35e;
      --pill-old:#9ae6b4; --pill-new:#60a5fa;
    }
    /* Dark theme overrides */
    :root[data-theme="dark"]{
      --bg:#0b1220; --card:#0f172a; --ink:#e5e7eb; --muted:#94a3b8; --line:#1f2a44;
      --accent-day:#70483d; --accent-night:#4f3f60; --accent-24:#cc7a3a;
      --pill-old:#75d6a0; --pill-new:#5aa8ff;
    }

    *{box-sizing:border-box}
    html,body{height:99%}
    body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.4 system-ui,Segoe UI,Roboto,Inter,sans-serif}
    h1{margin:8px 0 8px;font-size:28px;text-align:center}
    .container{max-width:1500px;margin:12px auto;padding:0 12px}
    .toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}
    .btn-toggle{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:6px 12px;border-radius:999px;cursor:pointer}
    .btn-toggle:hover{box-shadow:0 1px 0 rgba(0,0,0,.1)}

    .grid{display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr}
    @media (max-width:1200px){.grid{grid-template-columns:1fr}}

    .panel{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04)}
    .panel header{padding:10px 14px;font-weight:700;letter-spacing:.2px;border-bottom:1px solid var(--line)}
    .panel .body{padding:14px}
    .hdr-day{background:var(--accent-day)}
    .hdr-night{background:var(--accent-night)}
    .hdr-24{background:var(--accent-24)}

    .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
    .card{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--card)}
    .title{font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}
    .pill{font-size:12px;padding:2px 8px;border-radius:999px;color:#0b1020}
    .pill-old{background:var(--pill-old)}
    .pill-new{background:var(--pill-new);color:#04121f}

    .summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .kpi{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--card)}
    .kpi .k{font-size:12px;color:var(--muted)}
    .kpi .v{font-size:18px;font-weight:800;margin-top:4px}

    table{width:100%;border-collapse:collapse;background:var(--card)}
    th,td{border:1px solid var(--line);padding:4px 6px;text-align:left;font-size:12px}
    th{background:var(--bg);color:var(--ink)}

    .muted{color:var(--muted)}
    .chart-wrap{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--card)}
  
    /* --- Colored headings for Block labels (text-only) --- */
    .blk-tag{font-weight:700}
    .blk-A{color:#ef4444}
    .blk-B{color:#f97316}
    .blk-C{color:#eab308}
    .blk-D{color:#22c55e}
    .blk-E{color:#06b6d4}
    .blk-F{color:#3b82f6}
    .blk-G{color:#8b5cf6}
    .blk-H{color:#a855f7}
    .blk-I{color:#d946ef}
    .blk-J{color:#ec4899}
    .blk-K{color:#14b8a6}
    .blk-L{color:#10b981}
  
    /* --- Colored headings for Block labels (text-only) --- */
    .blk-tag{font-weight:700}
    .blk-A{color:#ef4444}
    .blk-B{color:#f97316}
    .blk-C{color:#eab308}
    .blk-D{color:#22c55e}
    .blk-E{color:#06b6d4}
    .blk-F{color:#3b82f6}
    .blk-G{color:#8b5cf6}
    .blk-H{color:#a855f7}
    .blk-I{color:#d946ef}
    .blk-J{color:#ec4899}
    .blk-K{color:#14b8a6}
    .blk-L{color:#10b981}

    /* ========================
       PRINT STYLESHEET (A4 Landscape)
       ======================== */
    @media print {
      :root, :root[data-theme="dark"]{
        --bg:#ffffff; --card:#ffffff; --ink:#000000; --muted:#000000; --line:#8a8a8a;
        --accent-day:#dddddd; --accent-night:#eeeeee; --accent-24:#000000;
        --pill-old:#4d8b6b; --pill-new:#2a68b8;
      }
      @page { size: A4 landscape; margin: 10mm; }
      html, body { background:#fff !important; color:#000 !important; }
      .toolbar{ display:none !important; }
      .container{ max-width:none; padding:0 8mm; }
      .grid{ grid-template-columns:1fr 1fr; gap:10px; }
      .panel{ box-shadow:none !important; border-color:#000 !important; break-inside:avoid-page; page-break-inside:avoid; }
      .chart-wrap, table, .kpi{ break-inside:avoid-page; page-break-inside:avoid; }
      .hdr-day, .hdr-night, .hdr-24, .pill, .card, table th, table td{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
      canvas{ background:#fff !important; }
      a[href]:after{ content:""; }
    }
  
    /* --- Additional PRINT overrides: A4 Landscape + Fit to 1 page --- */
    @media print {
      @page { size: A4 landscape; margin: 8mm; }
      body{ font-size:11px !important; }
      h1{ font-size:18px !important; margin:0 0 6px !important; }
      .container{ max-width:none; padding:0 6mm; }
      .grid{ grid-template-columns:1fr 1fr 1fr; gap:8px; }
      .panel .body, .kpi, .chart-wrap, .card{ padding:6px !important; }
      .container.print-fit{ transform-origin: top left; transform: scale(var(--print-scale,1)); width: calc(100% / var(--print-scale,1)); }
      canvas{ background:#fff !important; width:100% !important; height:auto !important; max-height:70mm !important; }
    }