/* Migrated print rules */
@media print {
      /* ============================================================
         PRINT STYLESHEET — clinical handout format
         Designed to give the user (and their GP) a useful summary:
         - Page header with title
         - Calculated lipid values + any warnings
         - Statin alternatives (if applicable)
         - Personalised supplement plan (all three tiers)
         - 12-week projection
         - Daily nutrition targets
         - Selected reference tables:
            · Cardiac assessment recommendations
            · Essential blood tests (Tier 1 + Tier 2)
            · CGM target metrics
            · Waist circumference thresholds
         - Disclaimer
         ============================================================ */

      /* === Page setup === */
      @page { margin: 12mm 14mm; }

      html, body {
        background: white !important;
        background-image: none !important;
        font-size: 10pt;
        color: #000;
      }
      body::before, body::after { display: none !important; }

      /* === Universal hides: navigation, interactive controls, decorative === */
      .toc-nav,
      .hero-meta,
      .hero-eyebrow,
      .input-panel,
      .action-bar,
      .toast,
      .footer,
      .shop-link,
      .collapse-icon,
      .adv-collapse-header,
      .adv-collapse-icon,
      .markers-grid,
      .markers-note,
      .collapse-header { display: none !important; }

      /* ============================================================
         IMPORTANT: Conditional warning callouts (Friedewald, Pancreatitis,
         TSH hypothyroidism) must PRINT when they appear — they are the
         most clinically important content for a GP appointment.
         The print styles below override the default warning colours
         to monochrome but keep them visible.
         ============================================================ */
      .info-box {
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2.5pt solid #000 !important;
        padding: 6pt 10pt !important;
        margin: 4pt 0 !important;
        font-size: 8.5pt !important;
        color: #000 !important;
        line-height: 1.45;
        page-break-inside: avoid !important;
      }
      .info-box strong, .info-box.warn strong, .info-box.thyroid strong {
        color: #000 !important;
        font-weight: 700;
      }

      /* === Section-level hides for educational deep-dive content === */
      #misconceptions,
      #advanced-dx,
      #doctors,
      .child-panel,
      .satfat-panel,
      .ex-checker { display: none !important; }

      /* === Tier 3 longevity section: hidden in print unless user opted in.
         Body has .show-longevity class when toggle is checked. === */
      body:not(.show-longevity) #longevity,
      body:not(.show-longevity) .toc-link-longevity { display: none !important; }

      /* === Within Context section (#context): print featured card too, just hide intro === */
      #context .section-head { margin-bottom: 6pt !important; }
      #context .context-intro { display: none !important; }
      .tier-access-note {
        padding: 5pt 8pt !important;
        background: white !important;
        border: 0.5pt dashed #888 !important;
        font-size: 7.5pt !important;
        margin-top: 6pt !important;
        color: #000 !important;
        line-height: 1.4;
      }
      .tier-access-note strong { color: #000 !important; font-weight: 700; }
      .tier-access-note a { color: #000 !important; text-decoration: none !important; }
      #context .context-grid {
        display: block !important;
        margin-bottom: 8pt !important;
      }
      #context .context-card,
      #context .context-card.featured {
        background: white !important;
        padding: 8pt !important;
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        margin-bottom: 8pt;
        page-break-inside: avoid !important;
      }
      #context .context-card.featured {
        border-left: 2pt solid #555 !important;
      }
      #context .context-card h3 {
        font-size: 11pt; color: #000 !important;
        margin-bottom: 4pt;
      }
      #context .context-card.featured p {
        font-size: 8.5pt !important;
        line-height: 1.45 !important;
        margin-bottom: 4pt !important;
      }
      #context .context-card.featured p:last-child { margin-bottom: 0 !important; }
      #context .context-card.featured a { color: #000 !important; text-decoration: underline !important; }
      .scan-list li { padding: 3pt 0; font-size: 9pt; }
      .scan-list strong { font-size: 9pt; }
      .scan-list span { font-size: 8.5pt; }
      .scan-list li::before {
        background: #555 !important;
        width: 5px !important; height: 5px !important;
      }
      .tests-panel {
        padding: 8pt !important;
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        margin-top: 8pt !important;
        background: white !important;
      }
      .tests-panel-head {
        margin-bottom: 6pt !important;
        padding-bottom: 4pt !important;
      }
      .tests-panel-head .icon { display: none !important; }
      .tests-panel-head h3 { font-size: 11pt; }
      .tests-panel-head p { font-size: 8.5pt; }
      .tests-tier-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 6pt !important;
      }
      .tests-tier {
        padding: 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        page-break-inside: avoid !important;
      }
      .tests-tier h4 { font-size: 10pt; }
      .tests-tier .tier-subtitle { font-size: 7.5pt; padding-left: 32pt; margin-bottom: 5pt; }
      .tests-tier-num { width: 18pt !important; height: 18pt !important; font-size: 9pt !important; }
      .tests-tier li { padding: 3pt 0; font-size: 8.5pt; }
      .tests-tier .test-name { font-size: 9pt; }
      .tests-tier .test-desc { font-size: 8pt; }
      .tests-tier .essential-tag {
        font-size: 7pt !important; padding: 1pt 4pt !important;
        border: 0.5pt solid #555;
        background: white !important; color: #000 !important;
      }

      /* === Within CGM section (#cgm): keep targets table + brief context === */
      #cgm .section-head { margin-bottom: 6pt !important; }
      #cgm .cgm-wrap {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
      }
      #cgm .cgm-wrap h3 { font-size: 11pt; margin-bottom: 4pt; color: #000 !important; }
      #cgm .cgm-wrap > p {
        font-size: 8.5pt !important;
        margin-bottom: 4pt !important;
        line-height: 1.45 !important;
      }
      /* Show "Choose your CGM device" header in compact form */
      #cgm .cgm-wrap > h4 {
        font-size: 10pt !important; color: #000 !important;
        margin: 6pt 0 2pt !important; font-weight: 600;
      }
      #cgm .cgm-wrap > h4 + p {
        font-size: 8pt !important; line-height: 1.4 !important;
        margin-bottom: 4pt !important; color: #555 !important;
      }

      /* Side-by-side comparison table — the single source of truth for the
         CGM picker, both on screen and in print. Compact A4-friendly. */
      .cgm-compare-wrap {
        margin-top: 4pt !important;
        padding: 4pt 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        overflow: visible !important;
      }
      .cgm-compare-wrap > h4 {
        font-size: 10pt !important;
        margin-bottom: 2pt !important;
        color: #000 !important;
      }
      .cgm-compare-wrap > p {
        font-size: 7.5pt !important;
        line-height: 1.4 !important;
        margin-bottom: 4pt !important;
        color: #555 !important;
      }
      .cgm-compare {
        min-width: 0 !important;
        font-size: 7pt !important;
      }
      .cgm-compare th, .cgm-compare td {
        padding: 2pt 4pt !important;
        line-height: 1.3 !important;
      }
      .cgm-compare thead th {
        font-size: 7.5pt !important;
        color: #000 !important;
        background: white !important;
        border-bottom: 0.5pt solid #555 !important;
      }
      .cgm-compare thead th .device-mfr { font-size: 6pt !important; }
      .cgm-compare thead th.col-pick {
        background: white !important;
        color: #000 !important;
        border-bottom: 1pt solid #000 !important;
      }
      .cgm-compare thead th.col-pick::after {
        content: '★' !important;
        font-size: 7pt !important;
        top: 1pt !important; right: 2pt !important;
      }
      .cgm-compare tbody th {
        font-size: 6.5pt !important;
        background: white !important;
        color: #000 !important;
      }
      .cgm-compare tbody td.col-pick {
        background: white !important;
        color: #000 !important;
      }
      .cgm-compare .cell-good,
      .cgm-compare .cell-warn,
      .cgm-compare .cell-strong { color: #000 !important; }
      .cgm-compare .cell-buy {
        background: white !important;
        color: #000 !important;
        border: 0.5pt solid #555 !important;
        padding: 1pt 4pt !important;
        font-size: 6.5pt !important;
      }
      #cgm .cgm-targets {
        padding: 0 !important;
        box-shadow: none !important;
      }
      .cgm-table { font-size: 8.5pt !important; }
      .cgm-table th, .cgm-table td { padding: 4pt 8pt !important; }

      /* === Within CAC section (#cac): keep the tier grid + bottom line === */
      #cac .section-head { margin-bottom: 6pt !important; }
      #cac .cac-wrap {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
      }
      #cac .cac-intro { margin-bottom: 6pt !important; padding-bottom: 4pt !important; }
      #cac .cac-intro h3 { font-size: 11pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      #cac .cac-intro p {
        font-size: 8.5pt !important; margin-bottom: 3pt !important;
        line-height: 1.45 !important; color: #333 !important;
      }
      #cac .cac-tiers h4 { font-size: 10pt !important; color: #000 !important; margin-bottom: 2pt !important; }
      #cac .cac-tiers-intro { font-size: 8pt !important; margin-bottom: 5pt !important; line-height: 1.4 !important; }
      .cac-tier-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 4pt !important;
      }
      .cac-tier {
        padding: 5pt 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
      }
      .cac-tier:hover { transform: none !important; }
      .cac-tier::before { display: none !important; }
      .cac-tier-score {
        font-size: 14pt !important; margin-bottom: 1pt !important;
        color: #000 !important;
      }
      .cac-tier-label { font-size: 6.5pt !important; margin-bottom: 4pt !important; letter-spacing: 0.08em !important; }
      .cac-tier p { font-size: 7pt !important; line-height: 1.35 !important; margin-bottom: 3pt !important; }
      .cac-tier-caveat { font-size: 6.5pt !important; padding-top: 3pt !important; margin-top: 3pt !important; }
      /* Hide the paradox + action plan in print — keep tiers + bottom line only.
         The clinical handout value is the tier table + access info. */
      .cac-callout-paradox,
      .cac-action { display: none !important; }
      .cac-callout-bottom {
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #000 !important;
        padding: 6pt 8pt !important; margin-top: 6pt !important;
      }
      .cac-callout-bottom h4 { font-size: 9pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .cac-callout-bottom p {
        font-size: 8pt !important; line-height: 1.45 !important;
        margin-bottom: 3pt !important; color: #333 !important;
      }
      .cac-access { font-size: 7.5pt !important; padding-top: 3pt !important; margin-top: 3pt !important; }

      /* === Within Diet section (#diet): keep ONLY the diet grid, drop callouts === */
      #diet .section-head { margin-bottom: 6pt !important; }
      .diet-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 6pt !important;
      }
      .diet-col {
        padding: 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
      }
      .diet-col.add { border-left: 2pt solid #555 !important; }
      .diet-col.limit { border-left: 2pt solid #555 !important; }
      .diet-col h4 { font-size: 11pt; color: #000 !important; margin-bottom: 4pt; }
      .diet-group-title {
        font-size: 7pt !important; margin: 4pt 0 2pt !important;
        padding-bottom: 1pt !important;
        color: #555 !important;
        border-bottom: 0.5pt solid #ccc !important;
      }
      .diet-col li {
        padding: 2pt 0; font-size: 7.5pt;
        line-height: 1.4;
        gap: 5pt !important;
      }
      .diet-col li::before {
        background: #555 !important;
        width: 3px !important; height: 3px !important;
        margin-top: 5pt !important;
      }

      /* === Within Exercise section (#exercise): keep ONLY the waist table === */
      #exercise .section-head { margin-bottom: 6pt !important; }
      .waist-panel {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
      }
      .waist-panel h4 { font-size: 11pt; color: #000 !important; margin-bottom: 4pt; }
      .waist-panel > p { font-size: 8.5pt !important; margin-bottom: 6pt !important; line-height: 1.5; }
      .waist-panel > p:not(:first-of-type) { display: none !important; }
      .waist-table-wrap {
        padding: 0 !important;
        box-shadow: none !important;
      }
      .waist-table { font-size: 8pt !important; }
      .waist-table th, .waist-table td { padding: 4pt 8pt !important; }
      .waist-table .risk-cell {
        font-size: 7pt !important;
        background: white !important;
        color: #000 !important;
        border: 0.5pt solid #555;
        padding: 1pt 4pt !important;
      }

      /* === Exercise section: print intro + exercise cards (hide checker only) === */
      .exercise-intro {
        padding: 6pt 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        margin-bottom: 6pt !important;
        font-size: 8.5pt !important;
        line-height: 1.5 !important;
        color: #000 !important;
        box-shadow: none !important;
      }
      .exercise-intro h4 { font-size: 10pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .exercise-intro p { font-size: 8.5pt !important; line-height: 1.45 !important; margin-bottom: 3pt !important; }
      .ex-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 5pt !important; margin-bottom: 6pt !important;
      }
      .ex-card {
        padding: 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
      }
      .ex-card .ex-icon {
        width: 18pt !important; height: 18pt !important;
        font-size: 10pt !important; margin-bottom: 3pt !important;
        background: white !important; color: #000 !important;
        border: 0.5pt solid #888;
      }
      .ex-card h4 { font-size: 9pt !important; color: #000 !important; margin-bottom: 2pt !important; }
      .ex-card .ex-target { font-size: 11pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .ex-card .ex-target small { font-size: 6.5pt !important; }
      .ex-card p { font-size: 7.5pt !important; line-height: 1.4 !important; }

      /* === CGM 14-day protocol: keep — practical action steps === */
      .cgm-tips {
        margin-top: 6pt !important;
        padding-top: 6pt !important;
        border-top: 0.5pt solid #ccc !important;
      }
      .cgm-tips h4 { font-size: 10pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .cgm-tips ol { padding-left: 14pt !important; font-size: 8pt !important; }
      .cgm-tips li { padding: 2pt 0 !important; line-height: 1.4 !important; }

      /* === CGM 4 techniques block: keep but compact for print === */
      .cgm-techniques .tech-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 4pt !important;
        margin: 4pt 0 !important;
      }
      .tech-card {
        padding: 5pt 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 1.5pt solid #555 !important;
        page-break-inside: avoid !important;
      }
      .tech-num {
        background: white !important;
        color: #000 !important;
        border: 0.5pt solid #555;
        box-shadow: none !important;
        width: 14pt !important;
        height: 14pt !important;
        font-size: 7.5pt !important;
        top: -6pt !important;
        left: 8pt !important;
      }
      .tech-card h6 {
        font-size: 8.5pt !important;
        color: #000 !important;
        margin: 2pt 0 3pt !important;
      }
      .tech-card p { font-size: 7pt !important; line-height: 1.35 !important; margin-bottom: 3pt !important; }
      .tech-claim {
        background: white !important;
        border: 0.5pt solid #888;
        padding: 3pt 4pt !important;
        color: #000 !important;
      }
      .tech-claim strong { color: #000 !important; }
      .tech-evidence {
        background: white !important;
        border-left: 1pt solid #888 !important;
        padding: 3pt 4pt !important;
        font-size: 6.5pt !important;
      }
      .tech-action {
        background: white !important;
        border: 0.5pt solid #888;
        padding: 3pt 4pt !important;
        font-size: 6.5pt !important;
        color: #000 !important;
      }
      .tech-summary {
        background: white !important;
        border: 0.5pt solid #888;
        border-left: 1.5pt solid #555 !important;
        padding: 4pt 6pt !important;
        font-size: 7.5pt !important;
        color: #000 !important;
        margin-top: 4pt !important;
      }

      /* === CGM educational callouts: keep — clinical interpretation reference === */
      .cgm-callout {
        padding: 6pt 8pt !important;
        margin: 4pt 0 !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        page-break-inside: auto !important;
      }
      .cgm-callout-frame {
        background: white !important;
        border-left: 2pt solid #555 !important;
      }
      .cgm-callout h4 {
        font-size: 9.5pt !important;
        color: #000 !important;
        margin-bottom: 3pt !important;
      }
      .cgm-callout p {
        font-size: 8pt !important;
        line-height: 1.45 !important;
        margin-bottom: 3pt !important;
      }
      .cgm-interp-block { margin-top: 5pt !important; }
      .cgm-interp-block h5 {
        font-size: 8.5pt !important;
        color: #000 !important;
        margin-bottom: 2pt !important;
      }
      .cgm-interp-block h5 .ic {
        width: 12pt !important; height: 12pt !important;
        font-size: 7pt !important;
        background: white !important;
        border: 0.5pt solid #888 !important;
      }
      .cgm-scenarios {
        padding: 0 !important;
        background: white !important;
        margin: 3pt 0 !important;
      }
      .cgm-scenarios table {
        font-size: 7pt !important;
        min-width: 0 !important;
      }
      .cgm-scenarios th, .cgm-scenarios td {
        padding: 3pt 5pt !important;
      }
      .cgm-scenarios .verdict-normal,
      .cgm-scenarios .verdict-watch,
      .cgm-scenarios .verdict-concern {
        color: #000 !important;
      }
      .cgm-aha {
        margin-top: 4pt !important;
        padding: 4pt 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        page-break-inside: avoid !important;
      }
      .cgm-aha h5 {
        font-size: 8.5pt !important;
        color: #000 !important;
        margin-bottom: 2pt !important;
      }
      .cgm-aha li {
        font-size: 7pt !important;
        padding: 1pt 0 1pt 12pt !important;
        line-height: 1.4 !important;
      }
      .cgm-aha li::before {
        font-size: 7pt !important;
        top: 1pt !important;
      }

      /* === Fish omega-3 panel: keep — clinical reference === */
      .fish-panel {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        margin-top: 6pt !important;
        page-break-inside: auto !important;
      }
      .fish-panel h4 { font-size: 11pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .fish-panel > p { font-size: 8pt !important; line-height: 1.45 !important; margin-bottom: 4pt !important; }
      .fish-table-wrap {
        background: white !important;
        padding: 0 !important; box-shadow: none !important;
      }
      .fish-table { font-size: 7.5pt !important; }
      .fish-table th, .fish-table td { padding: 3pt 6pt !important; }
      .fish-table td:first-child { font-size: 8pt !important; }
      .fish-table td:nth-child(2) { font-size: 8.5pt !important; color: #000 !important; }
      .fish-table td:last-child { font-size: 7.5pt !important; }
      .fish-shellfish-note {
        margin-top: 4pt !important; padding: 4pt 8pt !important;
        background: white !important; border-left: 2pt solid #555 !important;
        border: 0.5pt solid #aaa !important;
        font-size: 7.5pt !important; line-height: 1.45 !important;
      }

      /* === Milk panel: keep — clinical reference for sat-fat / iodine trade-off === */
      .milk-panel {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        margin-top: 6pt !important;
        page-break-inside: auto !important;
      }
      .milk-panel h4 { font-size: 11pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .milk-panel > p { font-size: 8pt !important; line-height: 1.45 !important; margin-bottom: 4pt !important; }
      .milk-iodine-callout {
        background: white !important;
        border-left: 2pt solid #000 !important;
        padding: 4pt 8pt !important;
        margin: 4pt 0 !important;
        font-size: 7.5pt !important; line-height: 1.45 !important;
        color: #000 !important;
      }
      .milk-iodine-callout strong { color: #000 !important; }
      .milk-table-wrap {
        background: white !important;
        padding: 0 !important; box-shadow: none !important;
      }
      .milk-table { font-size: 7pt !important; min-width: 0 !important; }
      .milk-table th, .milk-table td { padding: 3pt 5pt !important; }
      .milk-table th small { font-size: 6pt !important; }
      .milk-table td:first-child { font-size: 7.5pt !important; }
      .milk-table td:not(:first-child) {
        font-size: 8pt !important; color: #000 !important;
      }
      .milk-table .sat-high, .milk-table .sat-mid, .milk-table .sat-low,
      .milk-table .rec-chol, .milk-table .rec-gen { color: #000 !important; }
      .milk-rec-row {
        background: #f4f4f4 !important;
      }
      .milk-rec-row td:first-child {
        font-size: 7pt !important; color: #000 !important;
      }
      .milk-rec-row td:not(:first-child) { font-size: 7pt !important; }
      .milk-plant-note {
        margin-top: 4pt !important; padding: 4pt 8pt !important;
        background: white !important; border-left: 2pt solid #555 !important;
        border: 0.5pt solid #aaa !important;
        font-size: 7.5pt !important; line-height: 1.45 !important;
        color: #000 !important;
      }
      .milk-plant-note strong { color: #000 !important; }

      /* === Gluten-free callout: keep — important dietary guidance === */
      .gluten-callout {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        margin-top: 6pt !important;
        page-break-inside: auto !important;
      }
      .gluten-callout h4 { font-size: 10pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .gluten-callout p { font-size: 8pt !important; line-height: 1.45 !important; margin-bottom: 3pt !important; }
      .gluten-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 4pt !important; margin-top: 4pt !important;
      }
      .gluten-card {
        padding: 5pt !important;
        background: white !important; border: 0.5pt solid #aaa !important;
        page-break-inside: avoid !important;
      }
      .gluten-card h5 { font-size: 8.5pt !important; color: #000 !important; margin-bottom: 2pt !important; }
      .gluten-card p { font-size: 7pt !important; line-height: 1.4 !important; }

      /* === Alcohol callout: keep — TG-relevant clinical content === */
      .alcohol-callout {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        margin-top: 6pt !important;
        page-break-inside: avoid !important;
      }
      .alcohol-callout h4 { font-size: 10pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .alcohol-callout p { font-size: 8pt !important; line-height: 1.45 !important; margin-bottom: 3pt !important; }

      /* === Potassium callout: keep — BP/CV co-management content === */
      .potassium-callout {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        margin-top: 6pt !important;
        page-break-inside: avoid !important;
      }
      .potassium-callout h4 { font-size: 10pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .potassium-callout p { font-size: 8pt !important; line-height: 1.45 !important; margin-bottom: 3pt !important; }
      .potassium-sources {
        grid-template-columns: 1fr 1fr !important;
        gap: 3pt !important;
        margin-top: 3pt !important;
      }
      .potassium-source-card {
        padding: 3pt 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        page-break-inside: avoid !important;
      }
      .potassium-source-card h5 { font-size: 7.5pt !important; color: #000 !important; margin-bottom: 1pt !important; }
      .potassium-source-card p { font-size: 7pt !important; line-height: 1.4 !important; margin: 0 !important; }
      .potassium-warning {
        padding: 3pt 6pt !important;
        margin-top: 3pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 1.5pt solid #555 !important;
        font-size: 7pt !important;
        line-height: 1.4 !important;
        color: #000 !important;
      }
      .potassium-warning strong { color: #000 !important; }

      /* === Meal timing panel: keep — behavioural anchor for the protocol === */
      .timing-panel {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        margin-top: 6pt !important;
        page-break-inside: auto !important;
      }
      .timing-panel h3 { font-size: 10pt !important; color: #000 !important; margin-bottom: 3pt !important; }
      .timing-panel > p { font-size: 8pt !important; line-height: 1.45 !important; margin-bottom: 3pt !important; }
      .timing-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 4pt !important; margin-top: 4pt !important;
      }
      .timing-card {
        padding: 5pt !important;
        background: white !important; border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
      }
      .timing-card .timing-icon {
        width: 14pt !important; height: 14pt !important;
        font-size: 8pt !important; margin-bottom: 2pt !important;
        background: white !important; color: #000 !important;
        border: 0.5pt solid #888;
      }
      .timing-card h5 { font-size: 8pt !important; color: #000 !important; margin-bottom: 1pt !important; }
      .timing-card .timing-target { font-size: 10pt !important; color: #000 !important; margin-bottom: 2pt !important; }
      .timing-card .timing-target small { font-size: 6pt !important; }
      .timing-card p { font-size: 6.5pt !important; line-height: 1.35 !important; }
      .timing-caveat {
        margin-top: 4pt !important; padding: 4pt 8pt !important;
        background: white !important; border-left: 2pt solid #555 !important;
        border: 0.5pt solid #aaa !important;
        font-size: 7.5pt !important; line-height: 1.45 !important; color: #000 !important;
      }

      /* === Hero compressed with print date stamp === */
      .hero { padding: 0 0 8pt !important; text-align: left; position: relative; }
      .hero h1 { font-size: 18pt; margin-bottom: 4pt; letter-spacing: -0.02em; }
      .hero h1 .accent { color: #000 !important; font-style: normal; }
      .hero-sub { font-size: 9pt; max-width: none; margin: 0; }
      .hero::after {
        content: 'Printed for your records. Bring to your GP or specialist appointment.';
        display: block;
        font-size: 7.5pt;
        color: #555;
        font-style: italic;
        margin-top: 4pt;
        padding-top: 4pt;
        border-top: 0.5pt solid #ccc;
      }

      /* === Sections: NO forced breaks, NO huge padding === */
      section {
        padding: 6pt 0 !important;
        margin: 0 !important;
        page-break-inside: auto !important;
        page-break-before: auto !important;
        page-break-after: auto !important;
        break-inside: auto !important;
      }
      section + section { border-top: 0.5pt dashed #ccc !important; }
      section + section::before,
      section + section::after { display: none !important; }

      /* === Section heads compact === */
      .section-head {
        margin-bottom: 6pt !important;
        gap: 0 !important;
        display: block !important;
      }
      .section-num { display: none !important; }
      .section-title { font-size: 13pt; margin-bottom: 2pt; letter-spacing: -0.01em; }
      .section-subtitle { font-size: 9pt; color: #444; }

      /* === Calculated values: 3-up compact grid === */
      .calc-grid {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
        gap: 5pt !important;
      }
      .calc-card {
        padding: 6pt !important;
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        background: white !important;
      }
      .calc-label { font-size: 7pt; margin-bottom: 3pt; color: #555; }
      .calc-value { font-size: 16pt !important; margin-bottom: 3pt; color: #000 !important; }
      .calc-value .unit { font-size: 7pt; }
      .calc-info { font-size: 7.5pt; margin-top: 3pt; padding-top: 3pt; line-height: 1.35; }
      .risk-badge {
        font-size: 7pt !important; padding: 1pt 5pt !important;
        margin-top: 2pt !important;
        border: 0.5pt solid #999;
        background: white !important;
        color: #000 !important;
      }

      /* === Integrated risk card — compact for print === */
      .integrated-risk-card {
        padding: 8pt !important;
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        background: white !important;
        margin-top: 6pt !important;
        page-break-inside: avoid;
      }
      .integrated-risk-card::before { display: none; }
      .irc-header { margin-bottom: 6pt !important; gap: 8pt !important; }
      .irc-eyebrow { font-size: 6.5pt; margin-bottom: 2pt; }
      .irc-title { font-size: 11pt; margin-bottom: 2pt; }
      .irc-confidence { font-size: 7pt; }
      .irc-band-badge {
        font-size: 7.5pt !important; padding: 2pt 8pt !important;
        background: white !important; color: #000 !important;
        border: 0.75pt solid #555 !important;
      }
      .irc-score-num { font-size: 6.5pt; }
      .irc-summary { font-size: 8pt; line-height: 1.45; margin-bottom: 6pt; }
      .irc-summary .irc-discord {
        background: white !important; border: 0.5pt solid #555;
        color: #000 !important; padding: 0.5pt 4pt; font-size: 6.5pt;
      }
      .irc-axes { gap: 4pt !important; margin-bottom: 6pt !important; }
      .irc-axis {
        padding: 4pt 6pt !important;
        background: white !important; border: 0.5pt solid #bbb !important;
      }
      .irc-axis-label { font-size: 6pt; margin-bottom: 2pt; }
      .irc-axis-value { font-size: 8.5pt; margin-bottom: 3pt; }
      .irc-axis-value .irc-axis-source { font-size: 6.5pt; margin-top: 1pt; }
      .irc-axis-pill {
        font-size: 6.5pt !important; padding: 0.5pt 4pt !important;
        background: white !important; color: #000 !important;
        border: 0.5pt solid #999 !important;
      }
      .irc-nudge {
        background: white !important; border: 0.5pt solid #999;
        border-left: 1.5pt solid #555 !important;
        padding: 4pt 6pt !important; font-size: 7.5pt; margin-bottom: 4pt;
        color: #000 !important;
      }
      /* Hide the collapsible explainer in print — saves space, and the
         summary + axes already give the user the headline picture. */
      .irc-explainer { display: none !important; }

      /* Remnant explainer also hidden in print — the new 5th calc-card
         already shows the number and band; the educational depth is for
         on-screen exploration, not the clinical handout. */
      .remnant-panel { display: none !important; }

      /* === Statin alternative pathway: PRINT when active === */
      .stat-alt {
        padding: 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        margin-top: 6pt !important;
      }
      .stat-alt-eyebrow {
        background: white !important; color: #000 !important;
        font-size: 7pt !important; padding: 0 !important;
      }
      .stat-alt h3 { font-size: 11pt; color: #000 !important; margin-bottom: 4pt; }
      .stat-alt > p { font-size: 8.5pt; margin-bottom: 6pt; }
      .alt-options {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 5pt !important;
      }
      .alt-option {
        padding: 5pt !important;
        border: 0.5pt solid #bbb !important;
        background: white !important;
        page-break-inside: avoid !important;
      }
      .alt-option h5 { font-size: 9pt; color: #000 !important; margin-bottom: 2pt; }
      .alt-option .mech {
        font-size: 7pt !important; color: #555 !important;
        margin-bottom: 3pt; letter-spacing: 0.04em;
      }
      .alt-option p { font-size: 7.5pt; line-height: 1.4; }

      /* === Multivitamin guidance panel: keep — clinical reference === */
      .multi-guide {
        padding: 0 !important;
        margin-bottom: 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        box-shadow: none !important;
        page-break-inside: auto !important;
      }
      .multi-guide-icon { display: none !important; }
      .multi-guide-header {
        padding: 5pt 8pt !important;
        cursor: default !important;
      }
      .multi-guide-header h3 { font-size: 10pt !important; color: #000 !important; margin-bottom: 2pt !important; }
      .multi-guide-header h3 small { font-size: 7.5pt !important; }
      /* Force the body to be visible in print regardless of open/closed state */
      .multi-guide-body {
        display: block !important;
        padding: 4pt 8pt 6pt !important;
        border-top: 0.5pt solid #ccc !important;
      }
      .multi-guide-intro {
        font-size: 7.5pt !important;
        line-height: 1.4 !important;
        padding-top: 4pt !important;
        margin-bottom: 4pt !important;
      }
      .multi-guide-group {
        padding: 5pt 8pt !important;
        margin-bottom: 4pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        page-break-inside: avoid !important;
      }
      .multi-guide-group h4 {
        font-size: 8.5pt !important;
        color: #000 !important;
        margin-bottom: 3pt !important;
      }
      .multi-item-list li {
        font-size: 7pt !important;
        padding: 2pt 0 2pt 14pt !important;
        line-height: 1.4 !important;
      }
      .multi-item-list li::before {
        font-size: 8pt !important;
        color: #000 !important;
        top: 2pt !important;
      }
      .multi-item-list li strong { font-size: 7.5pt !important; }
      .multi-warning-box {
        padding: 3pt 6pt !important;
        margin-top: 3pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 1.5pt solid #555 !important;
        font-size: 7pt !important;
        line-height: 1.4 !important;
        color: #000 !important;
      }

      /* === Supplement tiers === */
      .tier {
        padding: 8pt !important;
        margin-bottom: 8pt !important;
        border: 0.5pt solid #aaa !important;
        background: white !important;
        box-shadow: none !important;
        page-break-inside: auto !important;
        break-inside: auto !important;
        border-top: 2pt solid #555 !important;
      }
      .tier-title { font-size: 12pt !important; color: #000 !important; }
      .tier-badge { font-size: 7pt; border: 0.5pt solid #999; background: white !important; color: #000 !important; }
      .tier-desc { font-size: 8.5pt; margin-bottom: 5pt; padding-bottom: 4pt; }

      .supp-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 5pt !important;
      }
      .supp-card {
        padding: 6pt !important;
        border: 0.5pt solid #bbb !important;
        box-shadow: none !important;
        background: white !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
      }
      .supp-name { font-size: 10pt !important; }
      .supp-name small { font-size: 7.5pt; }
      .supp-tag {
        font-size: 7pt !important; padding: 1pt 4pt !important;
        border: 0.5pt solid #999;
        background: white !important; color: #000 !important;
      }
      .supp-dose {
        font-size: 8.5pt !important; padding: 3pt 5pt !important;
        background: #f4f4f4 !important; color: #000 !important;
        border: 0.5pt solid #ccc !important; margin-bottom: 4pt !important;
      }
      .supp-rationale { font-size: 8pt; line-height: 1.4; margin-bottom: 4pt; }
      .supp-effect {
        background: #f4f4f4 !important; padding: 3pt 5pt !important;
        margin-bottom: 4pt !important; border: 0.5pt solid #ccc !important;
      }
      .supp-effect-label { font-size: 7pt; }
      .supp-effect-val { font-size: 10pt !important; color: #000 !important; }
      .supp-effect-detail { font-size: 7.5pt; }
      .supp-footer { padding-top: 3pt; }
      .ev-pill {
        font-size: 7pt; padding: 1pt 4pt; border: 0.5pt solid #999;
        background: white !important; color: #000 !important;
      }

      /* === Projection: 3-up compact, both scenarios === */
      .proj-scenario {
        padding: 6pt 8pt !important;
        margin-bottom: 6pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
      }
      .proj-scenario-combined {
        background: white !important;
        border-left: 2pt solid #000 !important;
      }
      .proj-scenario-exercise {
        background: white !important;
        border-left: 2pt solid #000 !important;
      }
      .proj-scenario-head {
        margin-bottom: 5pt !important;
        padding-bottom: 4pt !important;
        gap: 6pt !important;
      }
      .proj-scenario-num {
        width: 16pt !important; height: 16pt !important;
        font-size: 9pt !important;
        background: white !important; color: #000 !important;
        border: 0.5pt solid #555 !important;
      }
      .proj-scenario-combined .proj-scenario-num {
        background: #000 !important; color: white !important;
        border: none !important;
      }
      .proj-scenario-exercise .proj-scenario-num {
        background: #000 !important; color: white !important;
        border: none !important;
      }
      .proj-scenario-title { font-size: 9pt !important; color: #000 !important; margin-bottom: 2pt !important; }
      .proj-scenario-title em { color: #000 !important; }
      .proj-scenario-desc { font-size: 7.5pt !important; line-height: 1.4 !important; }
      .proj-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 5pt !important; }
      .proj-card { padding: 6pt !important; background: white !important; border: 0.5pt solid #aaa !important; }
      .proj-card.proj-card-combined {
        background: #f4f4f4 !important;
        border: 0.5pt solid #555 !important;
      }
      .proj-card.proj-card-exercise {
        background: #e8e8e8 !important;
        border: 0.5pt solid #555 !important;
      }
      .proj-label { font-size: 7pt; margin-bottom: 3pt; }
      .proj-current { font-size: 9pt; }
      .proj-future { font-size: 16pt !important; color: #000 !important; }
      .proj-band {
        font-size: 7pt !important;
        padding: 1pt 5pt !important;
        margin: 3pt 0 !important;
        background: white !important;
        color: #000 !important;
        border: 0.5pt solid #555 !important;
      }
      .proj-change { font-size: 8pt; color: #000 !important; }
      .proj-footnote {
        padding: 4pt 8pt !important;
        background: white !important;
        border: 0.5pt solid #aaa !important;
        font-size: 7pt !important;
        line-height: 1.4 !important;
        color: #000 !important;
        margin-top: 4pt !important;
      }
      .proj-footnote strong, .proj-footnote em { color: #000 !important; }

      /* === Nutrition section — keep cards + table === */
      .nutrition-grid {
        grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
        gap: 4pt !important;
      }
      .nut-card {
        padding: 6pt !important;
        border: 0.5pt solid #aaa !important;
        background: white !important;
        page-break-inside: avoid !important;
      }
      /* Tightened/elevated nut cards in print: monochrome with a heavier left border */
      .nut-card.tightened,
      .nut-card.elevated {
        background: white !important;
        border-left: 2pt solid #000 !important;
      }
      .nut-card.tightened .nut-value,
      .nut-card.elevated .nut-value,
      .nut-card.tightened .nut-note,
      .nut-card.elevated .nut-note { color: #000 !important; }
      .nut-card.tightened::before,
      .nut-card.elevated::before {
        font-size: 9pt !important;
        color: #000 !important;
        top: 2pt !important; right: 4pt !important;
      }
      .nut-icon { font-size: 14pt !important; margin-bottom: 3pt; }
      .nut-label { font-size: 7pt; margin-bottom: 2pt; }
      .nut-value { font-size: 14pt !important; color: #000 !important; }
      .nut-value small { font-size: 7pt; }
      .nut-note { font-size: 7pt; margin-top: 2pt; }
      /* Why-this-changed rationale callout in print */
      .nutrition-rationale {
        background: white !important;
        border: 0.5pt solid #aaa !important;
        border-left: 2pt solid #555 !important;
        padding: 6pt 8pt !important;
        margin-top: 6pt !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
      }
      .nutrition-rationale h5 {
        font-size: 9pt !important;
        color: #000 !important;
        margin-bottom: 3pt !important;
      }
      .nutrition-rationale li {
        font-size: 7.5pt !important;
        padding: 1pt 0 1pt 10pt !important;
        line-height: 1.4 !important;
        color: #000 !important;
      }
      .nutrition-rationale li::before { color: #000 !important; }
      .meal-breakdown {
        border: 0.5pt solid #aaa !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
      }
      .meal-table { font-size: 8.5pt !important; }
      .meal-table th, .meal-table td { padding: 4pt 8pt !important; }
      .meal-table td:first-child { font-size: 9pt !important; }

      /* === Disclaimer compact, NOT forced to new page === */
      .disclaimer {
        page-break-before: auto !important;
        padding: 8pt !important;
        margin: 8pt 0 !important;
        font-size: 7.5pt;
        background: white !important;
        border: 0.5pt solid #999 !important;
        color: #000 !important;
        line-height: 1.4;
      }
      .disclaimer h4 { font-size: 8.5pt; margin-bottom: 3pt; color: #000 !important; }

      /* === Universal: avoid breaks inside small atomic blocks === */
      .calc-card, .proj-card, .supp-card, .nut-card,
      .context-card, .tests-tier, .alt-option {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
      }

      /* === Force B&W links to look normal === */
      a { color: #000 !important; text-decoration: none !important; border-bottom: none !important; }

      /* ============================================================
         v3.2 ADDITIONS — keep the clinical handout clean & monochrome.
         The new banners are motivational/educational, so they are hidden
         in print; the one piece of genuinely useful reference data — the
         sugar-equivalents table — is kept, stripped to a clean B&W table
         (food · glycaemic load · teaspoon equivalent). The bar column is
         dropped because it relies on background colour, which browsers do
         not print by default.
         ============================================================ */
      .foundation-callout { display: none !important; }   /* "read this first" intro banner */
      .companion-banner { display: none !important; }   /* link to patient eating guide */
      .vigor-panel        { display: none !important; }   /* intensity detail — ex-grid already prints */
      .envload-panel      { display: none !important; }   /* environmental deep-dive (only in opted-in longevity) */

      /* Insulin "seed & soil" explainer — KEEP (core mechanism, GP-relevant) but render monochrome */
      .insulin-explainer {
        background: white !important; box-shadow: none !important;
        border: 0.5pt solid #aaa !important; border-left: 2pt solid #555 !important;
        border-radius: 0 !important; padding: 8pt !important; margin: 8pt 0 !important;
        page-break-inside: avoid !important; break-inside: avoid !important;
      }
      .insulin-explainer .ie-eyebrow {
        background: white !important; border: 0.5pt solid #888 !important; color: #000 !important;
        font-size: 7pt !important; padding: 1pt 5pt !important; margin-bottom: 4pt !important;
      }
      .insulin-explainer h3 { font-size: 11pt !important; color: #000 !important; margin-bottom: 4pt !important; }
      .insulin-explainer > p { font-size: 8.5pt !important; color: #000 !important; line-height: 1.45 !important; margin-bottom: 4pt !important; }
      .insulin-explainer > p em, .insulin-explainer > p strong { color: #000 !important; }
      .ie-grid { grid-template-columns: 1fr 1fr !important; gap: 5pt !important; margin: 6pt 0 !important; }
      .ie-card { border: 0.5pt solid #aaa !important; padding: 5pt 7pt !important; page-break-inside: avoid !important; }
      .ie-card .ie-num { color: #555 !important; font-size: 6.5pt !important; margin-bottom: 2pt !important; }
      .ie-card h4 { font-size: 8.5pt !important; color: #000 !important; margin-bottom: 2pt !important; }
      .ie-card p, .ie-card p strong { font-size: 7.5pt !important; color: #000 !important; line-height: 1.4 !important; }
      .ie-synthesis {
        background: white !important; color: #000 !important;
        border: 0.5pt solid #aaa !important; border-left: 2pt solid #555 !important;
        padding: 6pt 8pt !important; margin: 6pt 0 0 !important; font-size: 8pt !important; line-height: 1.45 !important;
      }
      .ie-synthesis strong, .ie-synthesis a { color: #000 !important; }
      .ie-honesty {
        background: white !important; border-left: 2pt solid #888 !important;
        padding: 5pt 8pt !important; font-size: 7.5pt !important; color: #000 !important; margin-top: 6pt !important;
      }
      .ie-honesty strong, .ie-honesty a { color: #000 !important; }
      .sugar-ref-grid, .sugar-blood-fact, .rs-tip,
      .sugar-caveat, .sugar-compare > p { display: none !important; }  /* keep only heading + table */
      .sugar-compare {
        background: white !important; box-shadow: none !important;
        border: 0.5pt solid #aaa !important; border-left: 2pt solid #555 !important;
        padding: 8pt !important; margin: 8pt 0 !important;
        page-break-inside: avoid !important; break-inside: avoid !important;
      }
      .sugar-compare h3 { font-size: 11pt !important; color: #000 !important; margin-bottom: 4pt !important; }
      .sugar-table-wrap { background: white !important; box-shadow: none !important; padding: 0 !important; overflow: visible !important; margin-top: 0 !important; }
      .sugar-table { min-width: 0 !important; font-size: 8pt !important; }
      .sugar-table th, .sugar-table td { padding: 3pt 6pt !important; color: #000 !important; border-bottom: 0.5pt solid #ccc !important; }
      .sugar-table .sugar-bar-cell { display: none !important; }   /* hide bar column (bg-colour won't print) */
      .sugar-table td.gl .gl-num { font-size: 9pt !important; color: #000 !important; }
      .sugar-table td.gl .gl-band { color: #555 !important; }
      .sugar-table td.tsp, .sugar-table td.tsp.is-high { color: #000 !important; }
    }
  
@media print {
    @page { margin: 14mm; }
    body { background:#fff !important; background-image:none !important; font-size:10.5pt; color:#000; }
    .topnav, .hero-meta, .portion-tool .age-chips, .filter-bar, .no-print { display:none !important; }
    .print-only { display:block; }
    .hero { padding:0 0 10pt; text-align:left; }
    .hero h1 { font-size:20pt; color:#000; }
    .hero h1 em { color:#000; font-style:italic; }
    .hero-eyebrow { color:#000; } .hero-eyebrow::before,.hero-eyebrow::after { background:#999; }
    section { padding:8pt 0; page-break-inside:auto; }
    .section-num { background:#000 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; width:30px; height:30px; font-size:14px; }
    .section-title { font-size:14pt; color:#000; }
    .callout, .card, .principle, .day, .swap, .myth, .bars-wrap, .ftable-wrap, .portion-tool { box-shadow:none !important; border:1px solid #bbb !important; background:#fff !important; color:#000 !important; page-break-inside:avoid; }
    .callout { background:#fff !important; border-left:4px solid #000 !important; }
    .portion-tool { background:#fff !important; color:#000 !important; }
    .portion-tool h3, .portion-tool .pt-sub, .portion-cell .pc-label, .portion-cell .pc-val, .portion-cell .pc-hand, .pt-note, .ht-readout, .slider-row label, .targets-head, .targets-head span, .portion-cell .pc-val .tq { color:#000 !important; }
    .portion-cell { background:#f4f4f4 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    .ht-readout small { color:#444 !important; }
    .day-head { background:#222 !important; color:#fff !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    .day-head .dn { color:#ddd !important; }
    .ftable thead th { background:#222 !important; color:#fff !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    .bar-fill, .bar-fill.med, .bar-fill.high, .bar-fill-sf { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    .fs-controls, .fs-count { display:none !important; }
    .fs-wrap { max-height:none !important; overflow:visible !important; border:1px solid #bbb !important; box-shadow:none !important; width:auto !important; max-width:none !important; }
    .fs-table { min-width:0 !important; width:auto !important; font-size:8.5pt !important; table-layout:auto !important; }
    .fs-table col { width:auto !important; }
    .fs-table thead th { position:static !important; background:#222 !important; color:#fff !important; }
    .fs-table tbody td:first-child { position:static !important; box-shadow:none !important; }
    .fs-table tbody td { padding:4px 5px !important; }
    .fs-bar { display:none !important; }
    .fs-q, .fs-ai, .fs-v, .fs-nv { background:none !important; color:#000 !important; padding:0 !important; font-weight:700; }
    .fs-v, .fs-carb, .fs-score, .fs-score b { color:#000 !important; }
    .plate { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    a { color:#000; text-decoration:none; }
    .footer { background:#fff; color:#444; border-top:1px solid #bbb; }
    .footer a { color:#000; }
  }

  @media (max-width:560px){
    .hero { padding:54px 0 36px; }
    .plate { width:160px; height:160px; }
    .ht-readout { text-align:left; min-width:0; }
  }
