/* Print / PDF — the second way a strategy leaves the product.
 *
 * A director forwards a page or prints it into a deck; neither worked before (the
 * audit found zero print rules in the codebase). The rules below strip the app
 * chrome, force every disclosure open so nothing a reader relied on disappears in
 * the paper version, and keep the honesty furniture — the evidence strip, the
 * directional status, the sample captions — because a printout that drops them
 * would be the one artifact making claims with no visible basis. */

@media print {
  /* App chrome: navigation and controls have no meaning on paper. */
  .side, .topbar, .cs-tabs, .section-nav, .job-widget, #crossJobPanel,
  .btn, button, .icon-btn, .empty-actions, .strip-stale, .evidence-open, .ev-modal {
    display: none !important;
  }

  html, body { background: #fff !important; color: #000 !important; }
  .app, .main, .canvas, .tab-page {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    width: auto !important;
  }

  /* Both panes print: on paper there is no tab to click, so hiding one would
     silently drop half the document. */
  .cs-pane { display: block !important; page-break-before: always; }
  .cs-pane[data-pane="strategy"] { page-break-before: auto; }

  /* Every disclosure opens — a collapsed <details> prints as a bare summary line,
     which reads as if the evidence were missing rather than merely folded. */
  details { display: block !important; }
  details > summary { list-style: none; font-weight: 600; }
  details:not([open]) > *:not(summary) { display: revert !important; }
  .mod-row, .mod-archive, .limits-panel, .status-more { break-inside: avoid; }

  /* Keep decisions and their evidence on one page where possible. */
  .verdict-card, .scorecard, .angle-card, .watch-card, .exec-band,
  .role-card, .finding, .compare-table, .positioning-snap {
    break-inside: avoid;
    box-shadow: none !important;
  }
  .cs-section, .strategy-report > section { break-inside: auto; }

  /* Flatten interactive affordances into readable ink. */
  a { color: #000 !important; text-decoration: none !important; }
  .compare-table td a::after { content: ""; }
  .evidence-strip, .status-row, .sc-caption, .board-note, .limits-hard {
    border: 1px solid #bbb !important;
    background: #f6f6f6 !important;
    color: #000 !important;
  }

  /* Bars and marks must survive the loss of background printing. */
  .compare-table .bar::before, .sc-tile { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  @page { margin: 14mm; }
}
