/* ============================================================
   COMMERCIAL DIVISION PROPOSAL
   Print Stylesheet — Professional Report / Presentation View
   Confidential — Commercial Division
   ============================================================ */

@media print {

  /* ============================================================
     PAGE SETUP
     ============================================================ */
  @page {
    size: letter portrait;
    margin: 0.6in 0.5in 0.6in;
  }

  :root {
    /* Brand */
    --green: #3dba4e;
    --green-dark: #27a034;

    /* Print surfaces */
    --print-white: #fff;
    --print-black: #000;
    --print-green-bg: #f5fcf6;
    --print-green-bg-light: #f2fbf3;

    /* Print text */
    --print-text: #1a1a1a;
    --print-text-dark: #0d0d0d;
    --print-text-mid: #444;
    --print-text-body: #333;
    --print-text-dim: #666;
    --print-text-muted: #999;
    --print-text-light: #aaa;
    --print-green-text: #1a4823;

    /* Print borders */
    --print-border: #d8d8d8;
    --print-border-light: #ebebeb;
    --print-border-card: #e0e0e0;
    --print-green-border: #c0e8c4;
    --print-green-border-light: #bee8c4;
  }

  /* ============================================================
     COLOR ACCURACY — Keep brand greens on paper
     ============================================================ */
  *, *::before, *::after {
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
    box-sizing: border-box !important;
    animation: none !important;
    transition: none !important;
  }

  /* ============================================================
     BASE RESET
     ============================================================ */
  html, body {
    background: var(--print-white) !important;
    color: var(--print-text) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 10.5pt;
    line-height: 1.6;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ============================================================
     HIDE ALL SCREEN-ONLY UI
     ============================================================ */
  .password-overlay,
  header,
  #navigation,
  .deep-dive-toggle,
  #deep-dive-panel,
  .grid-texture,
  .accent-glow,
  .header-divider,
  .lightbox,
  .image-panels,
  .content-title-link,
  footer {
    display: none !important;
  }

  /* ============================================================
     CONTAINER & LAYOUT RESET
     ============================================================ */
  .container {
    min-height: unset !important;
    overflow: visible !important;
    background: var(--print-white) !important;
  }

  .content-wrapper {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    z-index: auto !important;
  }

  #content {
    animation: none !important;
  }

  /* ============================================================
     COVER PAGE — Full first page, title treatment
     ============================================================ */
  .print-cover {
    min-height: 9.4in;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    page-break-after: always;
  }

  .print-cover-top {
    padding-top: 1in;
  }

  .print-cover-logo {
    display: none !important;
  }

  .print-cover-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.5in 0;
  }

  .print-cover-rule {
    width: 48pt;
    height: 3pt;
    background: var(--green) !important;
    margin-bottom: 22pt;
    border-radius: 2pt;
  }

  .print-cover-title {
    font-family: 'Space Mono', monospace;
    font-size: 36pt;
    font-weight: 700;
    color: var(--print-black) !important;
    letter-spacing: -1.5px;
    line-height: 1.15;
    margin: 0 0 22pt 0;
  }

  .print-cover-byline {
    font-family: 'Space Mono', monospace;
    font-size: 9pt;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--print-text-mid) !important;
    margin: 0;
    font-weight: 400;
  }

  .print-cover-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 0.5pt solid var(--print-border);
    padding-top: 10pt;
    font-family: 'Space Mono', monospace;
    font-size: 7pt;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--print-text-mid) !important;
    margin-bottom: -23pt;
  }

  /* ============================================================
     PRINT SECTION WRAPPERS — Generated by JS renderAllForPrint()
     ============================================================ */
  .print-section {
    page-break-before: always;
    padding-top: 18pt;
  }

  .print-section-opener {
    display: flex;
    align-items: baseline;
    gap: 12pt;
    margin-bottom: 16pt;
    padding-bottom: 9pt;
    border-bottom: 0.5pt solid var(--print-border);
    page-break-after: avoid;
  }

  .print-section-num {
    font-family: 'Space Mono', monospace;
    font-size: 24pt;
    font-weight: 700;
    color: var(--green) !important;
    line-height: 1;
    flex-shrink: 0;
  }

  .print-section-label {
    font-family: 'Space Mono', monospace;
    font-size: 8.5pt;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--print-text-light);
    line-height: 1;
  }

  /* ============================================================
     CONTENT TITLE & INTRO
     ============================================================ */
  .content-title {
    font-family: 'Space Mono', monospace !important;
    font-size: 16pt !important;
    font-weight: 700 !important;
    color: var(--print-text-dark) !important;
    letter-spacing: -0.5px;
    line-height: 1.2;
    margin: 0 0 7pt 0 !important;
    page-break-after: avoid;
  }

  .content-intro {
    font-size: 9.5pt !important;
    line-height: 1.75 !important;
    color: var(--print-text-mid) !important;
    font-weight: 300;
    max-width: none !important;
    margin: 0 0 16pt 0 !important;
    page-break-after: avoid;
  }

  /* ============================================================
     HIGHLIGHT BAND
     ============================================================ */
  .highlight-band {
    background: var(--print-green-bg) !important;
    border: none !important;
    border-left: 3.5pt solid var(--green) !important;
    border-radius: 0 !important;
    padding: 12pt 16pt !important;
    margin: 0 0 14pt 0 !important;
    page-break-inside: avoid;
  }

  .highlight-band-label {
    font-family: 'Space Mono', monospace;
    font-size: 7pt;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--green) !important;
    margin: 0 0 4pt 0;
  }

  .highlight-band p {
    font-size: 10pt !important;
    line-height: 1.65;
    color: var(--print-green-text) !important;
    font-weight: 500;
    margin: 0;
  }

  /* ============================================================
     STAT GRID
     ============================================================ */
  .stat-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 7pt !important;
    margin: 0 0 16pt 0 !important;
    page-break-inside: avoid;
  }

  .stat-card {
    background: var(--print-green-bg-light) !important;
    border: 0.75pt solid var(--print-green-border) !important;
    border-radius: 4pt;
    padding: 11pt 10pt !important;
    text-align: center;
    page-break-inside: avoid;
  }

  .stat-value {
    font-family: 'Space Mono', monospace !important;
    font-size: 18pt !important;
    font-weight: 700;
    color: var(--green) !important;
    line-height: 1;
    margin: 0 0 5pt 0 !important;
    letter-spacing: -1px;
  }

  .stat-label {
    font-size: 8pt !important;
    color: var(--print-text) !important;
    font-weight: 600;
    margin: 0 0 3pt 0 !important;
    line-height: 1.3;
  }

  .stat-sub {
    font-size: 7pt !important;
    color: var(--print-text-dim) !important;
    font-weight: 300;
    margin: 0 !important;
  }

  /* ============================================================
     CAPABILITY CARDS
     ============================================================ */
  .capabilities-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 7pt !important;
    margin: 0 0 14pt 0 !important;
  }

  .capability-card {
    background: var(--print-white) !important;
    border: 0.75pt solid var(--print-border-card) !important;
    border-top: 2.5pt solid var(--green) !important;
    border-radius: 0 0 3pt 3pt;
    padding: 11pt !important;
    page-break-inside: avoid;
    transition: none !important;
  }

  .capability-card:hover {
    border-color: var(--print-border-card) !important;
    border-top-color: var(--green) !important;
    transform: none !important;
  }

  .capability-card h3 {
    font-family: 'Space Mono', monospace !important;
    font-size: 11pt !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--green) !important;
    margin: 0 0 8pt 0 !important;
  }

  .capability-items {
    display: grid !important;
    gap: 5pt !important;
  }

  .capability-item {
    display: flex;
    align-items: flex-start;
    gap: 6pt;
  }

  .capability-item-bullet {
    color: var(--green) !important;
    font-size: 9pt;
    margin-top: 1.5pt;
    flex-shrink: 0;
  }

  .capability-item-text {
    font-size: 9pt !important;
    color: var(--print-text-body) !important;
    line-height: 1.5;
    font-weight: 400 !important;
  }

  /* ============================================================
     STEPS
     ============================================================ */
  .steps-container {
    margin: 0 0 14pt 0 !important;
    gap: 0 !important;
  }

  .step-item {
    display: grid !important;
    grid-template-columns: 50pt 1fr !important;
    gap: 12pt !important;
    padding: 11pt 0 !important;
    align-items: start;
    page-break-inside: avoid;
  }

  .step-item:not(:last-child) {
    border-bottom: 0.5pt solid var(--print-border-light) !important;
  }

  .step-num-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2pt;
  }

  .step-num {
    font-family: 'Space Mono', monospace !important;
    font-size: 17pt !important;
    font-weight: 700;
    color: var(--green) !important;
    line-height: 1;
  }

  .step-phase-badge {
    font-family: 'Space Mono', monospace !important;
    font-size: 8pt !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--print-text-muted) !important;
    text-align: center;
    line-height: 1.3;
  }

  .step-content h3 {
    font-family: 'Space Mono', monospace !important;
    font-size: 11pt !important;
    font-weight: 700;
    color: var(--print-black) !important;
    margin: 0 0 5pt 0 !important;
    letter-spacing: -0.2px;
    line-height: 1.3;
  }

  .step-content p {
    font-size: 9pt !important;
    line-height: 1.65;
    color: var(--print-text-mid) !important;
    margin: 0 !important;
    max-width: none !important;
    font-weight: 300 !important;
  }

  .step-list {
    margin: 0 !important;
    padding-left: 14pt !important;
    max-width: none !important;
  }

  .step-list li {
    font-size: 9pt !important;
    line-height: 1.65;
    color: var(--print-text-mid) !important;
    margin-bottom: 3pt !important;
    padding-left: 2pt;
    font-weight: 300;
  }

  .step-list li::marker {
    color: var(--green) !important;
    font-family: 'Space Mono', monospace;
    font-size: 8pt;
  }

  /* ============================================================
     ASK CARDS
     ============================================================ */
  .ask-cards {
    display: grid !important;
    gap: 8pt !important;
    margin: 0 0 14pt 0 !important;
  }

  .ask-card {
    display: grid !important;
    grid-template-columns: 40pt 1fr !important;
    gap: 12pt !important;
    align-items: start;
    background: var(--print-white) !important;
    border: 0.75pt solid var(--print-border-card) !important;
    border-left: 3.5pt solid var(--green) !important;
    border-radius: 0 4pt 4pt 0 !important;
    padding: 12pt !important;
    page-break-inside: avoid;
    transition: none !important;
  }

  .ask-card:hover {
    border-color: var(--print-border-card) !important;
    border-left-color: var(--green) !important;
  }

  .ask-card-badge {
    width: 32pt;
    height: 32pt;
    background: linear-gradient(135deg, var(--green), var(--green-dark)) !important;
    border-radius: 5pt;
    font-family: 'Space Mono', monospace;
    font-size: 11pt;
    font-weight: 700;
    color: var(--print-white) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .ask-card-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10pt;
    margin-bottom: 6pt !important;
  }

  .ask-card-body h3 {
    font-family: 'Space Mono', monospace !important;
    font-size: 11pt !important;
    font-weight: 700;
    color: var(--print-black) !important;
    margin: 0 !important;
    letter-spacing: -0.2px;
    line-height: 1.3;
  }

  .ask-card-body p {
    font-size: 9pt !important;
    line-height: 1.65;
    color: var(--print-text-mid) !important;
    margin: 0 0 6pt 0 !important;
    font-weight: 300 !important;
  }

  .ask-list {
    margin: 0 !important;
    padding-left: 13pt !important;
  }

  .ask-list li {
    font-size: 9pt !important;
    line-height: 1.65;
    color: var(--print-text-mid) !important;
    margin-bottom: 3pt !important;
    font-weight: 300;
  }

  .ask-list li::marker {
    color: var(--green) !important;
    font-size: 9pt;
  }

  .ask-tag {
    font-family: 'Space Mono', monospace;
    font-size: 6.5pt !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 2pt 6pt !important;
    background: var(--print-green-bg-light) !important;
    border: 0.5pt solid var(--print-green-border-light) !important;
    border-radius: 2pt;
    color: var(--green-dark) !important;
    display: inline-block;
    flex-shrink: 0;
  }

  /* ============================================================
     HIDE CHART & TABLE GROUP — not useful in print
     ============================================================ */
  .bar-chart-block,
  .ftg-group {
    display: none !important;
  }

  /* ============================================================
     SCENARIO COMPARISON (3-Phase Summary Cards)
     ============================================================ */
  .scenario-comparison-block {
    margin-bottom: 18pt !important;
  }

  .sc-title {
    font-family: 'Space Mono', monospace;
    font-size: 11pt !important;
    font-weight: 700;
    color: var(--print-text-dark) !important;
    margin-bottom: 10pt !important;
  }

  .sc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8pt !important;
  }

  /* Reset all dark-mode accent/active/opacity rules */
  .sc-card,
  .sc-card.sc-active,
  .sc-card:not(.sc-active),
  .sc-accent-primary,
  .sc-accent-bright,
  .sc-accent-muted {
    background: var(--print-white) !important;
    border: 0.75pt solid var(--print-border-card) !important;
    border-top: 0.75pt solid var(--print-border-card) !important;
    border-radius: 3pt;
    padding: 11pt !important;
    opacity: 1 !important;
    box-shadow: none !important;
    cursor: default;
    transition: none !important;
    page-break-inside: avoid;
  }

  /* Phase 1 gets a green top accent */
  .sc-accent-primary {
    border-top: 2.5pt solid var(--green) !important;
  }

  .sc-card-header {
    margin-bottom: 10pt !important;
    padding-bottom: 8pt !important;
    border-bottom: 0.5pt solid var(--print-border) !important;
  }

  .sc-card-name {
    font-size: 7.5pt !important;
    color: var(--print-text-dim) !important;
    margin-bottom: 4pt !important;
  }

  .sc-accent-primary .sc-card-name,
  .sc-card.sc-active .sc-card-name {
    color: var(--green) !important;
  }

  .sc-card-tag {
    font-size: 13pt !important;
    color: var(--print-text-dark) !important;
    letter-spacing: -0.5px;
  }

  .sc-accent-primary .sc-card-tag,
  .sc-card.sc-active .sc-card-tag {
    color: var(--print-text-dark) !important;
  }

  .sc-metric {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 4.5pt 0 !important;
    border-bottom: 0.5pt solid var(--print-border-light) !important;
  }

  .sc-metric:last-child {
    border-bottom: none !important;
  }

  .sc-metric-label {
    font-size: 7.5pt !important;
    color: var(--print-text-dim) !important;
  }

  .sc-metric-value {
    font-family: 'Space Mono', monospace;
    font-size: 8pt !important;
    font-weight: 700;
    color: var(--print-text) !important;
  }

  .sc-accent-primary .sc-metric-value {
    color: var(--print-text-dark) !important;
  }

  /* ============================================================
     PAGE BREAK RULES
     ============================================================ */
  h2 { page-break-after: avoid; }
  h3 { page-break-after: avoid; }

  .print-section-opener + * { page-break-before: avoid; }

  .capability-card,
  .ask-card,
  .step-item,
  .stat-card,
  .stat-grid,
  .highlight-band,
  .sc-card,
  .scenario-comparison-block {
    page-break-inside: avoid;
  }

  /* Keep section intros with their titles */
  .content-title,
  .content-intro,
  .print-section-opener {
    page-break-after: avoid;
  }

}
