
@page {
  size: letter;
  margin: 0.45in 0.55in;
  @bottom-center {
    content: "Page " counter(page) " of " counter(pages);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 9pt;
    color: #4b586b;
  }
}

@media print{
  .side,.top,.banner,.next-action,.toast,.sidenote,.actions .avatar,.actions .status-select,.slide-nav,.slidefooter{display:none!important}
  body{background:#fff;color:#000}
  .app{display:block;min-height:auto}
  .main{min-width:0}
  .content{padding:0}
  .screen{display:none!important;position:static!important;visibility:visible!important}
  .screen.active{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
  button,.btn{display:none!important}
  #presentation .hero,#presentation .grid.c3,#presentation .section,#presentation .decision-row{display:none!important}
  #presentation .presentation{display:block!important;background:#fff!important;color:#182033!important;padding:0!important;margin:0!important;border-radius:0!important;box-shadow:none!important}
  #presentation .pslide{display:block!important;page-break-after:always!important;break-after:page!important;padding:20px 24px!important;box-sizing:border-box!important;min-height:auto!important;background:#fff!important;color:#182033!important}
  #presentation .pslide:last-child{page-break-after:auto!important;break-after:auto!important}
  #presentation .headline{font-size:30px!important;line-height:1.1!important;color:#182033!important}
  #presentation .headline small{font-size:13px!important;color:#182033!important}
  #presentation .metric{font-size:16px!important;color:#182033!important}
  #presentation .metric.big{font-size:24px!important;color:#182033!important}
  #presentation .sub{font-size:11px!important;color:#4b586b!important}
  #presentation .pgrid{grid-template-columns:1fr!important;gap:12px!important}
  #presentation .statrow{grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
  #presentation .grid.c3{grid-template-columns:1fr!important;gap:12px!important}
  #presentation svg{max-width:100%!important;height:auto!important}
  #presentation .darkcard{background:#f4f6f9!important;color:#182033!important;border:1px solid #dfe6ef!important;border-radius:12px!important;padding:14px!important;margin-bottom:12px!important}
  #presentation .present-white{background:#fff!important;color:#182033!important;border:1px solid #dfe6ef!important;border-radius:12px!important;padding:14px!important;margin-bottom:12px!important}
  #presentation .darkcard,#presentation .present-white,#presentation .statrow,#presentation .pgrid,#presentation .grid,#presentation .charthead{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  #proposal .hero,#proposal .proposal-grid > :not(.preview){display:none!important}
  #proposal .preview{width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  #proposal .preview-cover{border-radius:0!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  #handoff .hero,#handoff .timeline,#handoff .section,#handoff .grid.c2,#handoff .grid.c3{display:none!important}
  #handoff .grid.c3:has(.card:nth-child(1)){display:none!important}

  /* UI-5B2B executive client-facing review print */

  body { background: #fff !important; color: #182033 !important; }
  #reviewsApp { background: #fff !important; padding: 0 !important; }
  #s2i-client-preview,
  .s2i-client-view,
  .s2i-client-header,
  .s2i-client-header-actions,
  .s2i-detail-header,
  .s2i-review-section,
  .s2i-context-bar,
  .s2i-command-centre,
  .s2i-review-list,
  .s2i-audit-list,
  .toast,
  .top-actions,
  .s2i-readiness-actions,
  .pill,
  button,
  .btn { display: none !important; }

  .s2i-client-print-layout,
  #s2i-client-print,
  .s2i-print-document { display: block !important; background: #fff !important; color: #182033 !important; }

  .s2i-print-document {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 11.25pt;
    line-height: 1.4;
    padding-bottom: 8pt;
  }

  .s2i-print-section { margin-bottom: 5pt; break-inside: avoid; }
  .s2i-print-value { break-inside: auto; }
  .s2i-print-section-title {
    font-size: 13.5pt;
    font-weight: 800;
    color: #182033;
    margin: 0 0 3pt;
    padding-bottom: 2pt;
    border-bottom: 1.5pt solid #182033;
    break-after: avoid;
  }
  .s2i-print-prose { font-size: 11.25pt; color: #4b586b; margin: 0 0 4pt; }
  .s2i-print-list { margin: 0; padding-left: 19pt; color: #4b586b; }
  .s2i-print-list li { margin-bottom: 2pt; }

  /* header */
  .s2i-print-header {
    margin-bottom: 9pt;
    padding-bottom: 7pt;
    border-bottom: 3pt solid #1d7c59;
  }
  .s2i-print-client {
    font-size: 10.5pt;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #4b586b;
    margin-bottom: 5pt;
  }
  .s2i-print-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 10pt;
  }
  .s2i-print-title { font-size: 25pt; font-weight: 900; margin: 0; line-height: 1.05; color: #182033; }
  .s2i-print-type { font-size: 12pt; color: #4b586b; margin-top: 4pt; }
  .s2i-print-header-meta { font-size: 9pt; color: #4b586b; text-align: right; }
  .s2i-print-header-meta div { margin-bottom: 3pt; }
  .s2i-print-header-meta span { color: #4b586b; margin-right: 4pt; }
  .s2i-print-header-meta b { color: #182033; font-weight: 700; }

  /* hero */
  .s2i-print-hero-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 6pt; }
  .s2i-print-hero-card {
    padding: 6pt;
    border: 1px solid #dfe6ef;
    border-left: 3pt solid #4b586b;
    break-inside: avoid;
  }
  .s2i-print-hero-card--primary {
    border-left-color: #1d7c59;
    background: #f4fbf8;
  }
  .s2i-print-hero-label {
    font-size: 9pt;
    letter-spacing: 0.03em;
    color: #4b586b;
    font-weight: 700;
    margin-bottom: 4pt;
  }
  .s2i-print-hero-value { font-size: 16pt; font-weight: 900; color: #182033; line-height: 1.1; }
  .s2i-print-hero-card--primary .s2i-print-hero-value { font-size: 25pt; color: #1d7c59; }
  .s2i-print-hero-value small { display: block; font-size: 8pt; color: #4b586b; font-weight: 500; margin-top: 1pt; }
  .s2i-print-hero-value--green { color: #1d7c59; }
  .s2i-print-hero-value--amber { color: #b0741a; }
  .s2i-print-hero-value--red { color: #c9454d; }
  .s2i-print-hero-note { font-size: 8pt; color: #4b586b; margin-top: 2pt; }

  /* KPI */
  .s2i-print-kpi-list { display: grid; gap: 2pt; }
  .s2i-print-kpi-row {
    display: flex;
    align-items: center;
    gap: 5pt;
    padding: 3pt 0;
    border-bottom: 1pt solid #dfe6ef;
    break-inside: avoid;
  }
  .s2i-print-kpi-name { flex: 1; min-width: 0; font-weight: 800; font-size: 11pt; color: #182033; }
  .s2i-print-kpi-direction { display: block; font-size: 9pt; color: #4b586b; font-weight: 500; margin-top: 2pt; }
  .s2i-print-kpi-trend { display: block; font-size: 9pt; color: #4b586b; margin-top: 2pt; }
  .s2i-print-kpi-cells { display: grid; grid-template-columns: repeat(3, 80pt); gap: 8pt; }
  .s2i-print-kpi-cell { text-align: center; }
  .s2i-print-kpi-cell-label { font-size: 8pt; color: #4b586b; margin-bottom: 1pt; }
  .s2i-print-kpi-cell-value { font-size: 12pt; font-weight: 800; color: #182033; }
  .s2i-print-kpi-unit { font-size: 8pt; color: #4b586b; margin-left: 2pt; font-weight: 500; }
  .s2i-print-kpi-cell--current .s2i-print-kpi-cell-value { color: #3158c9; }
  .s2i-print-kpi-status { min-width: 80pt; text-align: right; }
  .s2i-print-status { display: inline-block; font-size: 9pt; font-weight: 700; padding: 2pt 7pt; border: 1pt solid #182033; }
  .s2i-print-status--green { border-color: #1d7c59; color: #1d7c59; }
  .s2i-print-status--amber { border-color: #b0741a; color: #b0741a; }
  .s2i-print-status--red { border-color: #c9454d; color: #c9454d; }
  .s2i-print-status--gray { border-color: #4b586b; color: #4b586b; }

  /* value */
  .s2i-print-value-hero {
    padding: 3pt 5pt;
    border: 1pt solid #b8e1d1;
    background: #f4fbf8;
    margin-bottom: 3pt;
    break-inside: avoid;
  }
  .s2i-print-value-hero-label { font-size: 8pt; color: #4b586b; font-weight: 700; margin-bottom: 1pt; text-transform: uppercase; letter-spacing: 0.02em; }
  .s2i-print-value-hero-amount { font-size: 12.5pt; font-weight: 800; color: #1d7c59; line-height: 1.1; }
  .s2i-print-value-hero-amount .s2i-print-kpi-unit { font-size: 9pt; }
  .s2i-print-value-note { font-size: 8pt; color: #4b586b; margin: 2pt 0 0; max-width: 92%; }
  .s2i-print-stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2pt; }
  .s2i-print-stage {
    text-align: center;
    padding: 3pt 2pt;
    border: 1pt solid #dfe6ef;
    position: relative;
    break-inside: avoid;
  }
  .s2i-print-stage--validated { border-color: #1d7c59; background: #f4fbf8; }
  .s2i-print-stage-index { position: absolute; top: 3pt; left: 5pt; font-size: 8pt; color: #4b586b; }
  .s2i-print-stage-label { font-size: 8pt; font-weight: 800; color: #4b586b; margin-bottom: 2pt; }
  .s2i-print-stage-count { font-size: 8pt; color: #4b586b; margin-bottom: 1pt; }
  .s2i-print-stage-value { font-size: 10.5pt; font-weight: 800; color: #182033; }
  .s2i-print-stage--validated .s2i-print-stage-value { color: #1d7c59; }

  /* accountability */
  .s2i-print-callout-list { margin: 0; padding-left: 19pt; color: #4b586b; font-size: 10.5pt; }
  .s2i-print-callout-list li { margin-bottom: 1pt; }

  /* type-specific decision / closeout */
  .s2i-print-decision { border-top: 1.5pt solid #182033; padding-top: 5pt; }
  .s2i-print-decision-eyebrow { font-size: 9pt; letter-spacing: 0.03em; color: #4b586b; font-weight: 700; margin-bottom: 2pt; }
  .s2i-print-decision-outcome { font-size: 21pt; font-weight: 900; color: #3158c9; line-height: 1.05; margin-bottom: 3pt; }
  .s2i-print-decision-rationale { font-size: 11pt; color: #4b586b; margin-bottom: 3pt; line-height: 1.3; }
  .s2i-print-decision-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4pt; }
  .s2i-print-decision-item { display: flex; flex-direction: column; gap: 1pt; }
  .s2i-print-decision-item span { font-size: 8pt; color: #4b586b; }
  .s2i-print-decision-item b { font-size: 10pt; color: #182033; font-weight: 700; }
  .s2i-print-acknowledgement,
  .s2i-print-dispositions {
    margin-top: 3pt;
    padding: 4pt;
    border-left: 3pt solid #1d7c59;
    background: #f4fbf8;
    break-inside: avoid;
  }
  .s2i-print-acknowledgement span,
  .s2i-print-dispositions span { display: block; font-size: 8.5pt; color: #4b586b; margin-bottom: 2pt; }
  .s2i-print-acknowledgement p { margin: 0; font-size: 10pt; color: #182033; font-style: italic; }
  .s2i-print-dispositions ul { margin: 0; padding-left: 16pt; font-size: 10pt; color: #4b586b; }

  /* CR6: closeout-specific print composition. Place acknowledgement and dispositions side by side
     when space permits, and allow the block to break naturally so the realistic 3-KPI fixture fits on one page. */
  .s2i-print-closeout { padding-bottom: 4pt; }
  .s2i-print-closeout .s2i-print-section { margin-bottom: 3pt; }
  .s2i-print-closeout .s2i-print-section-title { margin: 0 0 2pt; padding-bottom: 1pt; }
  .s2i-print-closeout .s2i-print-hero-card { padding: 4pt; }
  .s2i-print-closeout .s2i-print-kpi-row { padding: 2pt 0; }
  .s2i-print-closeout .s2i-print-value-hero { margin-bottom: 1pt; padding: 2pt 4pt; }
  .s2i-print-closeout .s2i-print-stage { padding: 2pt 1pt; }
  .s2i-print-closeout .s2i-print-decision { padding-top: 3pt; border-top-width: 1pt; }
  .s2i-print-closeout .s2i-print-decision-outcome { font-size: 19pt; margin-bottom: 2pt; }
  .s2i-print-closeout .s2i-print-decision-rationale { margin-bottom: 2pt; }
  .s2i-print-closeout-extras {
    display: flex;
    flex-wrap: wrap;
    gap: 3pt;
    margin-top: 1pt;
  }
  .s2i-print-closeout-extras .s2i-print-acknowledgement,
  .s2i-print-closeout-extras .s2i-print-dispositions {
    flex: 1 1 45%;
    min-width: 180pt;
    margin-top: 0;
    padding: 2pt;
    break-inside: auto;
  }

  /* footer */
  .s2i-print-footer { margin-top: 8pt; padding-top: 4pt; border-top: 1pt solid #dfe6ef; }
  .s2i-print-footer-meta { display: flex; flex-wrap: wrap; gap: 1pt 8pt; font-size: 8.5pt; color: #4b586b; }
  .s2i-print-footer-fee { flex-basis: 100%; margin-top: 2pt; }

  /* page break and flow */
  .s2i-print-value { break-before: auto; }
  .s2i-print-kpi-row,
  .s2i-print-stage,
  .s2i-print-hero-card,
  .s2i-print-section-title,
  .s2i-print-value-hero,
  .s2i-print-acknowledgement,
  .s2i-print-dispositions { break-inside: avoid; }
  .s2i-print-decision { break-inside: auto; }
  .s2i-print-decision-outcome,
  .s2i-print-decision-grid { break-inside: avoid; }

  /* CR5: balanced scale — improved type size and vertical spacing while preserving one-page fit */
  * { print-color-adjust: exact !important; -webkit-print-color-adjust: exact !important; }
}
