/* ==========================================================================
   Daily Report view (#view-report) — ARCHITECTURE.md 9.12
   Screen: a control column + a scrollable column of A4 "paper" sheets (1000 × 1410 px, white, print look).
   Print: A4 portrait, one sheet per page (zoom 0.7937 → 794 × 1119 px), no app chrome.
   Two documented exceptions to the "#view-<key> prefix" rule:
     - the @media print block targets html.rep-on (set while the report view is active) to hide the rest of
       the app and unscale #stage;
     - the "Report" entry button that js/views/report.js adds to the AI panel header (#ai-panel .ai-h .rp-open).
   Screen text ≥ 13.5 px everywhere (print: 13.5 px × 0.7937 ≈ 8 pt minimum).
   ========================================================================== */

/* ------------------------------------------------------------------ layout */
#view-report .rp-wrap { display: flex; gap: 16px; height: 100%; }
#view-report .rp-side { width: 330px; flex: none; display: flex; flex-direction: column; gap: 13px; padding: 14px 14px 50px; min-height: 0;   /* bottom: room for the presenter button (#demo-btn) */
  background: var(--panel); border: 1px solid var(--border); border-radius: var(--r); }
#view-report .rp-scroll { flex: 1; min-width: 0; overflow-y: auto; overflow-x: hidden; border-radius: var(--r); border: 1px solid var(--border);
  background: rgba(2, 8, 20, 0.6); overscroll-behavior: contain; }
#view-report .rp-scroll::-webkit-scrollbar { width: 10px; }
#view-report .rp-scroll::-webkit-scrollbar-thumb { background: rgba(64, 145, 255, 0.35); border-radius: 5px; }
#view-report .rp-docs { display: flex; flex-direction: column; align-items: center; gap: 26px; padding: 24px 0 34px; }
#stage.ai-open #view-report .rp-docs { align-items: flex-start; padding-left: 30px; }

/* ------------------------------------------------------------------ control column */
#view-report .rp-sh { display: flex; align-items: center; gap: 11px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
#view-report .rp-sh svg { width: 28px; height: 28px; color: var(--cyan); flex: none; }
#view-report .rp-sh b { display: block; font-family: var(--num); font-size: 21px; letter-spacing: 0.4px; }
#view-report .rp-sh small { display: block; font-size: 14px; color: var(--text-dim); }
#view-report .rp-blk.grow { flex: 1; min-height: 0; display: flex; flex-direction: column; }
#view-report .rp-lab { font-family: var(--num); font-size: 14px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--text-mute); margin-bottom: 6px; }
#view-report .rp-mills button { font-family: var(--num); font-size: 14px; color: var(--text-dim); border: 1px solid var(--border); border-radius: 5px; background: rgba(6, 20, 44, 0.8); }
#view-report .rp-mills button:hover { color: var(--text); border-color: var(--border-hi); }
#view-report .rp-mills button.on { color: #fff; border-color: var(--cyan); background: rgba(47, 212, 255, 0.18); box-shadow: 0 0 10px rgba(47, 212, 255, 0.25); }
#view-report .rp-mills button.all { width: 100%; height: 32px; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 15px; margin-bottom: 6px; }
#view-report .rp-mills button.all i { font-style: normal; font-size: 14px; color: var(--text-mute); }
#view-report .rp-mgrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; }
#view-report .rp-mgrid button { height: 30px; padding: 0; }
#view-report .rp-mreg { display: flex; align-items: baseline; gap: 8px; font-size: 14px; font-weight: 600; color: #8cc8ff; margin: 8px 0 4px; }
#view-report .rp-mreg:first-of-type { margin-top: 2px; }
#view-report .rp-mreg i { font-style: normal; font-weight: 400; color: var(--text-mute); }
#view-report .rp-mgrid button.s-watch { box-shadow: inset 0 -3px 0 var(--amber); }
#view-report .rp-mgrid button.s-crit { box-shadow: inset 0 -3px 0 var(--red); }
#view-report .rp-mgrid button.on.s-watch { box-shadow: inset 0 -3px 0 var(--amber), 0 0 10px rgba(47, 212, 255, 0.25); }
#view-report .rp-mgrid button.on.s-crit { box-shadow: inset 0 -3px 0 var(--red), 0 0 10px rgba(47, 212, 255, 0.25); }
#view-report .rp-selname { font-size: 14px; color: var(--text); margin-top: 7px; min-height: 19px; line-height: 1.35; }
#view-report .seg { width: 100%; }
#view-report .seg button { flex: 1; padding: 6px 8px; font-size: 14px; }
#view-report .rp-btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; height: 40px; border-radius: 7px; font-size: 15px; font-weight: 600; white-space: nowrap; }
#view-report .rp-btn svg { width: 18px; height: 18px; flex: none; }
#view-report .rp-btn.ai { color: #fff; background: linear-gradient(90deg, #5b3fd6, #7d5cff); border: 1px solid rgba(200, 180, 255, 0.6); box-shadow: 0 0 14px rgba(125, 92, 255, 0.35); }
#view-report .rp-btn.pr { color: #fff; background: linear-gradient(180deg, #1e6fe0, #1553b5); border: 1px solid rgba(120, 180, 255, 0.5); }
#view-report .rp-btn.ghost { height: 34px; margin-top: 7px; font-size: 14px; font-weight: 500; color: var(--text-dim); border: 1px solid var(--border); background: rgba(6, 20, 44, 0.6); }
#view-report .rp-btn.ghost:hover { color: var(--text); border-color: var(--border-hi); }
#view-report .rp-btn.ico { width: 46px; flex: none; margin-top: 0; height: 40px; }
#view-report .rp-row { display: flex; align-items: center; gap: 10px; }
#view-report .rp-row .rp-lab { margin: 0; width: 86px; flex: none; }
#view-report .rp-row .seg button { padding: 6px 5px; white-space: nowrap; }
#view-report .rp-row .seg { flex: 1; width: auto; }
#view-report .rp-row2 { display: flex; gap: 8px; }
#view-report .rp-x { margin-left: auto; align-self: flex-start; width: 34px; height: 34px; border-radius: 7px; border: 1px solid var(--border); color: var(--text-dim); font-size: 22px; line-height: 1; }
#view-report .rp-x:hover { color: var(--text); border-color: var(--border-hi); }
#view-report .rp-btn:hover:not(:disabled) { filter: brightness(1.12); }
#view-report .rp-btn:disabled { opacity: 0.55; cursor: default; }
#view-report .rp-btn.ai.busy svg { animation: rp-spin 1.1s linear infinite; }
#view-report .rp-aist { font-size: 14px; line-height: 1.35; margin-top: 6px; color: var(--text-dim); }
#view-report .rp-aist.ok { color: var(--green); }
#view-report .rp-aist.mock { color: var(--amber); }
#view-report .rp-aist.busy { color: #c3b0ff; }
#view-report .rp-toc { display: flex; flex-direction: column; gap: 2px; overflow-y: auto; min-height: 0; }
#view-report .rp-toc button { display: flex; align-items: center; gap: 9px; text-align: left; padding: 3px 6px; border-radius: 5px; font-size: 14px; color: var(--text-dim); line-height: 1.25; }
#view-report .rp-toc button:hover { color: var(--text); background: rgba(47, 140, 255, 0.10); }
#view-report .rp-toc button i { flex: none; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--border); font-style: normal; font-family: var(--num); font-size: 14px; color: var(--cyan); }
#view-report .rp-simnote { flex: none; border: 1px solid rgba(255, 178, 36, 0.55); border-radius: 6px; padding: 7px 10px; font-size: 14px; line-height: 1.35; color: var(--text-dim); }
#view-report .rp-simnote b { display: block; color: var(--amber); font-weight: 600; }
@keyframes rp-spin { to { transform: rotate(360deg); } }

/* ------------------------------------------------------------------ paper sheet */
#view-report .rp-sheet { position: relative; flex: none; width: 1000px; height: 1410px; display: flex; flex-direction: column; overflow: hidden;
  background: #fff; color: #16202e; border-radius: 3px; box-shadow: 0 12px 44px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.06);
  font-family: var(--ui); font-size: 14px; line-height: 1.38; user-select: text; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
#view-report .rp-sheet b { font-weight: 700; }
#view-report .rp-hd { flex: none; padding: 26px 40px 0; }
#view-report .rp-hd1 { display: flex; align-items: flex-end; gap: 18px; padding-bottom: 9px; border-bottom: 3px solid #0b2a55; }
#view-report .rp-brand { flex: none; width: 230px; }
#view-report .rp-brand b { display: block; font-family: var(--num); font-size: 25px; line-height: 1.1; color: #0b2a55; letter-spacing: 0.2px; }
#view-report .rp-brand b i { font-style: normal; color: #1765c4; }
#view-report .rp-brand span { display: block; font-size: 13.5px; letter-spacing: 1px; text-transform: uppercase; color: #56637a; }
#view-report .rp-plant { flex: 1; min-width: 0; text-align: center; }
#view-report .rp-plant b { display: block; font-family: var(--num); font-size: 23px; line-height: 1.15; color: #16202e; }
#view-report .rp-plant b i { font-style: normal; color: #56637a; font-weight: 600; }
#view-report .rp-plant span { display: block; font-size: 13.5px; color: #56637a; }
#view-report .rp-pg { flex: none; width: 230px; text-align: right; }
#view-report .rp-pg b { display: block; font-family: var(--num); font-size: 17px; color: #16202e; }
#view-report .rp-pg span { display: block; font-size: 13.5px; color: #56637a; }
#view-report .rp-hd2 { display: flex; justify-content: space-between; gap: 16px; font-size: 13.5px; color: #3f4c63; padding: 6px 0; }
#view-report .rp-hd2 b { color: #0b2a55; font-weight: 600; }
#view-report .rp-simbar { font-size: 13.5px; font-weight: 600; letter-spacing: 0.3px; text-align: center; padding: 3px 8px; border-radius: 3px;
  color: #7a4a00; background: #fff4dc; border: 1px solid #efc068; }
#view-report .rp-bd { flex: 1; min-height: 0; overflow: hidden; padding: 12px 40px 0; }
#view-report .rp-ptl { display: flex; align-items: baseline; gap: 12px; font-family: var(--num); font-size: 25px; font-weight: 700; color: #0b2a55; margin: 0 0 8px; }
#view-report .rp-ptl small { font-family: var(--ui); font-size: 14px; font-weight: 400; color: #56637a; }
#view-report .rp-ft { flex: none; margin: 0 40px; padding: 8px 0 20px; border-top: 1px solid #c9d2df; font-size: 13.5px; line-height: 1.4; color: #56637a; display: grid; grid-template-columns: 1fr auto; column-gap: 16px; }
#view-report .rp-ft > div:nth-child(1), #view-report .rp-ft > div:nth-child(2) { grid-column: 1 / -1; }
#view-report .rp-ft > .r { grid-column: 2; text-align: right; color: #0b2a55; }
#view-report .rp-ft b { color: #3f4c63; font-weight: 600; }

/* ------------------------------------------------------------------ sheet components */
#view-report .rp-sec { margin-bottom: 13px; }
#view-report .rp-sec.tight { margin-bottom: 9px; }
#view-report .rp-sec h3 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 9px; font-size: 17px; font-weight: 700; color: #0b2a55; margin: 0 0 6px; padding-bottom: 4px; border-bottom: 1px solid #d8dee8; }
#view-report .rp-sec h3 > b { align-self: center; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #0b2a55; color: #fff; font-family: var(--num); font-size: 14px; }
#view-report .rp-sec h3 small { font-size: 13.5px; font-weight: 400; color: #56637a; }
#view-report .rp-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
#view-report .rp-grid2 .rp-sec.ch { margin-bottom: 8px; }
#view-report .dim { color: #56637a; }
#view-report .rp-sheet .c-ok { color: #0f8a55; } #view-report .rp-sheet .c-watch { color: #a15f00; } #view-report .rp-sheet .c-crit { color: #b3202f; }
#view-report .rp-sheet .c-info { color: #1765c4; } #view-report .rp-sheet .c-off { color: #56637a; }
#view-report .rp-note { font-size: 13.5px; color: #56637a; margin-top: 4px; }
#view-report .rp-empty { color: #56637a; font-style: italic; padding: 4px 0; }
#view-report .rp-bm { display: block; color: #3f4c63; font-style: italic; margin-top: 1px; }
#view-report .rp-line { font-size: 14px; line-height: 1.62; margin-top: 5px; }

/* KPI tiles */
#view-report .rp-kpis { display: grid; gap: 8px; margin: 2px 0 12px; }
#view-report .rp-kpis.k4 { grid-template-columns: repeat(4, 1fr); }
#view-report .rp-kpis.k5 { grid-template-columns: repeat(5, 1fr); }
#view-report .rp-kpi { min-width: 0; border: 1px solid #d8dee8; border-top: 3px solid #1765c4; border-radius: 4px; padding: 6px 10px 7px; background: #fafbfd; }
#view-report .rp-kpi.ok { border-top-color: #0f8a55; } #view-report .rp-kpi.watch { border-top-color: #d98a00; } #view-report .rp-kpi.crit { border-top-color: #c8283b; } #view-report .rp-kpi.off { border-top-color: #9aa5b5; }
#view-report .rp-kpi .l { display: block; font-size: 13.5px; font-weight: 600; letter-spacing: 0.3px; color: #56637a; }
#view-report .rp-kpi .v { display: block; font-family: var(--num); font-size: 29px; font-weight: 700; line-height: 1.15; color: #16202e; font-variant-numeric: tabular-nums; }
#view-report .rp-kpi .v small { font-size: 15px; font-weight: 600; color: #56637a; }
#view-report .rp-kpi.crit .v { color: #b3202f; } #view-report .rp-kpi.watch .v { color: #8c5300; }
#view-report .rp-kpi .s { display: block; font-size: 13.5px; color: #56637a; line-height: 1.3; }

/* tables */
#view-report .rp-t { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
#view-report .rp-t th { font-size: 13.5px; font-weight: 600; letter-spacing: 0.2px; color: #56637a; text-align: left; padding: 4px 6px; border-bottom: 2px solid #c9d2df; vertical-align: bottom; line-height: 1.25; }
#view-report .rp-t td { padding: 4px 6px; border-bottom: 1px solid #e7ebf2; vertical-align: top; overflow-wrap: anywhere; }
#view-report .rp-t .n { text-align: right; font-family: var(--num); font-variant-numeric: tabular-nums; }
#view-report .rp-t td.n { font-size: 15px; }
#view-report .rp-t tr.crit td:first-child { box-shadow: inset 3px 0 0 #c8283b; }
#view-report .rp-t tr.watch td:first-child { box-shadow: inset 3px 0 0 #d98a00; }
#view-report .rp-t tr.off td { color: #6b7686; }
#view-report .rp-t tr.tot td { border-top: 2px solid #c9d2df; background: #f4f6fa; }
#view-report .rp-t.rank td { padding: 4px 4px; font-size: 13.5px; }
#view-report .rp-t.rank td.n { font-size: 14.5px; }
#view-report .rp-t.rank th { padding: 4px 4px; }
#view-report .rp-t.acts td { font-size: 14px; }
#view-report .rp-t.al td { font-size: 13.5px; padding: 3px 6px; }
#view-report .rp-sw { display: inline-block; width: 12px; height: 12px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }

/* chips / severities */
#view-report .rp-chip { display: inline-block; padding: 0 8px; border-radius: 10px; font-size: 13.5px; font-weight: 600; line-height: 1.45; border: 1px solid; white-space: nowrap; font-family: var(--ui); }
#view-report .rp-chip.ok { color: #0c7a4b; border-color: #9fd8bd; background: #e9f7f0; }
#view-report .rp-chip.watch { color: #8c5300; border-color: #f0c277; background: #fff5e0; }
#view-report .rp-chip.crit { color: #b3202f; border-color: #f1a3ac; background: #fdecee; }
#view-report .rp-chip.info { color: #1765c4; border-color: #a9c7ef; background: #ebf3fd; }
#view-report .rp-chip.off { color: #56637a; border-color: #c9d2df; background: #f2f4f8; }
#view-report .rp-sev { flex: none; width: 74px; text-align: center; border-radius: 3px; font-size: 13.5px; font-weight: 700; color: #fff; padding: 1px 0; height: fit-content; margin-top: 1px; }
#view-report .rp-sev.high { background: #c8283b; } #view-report .rp-sev.medium { background: #c97f00; } #view-report .rp-sev.low { background: #1765c4; } #view-report .rp-sev.info { background: #6b7686; }

/* summary / insights / source */
#view-report .rp-sum { background: #f4f7fc; border-left: 4px solid #1765c4; padding: 7px 12px; font-size: 14.5px; line-height: 1.45; }
#view-report .rp-sum p + p { margin-top: 5px; }
#view-report .rp-src { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 4px; margin-bottom: 11px; border: 1px solid #c9d2df; background: #f2f4f8; }
#view-report .rp-src b { font-size: 15px; white-space: nowrap; }
#view-report .rp-src span { font-size: 13.5px; color: #3f4c63; }
#view-report .rp-src.ai { background: #f1edfd; border-color: #c7b8f5; } #view-report .rp-src.ai b { color: #5b3fd6; }
#view-report .rp-src.mock { background: #fff5e0; border-color: #f0c277; } #view-report .rp-src.mock b { color: #8c5300; }
#view-report .rp-src.rules b { color: #3f4c63; }
#view-report .rp-src.busy { background: #f1edfd; border-color: #c7b8f5; } #view-report .rp-src.busy b { color: #5b3fd6; }
#view-report .rp-src.busy::before { content: ''; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 3px solid #d6ccf8; border-top-color: #5b3fd6; animation: rp-spin 0.9s linear infinite; }
#view-report .rp-ins { display: flex; gap: 11px; padding: 6px 0; border-bottom: 1px solid #e7ebf2; }
#view-report .rp-ins-b { min-width: 0; flex: 1; }
#view-report .rp-ins-h { font-weight: 700; color: #16202e; }
#view-report .rp-ins-h .tag { font-size: 13.5px; font-weight: 600; color: #56637a; margin-right: 8px; }
#view-report .rp-ins-d { color: #2b3647; }
#view-report .rp-ins-bm { color: #3f4c63; font-style: italic; margin-top: 2px; }
#view-report .rp-ins-bm b { font-style: normal; font-size: 13.5px; color: #3f4c63; background: #eef1f6; padding: 0 5px; border-radius: 3px; margin-right: 3px; }

/* charts (inline SVG) */
#view-report .rp-svg { display: block; overflow: visible; font-family: var(--ui); }
#view-report .rp-svg .ax { font-size: 13.5px; fill: #56637a; }
#view-report .rp-svg .ax.hl { font-weight: 700; fill: #0b2a55; }
#view-report .rp-svg .bl { font-size: 14px; fill: #16202e; }
#view-report .rp-svg .bv { font-family: var(--num); font-size: 15px; font-weight: 700; fill: #16202e; }
#view-report .rp-svg .d1 { font-family: var(--num); font-size: 38px; font-weight: 700; fill: #16202e; }
#view-report .rp-svg .d2 { font-size: 14px; fill: #56637a; }
#view-report .rp-leg { display: flex; flex-wrap: wrap; gap: 3px 14px; font-size: 13.5px; color: #2b3647; margin: 2px 0 4px; }
#view-report .rp-leg span { display: inline-flex; align-items: center; gap: 6px; }
#view-report .rp-leg i { display: inline-block; width: 13px; height: 13px; border-radius: 2px; }
#view-report .rp-stack { display: flex; height: 18px; border-radius: 3px; overflow: hidden; margin: 8px 0 6px; background: #e7ebf2; }
#view-report .rp-stack i { display: block; height: 100%; }

/* section layouts */
#view-report .rp-dist { display: flex; align-items: center; gap: 24px; }
#view-report .rp-dist .rp-t { flex: 1; }
#view-report .rp-shift { display: grid; grid-template-columns: 1fr 250px; gap: 20px; align-items: start; }
#view-report .rp-delta { border: 1px solid #d8dee8; border-radius: 4px; padding: 12px 12px 10px; text-align: center; background: #fafbfd; font-size: 14px; }
#view-report .rp-delta > span { display: block; font-size: 13.5px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; color: #56637a; margin-bottom: 4px; }
#view-report .rp-delta > b { font-family: var(--num); font-size: 32px; }
#view-report .rp-stg { display: flex; gap: 10px; margin-top: 4px; }
#view-report .rp-stg div { flex: 1; display: flex; justify-content: space-between; align-items: baseline; border: 1px solid #d8dee8; border-radius: 4px; padding: 4px 10px; }
#view-report .rp-stg span { font-size: 14px; color: #3f4c63; }
#view-report .rp-stg b { font-family: var(--num); font-size: 23px; }
#view-report .rp-ul { margin: 0; padding-left: 20px; }
#view-report .rp-ul li { margin: 2px 0; }
#view-report .rp-ul.warn li::marker { color: #c97f00; }
#view-report .rp-inc { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; }
#view-report .rp-inc h4 { font-size: 14px; font-weight: 700; color: #0b2a55; margin-bottom: 1px; }
#view-report .rp-il { list-style: none; margin: 0; padding: 0; }
#view-report .rp-il li { padding: 2px 0; border-bottom: 1px dotted #dde3ec; font-size: 14px; }
#view-report .rp-loss { display: grid; grid-template-columns: 520px 1fr; gap: 20px; align-items: start; }
#view-report .rp-kv4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 4px; }
#view-report .rp-grid2 .rp-kv4 { grid-template-columns: 1fr 1fr; }
#view-report .rp-kv2 { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
#view-report .rp-kv4 > div, #view-report .rp-kv2 > div { min-width: 0; border: 1px solid #e1e6ee; border-radius: 4px; padding: 3px 8px 4px; }
#view-report .rp-kv4 span, #view-report .rp-kv2 span { display: block; font-size: 13.5px; color: #56637a; }
#view-report .rp-kv4 b, #view-report .rp-kv2 b { display: block; font-family: var(--num); font-size: 18px; line-height: 1.25; }
#view-report .rp-eff { display: grid; grid-template-columns: 520px 1fr; gap: 20px; align-items: start; }
#view-report .rp-ol { list-style: none; margin: 0; padding: 0; }
#view-report .rp-ol li { padding: 4px 0 4px 10px; border-bottom: 1px solid #eef1f6; border-left: 3px solid #0f8a55; margin-bottom: 1px; }
#view-report .rp-ol li.watch { border-left-color: #d98a00; }
#view-report .rp-ol li.crit { border-left-color: #c8283b; }
#view-report .rp-ol .nm { color: #56637a; }
#view-report .rp-ol.two li { padding: 3px 0 3px 10px; }

/* sign-off block (actions page) */
#view-report .rp-sign { display: grid; grid-template-columns: 1fr 1fr 0.6fr; gap: 26px; margin-top: 14px; }
#view-report .rp-sign > div { display: flex; flex-direction: column; justify-content: flex-end; min-height: 92px; }
#view-report .rp-sign b { display: block; border-bottom: 1.5px solid #16202e; height: 44px; order: -1; }
#view-report .rp-sign span { font-size: 13.5px; color: #3f4c63; margin-top: 5px; }
#view-report .rp-sign span i { display: block; font-style: italic; color: #56637a; }

/* denied / error sheet */
#view-report .rp-sheet.rp-denied { height: 460px; display: grid; place-items: center; }
#view-report .rp-den { text-align: center; padding: 30px; }
#view-report .rp-den b { display: block; font-family: var(--num); font-size: 30px; color: #b3202f; }
#view-report .rp-den p { font-size: 17px; margin: 12px 0 16px; color: #2b3647; }

/* ------------------------------------------------------------------ entry point in the AI panel header */
#ai-panel .ai-h .rp-open { margin-left: auto; flex: none; display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 11px 0 9px; border-radius: 8px;
  font-size: 14px; font-weight: 600; color: #d6cbff; border: 1px solid rgba(169, 139, 255, 0.45); white-space: nowrap; }
#ai-panel .ai-h .rp-open svg { width: 17px; height: 17px; }
#ai-panel .ai-h .rp-open:hover { background: rgba(125, 92, 255, 0.25); }
#ai-panel .ai-h .rp-open + .ai-new { margin-left: 0; }

/* ------------------------------------------------------------------ print: A4 portrait, the report only */
@media print {
  @page { size: A4 portrait; margin: 0; }
  html.rep-on, html.rep-on body { width: auto !important; height: auto !important; overflow: visible !important; background: #fff !important; }
  html.rep-on #stage { position: static !important; transform: none !important; width: auto !important; height: auto !important; overflow: visible !important; background: none !important; }
  html.rep-on #stage::before, html.rep-on #stage::after { display: none !important; }
  html.rep-on #stage > :not(#view-report) { display: none !important; }
  html.rep-on #view-report { position: static !important; padding: 0 !important; transform: none !important; opacity: 1 !important; visibility: visible !important; transition: none !important; }
  #view-report .rp-wrap { display: block; height: auto; }
  #view-report .rp-side { display: none !important; }
  #view-report .rp-scroll { overflow: visible !important; border: 0 !important; background: none !important; height: auto; border-radius: 0; }
  #view-report .rp-docs { display: block !important; padding: 0 !important; }
  #view-report .rp-sheet { zoom: 0.7937; margin: 0 !important; border-radius: 0; box-shadow: none !important; break-after: page; page-break-after: always; }
  #view-report .rp-sheet:last-child { break-after: auto; page-break-after: auto; }
  #view-report .rp-src.busy::before { display: none; }
}
