/* JRCO Contract Review — Issues Summary (print / Save as PDF)
   Brand: Style Guide/style.css — Bebas Neue · DM Sans · DM Mono · #D42B2B */

@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&family=DM+Mono:wght@400;500&display=swap");

#cr-print-root {
  display: none;
}

@media print {
  body > *:not(#cr-print-root) {
    display: none !important;
  }

  #cr-print-root {
    display: block !important;
  }

  #cr-print-root * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  html,
  body {
    background: #fff !important;
    color: #1a1a1a !important;
    height: auto !important;
    overflow: visible !important;
    margin: 0;
    padding: 0;
  }

  @page {
    size: letter;
    margin: 0.65in 0.75in 0.75in 0.75in;
  }

  .cr-rpt-sheet {
    font-family: "DM Sans", "Segoe UI", Helvetica, Arial, sans-serif;
    font-size: 10.5pt;
    line-height: 1.55;
    color: #1a1a1a;
  }

  .cr-rpt-sheet::before {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: #d42b2b;
    margin-bottom: 14pt;
  }

  .cr-rpt-header {
    margin-bottom: 16pt;
    page-break-after: avoid;
  }

  .cr-rpt-brand {
    display: flex;
    align-items: center;
    gap: 14pt;
    margin-bottom: 12pt;
  }

  .cr-rpt-logo {
    height: 36pt;
    width: auto;
    max-width: 140pt;
  }

  .cr-rpt-kicker {
    font-family: "DM Mono", monospace;
    font-size: 8pt;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 2pt;
  }

  .cr-rpt-title {
    font-family: "Bebas Neue", "Arial Black", Arial, sans-serif;
    font-size: 26pt;
    letter-spacing: 0.04em;
    color: #d42b2b;
    margin: 0;
    line-height: 1.05;
    text-transform: uppercase;
  }

  .cr-rpt-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6pt 18pt;
    font-size: 9.5pt;
    border-top: 1px solid #ddd;
    padding-top: 10pt;
  }

  .cr-rpt-meta-label {
    display: block;
    font-family: "DM Mono", monospace;
    font-size: 7.5pt;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #777;
    margin-bottom: 1pt;
  }

  .cr-rpt-meta-val {
    display: block;
    color: #1a1a1a;
    word-break: break-word;
  }

  .cr-rpt-mono {
    font-family: "DM Mono", monospace;
    font-size: 8.5pt;
  }

  .cr-rpt-disclaimer {
    margin: 0 0 16pt;
    padding: 10pt 12pt;
    border-left: 4px solid #d42b2b;
    background: #fdf6f7;
    font-size: 9.5pt;
    page-break-inside: avoid;
  }

  .cr-rpt-section {
    margin-bottom: 18pt;
    page-break-inside: auto;
  }

  .cr-rpt-section-title {
    font-family: "Bebas Neue", "Arial Black", Arial, sans-serif;
    font-size: 15pt;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1a1a1a;
    margin: 0 0 4pt;
    padding-bottom: 4pt;
    border-bottom: 2px solid #d42b2b;
  }

  .cr-rpt-section-count {
    font-size: 12pt;
    color: #666;
  }

  .cr-rpt-section-sub,
  .cr-rpt-subhead {
    font-size: 9.5pt;
    color: #555;
    margin: 0 0 10pt;
  }

  .cr-rpt-subhead {
    font-family: "Bebas Neue", sans-serif;
    font-size: 11pt;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #333;
    margin-top: 10pt;
  }

  .cr-rpt-summary-body {
    white-space: pre-wrap;
    font-size: 10pt;
    margin-bottom: 8pt;
  }

  .cr-rpt-posture {
    margin: 0 0 8pt;
    font-size: 10pt;
  }

  .cr-rpt-posture-label {
    font-family: "DM Mono", monospace;
    font-size: 8pt;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #d42b2b;
    margin-right: 6pt;
  }

  .cr-rpt-steps {
    margin: 0 0 8pt 18pt;
    padding: 0;
  }

  .cr-rpt-stats {
    width: 100%;
    border-collapse: collapse;
    font-size: 9.5pt;
    margin-bottom: 8pt;
  }

  .cr-rpt-stats th {
    background: #d42b2b;
    color: #fff;
    font-family: "DM Mono", monospace;
    font-size: 8pt;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: left;
    padding: 6pt 8pt;
  }

  .cr-rpt-stats td {
    padding: 5pt 8pt;
    border-bottom: 1px solid #e5e5e5;
  }

  .cr-rpt-stats td:last-child {
    text-align: right;
    font-weight: 600;
  }

  .cr-rpt-cost-note {
    font-family: "DM Mono", monospace;
    font-size: 8.5pt;
    color: #666;
    margin: 0;
  }

  .cr-rpt-empty {
    font-size: 9.5pt;
    color: #777;
    font-style: italic;
  }

  .cr-rpt-finding {
    border: 1px solid #ddd;
    border-left: 4px solid #d42b2b;
    border-radius: 3pt;
    padding: 10pt 12pt;
    margin-bottom: 10pt;
    page-break-inside: avoid;
    background: #fafafa;
  }

  .cr-rpt-finding-head {
    display: flex;
    gap: 10pt;
    align-items: flex-start;
    margin-bottom: 8pt;
  }

  .cr-rpt-finding-num {
    font-family: "DM Mono", monospace;
    font-size: 9pt;
    color: #d42b2b;
    font-weight: 600;
    min-width: 16pt;
  }

  .cr-rpt-finding-title-wrap {
    flex: 1;
    min-width: 0;
  }

  .cr-rpt-finding-title {
    font-family: "Bebas Neue", sans-serif;
    font-size: 12pt;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.2;
  }

  .cr-rpt-finding-loc {
    font-family: "DM Mono", monospace;
    font-size: 8pt;
    color: #666;
    margin-top: 2pt;
  }

  .cr-rpt-finding-badges {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4pt;
    flex-shrink: 0;
  }

  .cr-rpt-risk {
    font-family: "DM Mono", monospace;
    font-size: 7.5pt;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 2pt 8pt;
    border-radius: 999px;
    border: 1px solid transparent;
  }

  .cr-rpt-risk-high {
    color: #d42b2b;
    border-color: #d42b2b;
    background: rgba(212, 43, 43, 0.1);
  }

  .cr-rpt-risk-medium {
    color: #c87d10;
    border-color: #e8a020;
    background: rgba(232, 160, 32, 0.12);
  }

  .cr-rpt-risk-low {
    color: #1e9e52;
    border-color: #1e9e52;
    background: rgba(30, 158, 82, 0.1);
  }

  .cr-rpt-disp {
    font-family: "DM Mono", monospace;
    font-size: 7pt;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #555;
  }

  .cr-rpt-quote {
    margin: 0 0 8pt;
    padding: 8pt 10pt;
    border-left: 3px solid #bbb;
    background: #fff;
    font-size: 9.5pt;
    color: #333;
  }

  .cr-rpt-quote-label {
    display: block;
    font-family: "DM Mono", monospace;
    font-size: 7pt;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 4pt;
  }

  .cr-rpt-concern,
  .cr-rpt-revision,
  .cr-rpt-meta-line {
    margin: 0 0 6pt;
    font-size: 9.5pt;
  }

  .cr-rpt-footer {
    margin-top: 20pt;
    padding-top: 10pt;
    border-top: 1px solid #ddd;
    font-size: 8pt;
    color: #777;
    display: flex;
    justify-content: space-between;
    gap: 12pt;
    page-break-inside: avoid;
  }
}
