/*
 * Gene Café JSON Roast Report — Styles
 * ──────────────────────────────────────
 * Scoped under .gcrf-report-app.
 * Inherits the same design language as the main range-finder
 * but stands alone — does not depend on gcrf-public.css.
 */

/* ── Reset ──────────────────────────────────────────────────────────────────── */

.gcrf-report-app *,
.gcrf-report-app *::before,
.gcrf-report-app *::after {
    box-sizing: border-box;
}

/* ── Custom properties ──────────────────────────────────────────────────────── */

.gcrf-report-app {
    /* ── Style guide tokens — Coffee | One Roast at a Time ── */
    --r-bg:           #f5f0ea;
    --r-paper:        #fdfaf6;
    --r-bg-card:      #fdfaf6;
    --r-bg-subtle:    #ede7dc;
    --r-card-alt:     #e8dfd3;
    --r-border:       #c9b8a8;
    --r-ink:          #3d2b1f;
    --r-heading:      #2c1a0e;
    --r-ink-muted:    #7a6155;
    --r-ink-faint:    #9e8878;
    --r-accent:       #6b3f1f;
    --r-accent-light: #9c6140;
    --r-accent-pale:  #f0e6d8;
    --r-success:      #2d4a26;
    --r-success-bg:   #e8f0e4;
    --r-success-border: #7a9e6e;
    --r-caution:      #5c2f12;
    --r-caution-bg:   #f5ede5;
    --r-caution-border: #b07050;
    --r-info:         #1a4a7a;
    --r-info-bg:      #e8f0fb;
    --r-radius:       3px;
    --r-radius-lg:    6px;
    --r-rule:         #c9b8a8;
    --r-font-head:    'Playfair Display', Georgia, 'Times New Roman', serif;
    --r-font:         'Source Sans 3', 'Source Sans Pro', system-ui, -apple-system,
                      BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    --r-shadow:       0 1px 4px rgba(60, 30, 10, 0.10);

    font-family:  var(--r-font);
    font-size:    1rem;
    line-height:  1.65;
    color:        var(--r-ink);
    background:   var(--r-bg);
    border-radius: var(--r-radius-lg);
    padding:      1rem;
    max-width:    700px;
    margin:       0 auto;
}

/* Google Fonts — Playfair Display + Source Sans 3 (non-blocking) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600&family=Source+Sans+3:wght@400;500;600&display=swap');

/* ── Cards ──────────────────────────────────────────────────────────────────── */

.gcrf-report-card {
    background:    var(--r-bg-card);
    border:        1px solid var(--r-border);
    border-radius: var(--r-radius-lg);
    padding:       1.25rem 1.5rem;
    margin-bottom: 1rem;
    box-shadow:    var(--r-shadow);
}

/* ── Typography ─────────────────────────────────────────────────────────────── */

.gcrf-report-heading {
    font-family: var(--r-font-head);
    font-size:   1.5rem;
    font-weight: 600;
    color:       var(--r-heading);
    margin:      0 0 0.5rem;
    line-height: 1.2;
}

.gcrf-report-subheading {
    font-size:      0.75rem;
    font-weight:    600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color:          var(--r-ink-muted);
    margin:         0 0 0.625rem;
}

.gcrf-report-intro {
    color:       var(--r-ink-muted);
    font-size:   0.9375rem;
    margin:      0 0 1rem;
}

.gcrf-report-intro--small {
    font-size: 0.875rem;
    color:     var(--r-ink-faint);
    margin:    0 0 0.75rem;
}

.gcrf-report-body {
    font-size:   0.9375rem;
    color:       var(--r-ink);
    margin:      0 0 0.75rem;
}

.gcrf-report-body:last-child { margin-bottom: 0; }

.gcrf-report-summary {
    font-size:   0.875rem;
    color:       var(--r-ink-muted);
    margin:      0;
}

.gcrf-report-hint {
    font-size:   0.8125rem;
    color:       var(--r-ink-faint);
    margin:      0.5rem 0 0;
}

.gcrf-report-caveat {
    font-size:   0.875rem;
    color:       var(--r-ink-muted);
    font-style:  italic;
    margin:      0;
    line-height: 1.5;
}

/* ── Section type colours ───────────────────────────────────────────────────── */

.gcrf-report-section--positive {
    border-left: 4px solid var(--r-success-border);
    background:  var(--r-success-bg);
}

.gcrf-report-section--positive .gcrf-report-subheading {
    color: var(--r-success);
}

.gcrf-report-section--caution {
    border-left: 4px solid var(--r-caution-border);
    background:  var(--r-caution-bg);
}

.gcrf-report-section--caution .gcrf-report-subheading {
    color: var(--r-caution);
}

.gcrf-report-section--info {
    border-left: 4px solid var(--r-rule);
    background:  var(--r-bg-subtle);
}

.gcrf-report-section--neutral {
    border-left: 4px solid var(--r-ink-faint);
}

.gcrf-report-section--milestones {
    border-left: 4px solid var(--r-accent);
}

.gcrf-report-section--milestones .gcrf-report-subheading {
    color: var(--r-accent);
}

.gcrf-report-section--wl_in_range  {
    border-left: 4px solid var(--r-success-border);
    background:  var(--r-success-bg);
}
.gcrf-report-section--wl_low  {
    border-left: 4px solid var(--r-info);
    background:  var(--r-info-bg);
}
.gcrf-report-section--wl_high {
    border-left: 4px solid var(--r-caution-border);
    background:  var(--r-caution-bg);
}

/* ── Upload panel ───────────────────────────────────────────────────────────── */

.gcrf-report-upload .gcrf-report-card {
    text-align: center;
}

.gcrf-report-dropzone {
    border:        2px dashed var(--r-border);
    border-radius: var(--r-radius-lg);
    padding:       2rem 1rem;
    margin:        1rem 0;
    cursor:        pointer;
    transition:    border-color 150ms ease, background 150ms ease;
}

.gcrf-report-dropzone:hover,
.gcrf-report-dropzone:focus-visible,
.gcrf-report-dropzone--over {
    border-color: var(--r-accent);
    background:   var(--r-accent-light);
    outline:      3px solid var(--r-accent);
    outline-offset: 2px;
}

.gcrf-report-dropzone-inner {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            0.5rem;
}

.gcrf-report-drop-icon {
    font-size:  2.5rem;
    line-height: 1;
}

.gcrf-report-drop-label {
    font-size:   1rem;
    font-weight: 500;
    color:       var(--r-ink);
    margin:      0;
}

.gcrf-report-drop-sub {
    font-size: 0.875rem;
    color:     var(--r-ink-faint);
    margin:    0;
}

/* ── Buttons ─────────────────────────────────────────────────────────────────── */

.gcrf-report-btn {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    font-family:     var(--r-font);
    font-size:       1rem;
    font-weight:     500;
    padding:         0.625rem 1.125rem;
    border-radius:   var(--r-radius);
    border:          2px solid transparent;
    cursor:          pointer;
    text-decoration: none;
    transition:      background 150ms ease, color 150ms ease, border-color 150ms ease;
    -webkit-appearance: none;
}

.gcrf-report-btn:focus-visible {
    outline:        3px solid var(--r-accent);
    outline-offset: 2px;
}

.gcrf-report-btn-primary {
    background:   var(--r-accent);
    color:        #fff;
    border-color: var(--r-accent);
}

.gcrf-report-btn-primary:hover {
    background:   #4e2c12;
    border-color: #4e2c12;
}

.gcrf-report-btn-secondary {
    background:   transparent;
    color:        var(--r-accent);
    border-color: var(--r-accent);
}

.gcrf-report-btn-secondary:hover {
    background: var(--r-accent-light);
}

.gcrf-report-btn--file {
    cursor: pointer;
}

.gcrf-report-btn--small {
    font-size: 0.875rem;
    padding:   0.375rem 0.75rem;
}

/* ── Header card ─────────────────────────────────────────────────────────────── */

.gcrf-report-header-card {
    background:  var(--r-card-alt);
    border-color: var(--r-rule);
}

.gcrf-report-header-row {
    display:         flex;
    align-items:     flex-start;
    justify-content: space-between;
    gap:             1rem;
    flex-wrap:       wrap;
}

.gcrf-report-header-row > div:first-child {
    flex:      1 1 18rem;
    min-width: 0;
}

/* ── Caveat card ─────────────────────────────────────────────────────────────── */

.gcrf-report-caveat-card {
    background: var(--r-bg-subtle);
    border:     1px solid var(--r-border);
}

/* ── Chart ───────────────────────────────────────────────────────────────────── */

.gcrf-report-chart-container {
    width:     100%;
    overflow-x: auto;
    margin:    0.75rem 0 0.5rem;
}

.gcrf-report-chart-container canvas {
    display:    block;
    width:      100%;
    max-width:  100%;
    height:     auto;
    min-height: 120px;
}

.gcrf-report-chart-note {
    font-size:  0.8125rem;
    color:      var(--r-ink-faint);
    font-style: italic;
    margin:     0;
}

/* ── Error ───────────────────────────────────────────────────────────────────── */

.gcrf-report-error {
    background:    #fdf0f0;
    border:        1px solid #8b2020;
    border-radius: var(--r-radius);
    padding:       0.625rem 1rem;
    margin-top:    0.75rem;
    color:         #8b2020;
    font-size:     0.875rem;
    text-align:    left;
}

.gcrf-report-error-msg { margin: 0; }

/* ── Loading ─────────────────────────────────────────────────────────────────── */

.gcrf-report-loading {
    text-align: center;
    padding:    2rem;
    color:      var(--r-ink-muted);
    font-size:  0.9375rem;
}

/* ── Footer ──────────────────────────────────────────────────────────────────── */

.gcrf-report-footer-card {
    background: transparent;
    border:     none;
    box-shadow: none;
    padding:    0.25rem 0;
    text-align: center;
}

.gcrf-report-version-tag {
    font-size:      0.65rem;
    color:          var(--r-ink-faint);
    opacity:        0.7;
    letter-spacing: 0.03em;
    margin:         0;
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */

@media (min-width: 480px) {
    .gcrf-report-app {
        padding: 1.5rem;
    }
}

/* ── Print ───────────────────────────────────────────────────────────────────── */



/* ── Reduced motion ──────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
    .gcrf-report-btn,
    .gcrf-report-dropzone { transition: none; }
}

/* ── New elements ────────────────────────────────────────────────────────────── */

.gcrf-report-header-actions {
    display:        flex;
    flex-direction: row;
    flex-wrap:      wrap;
    gap:            0.5rem;
    flex-shrink:    1;
    width:          100%;
    max-width:      100%;
    min-width:      0;
}

.gcrf-report-header-actions .gcrf-report-btn {
    flex:        1 1 10.5rem;
    min-width:   0;
    max-width:   100%;
    text-align:  center;
    white-space: normal;
}

.gcrf-report-btn-ghost {
    background:   transparent;
    color:        var(--r-ink-muted);
    border-color: var(--r-border);
}

.gcrf-report-btn-ghost:hover {
    background: var(--r-bg-subtle);
    color:      var(--r-ink);
}

/* Donate card */
.gcrf-report-donate-card {
    background: var(--r-bg-subtle);
}

.gcrf-report-donate-actions {
    display:        flex;
    flex-direction: column;
    gap:            0.5rem;
    margin-top:     1rem;
}

.gcrf-report-donate-result {
    margin-top:  0.75rem;
    font-size:   0.875rem;
    color:       var(--r-success);
    font-style:  italic;
}

/* No-reference notice */
.gcrf-report-no-reference-card {
    background:  var(--r-bg-subtle);
    border:      1px solid var(--r-border);
    box-shadow:  none;
}

/* Small print */
.gcrf-report-small-print {
    font-size:   0.8125rem;
    color:       var(--r-ink-faint);
    line-height: 1.5;
    margin:      0 0 0.5rem;
}

.gcrf-report-small-print:last-child { margin-bottom: 0; }

/* Responsive: side-by-side donate buttons on wider screens */
@media (min-width: 480px) {
    .gcrf-report-donate-actions {
        flex-direction: row;
        flex-wrap:      wrap;
    }
    .gcrf-report-donate-actions .gcrf-report-btn {
        flex: 1 1 auto;
    }
    .gcrf-report-header-actions {
        flex-direction: row;
        align-items:    stretch;
        flex-wrap:      wrap;
    }
}

/* ── Print / Save as PDF ─────────────────────────────────────────────────────
   Goals:
   • Hide all WordPress/theme site chrome (header, nav, footer, widgets)
   • Hide non-report UI (upload, donate, analyse-another)
   • Start cleanly with report header
   • Target ~2 pages: page 1 = summary + graphs, page 2 = data + notes
   ──────────────────────────────────────────────────────────────────────────── */
@media print {

    /* 1. Hide WordPress site chrome — theme-agnostic selectors */
    header, #header, .site-header, #site-header,
    .wp-block-template-part,
    nav, #nav, .nav, .site-nav, #site-nav, .navigation,
    .main-navigation, #main-navigation,
    .primary-navigation, #primary-navigation,
    footer, #footer, .site-footer, #site-footer,
    aside, .sidebar, #sidebar, .widget-area,
    .search-form, #search-form, .wp-block-search,
    .admin-bar, #wpadminbar, .skip-link,
    .wp-site-blocks > header,
    .wp-site-blocks > footer,
    .wp-site-blocks > nav,
    [class*="site-header"], [class*="site-footer"],
    [id*="site-header"], [id*="site-footer"],
    .entry-header, .entry-footer, .post-navigation,
    .comments-area, .comment-respond,
    .breadcrumb, .breadcrumbs { display: none !important; }

    /* 2. Reset page layout */
    * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    html, body { background: #fff !important; margin: 0 !important; padding: 0 !important; font-size: 10pt; }
    .wp-site-blocks, .entry-content, .page-content,
    main, #main, #content, #primary,
    .site-content, #site-content,
    .wp-block-post-content {
        max-width: 100% !important; width: 100% !important;
        margin: 0 !important; padding: 0 !important; float: none !important;
    }

    /* 3. Hide non-report UI */
    .gcrf-report-upload, .gcrf-report-loading,
    #gcrf-report-reset, #gcrf-report-print-btn,
    .gcrf-report-header-actions,
    .gcrf-report-donate-card,
    .gcrf-report-no-reference-card,
    #gcrf-app, .gcrf-app { display: none !important; }

    /* 4. Report app print styles */
    .gcrf-report-app { max-width: 100%; padding: 0; background: #fff; font-size: 10pt; line-height: 1.45; }
    .gcrf-report-card { box-shadow: none; border: 1px solid #ccc; padding: 0.55rem 0.75rem; margin-bottom: 0.45rem; break-inside: avoid; }
    .gcrf-report-header-card { background: #f0e8de !important; border-color: #c8a882 !important; break-after: avoid; }
    .gcrf-report-caveat-card { background: #f5f5f5 !important; break-after: avoid; }
    #gcrf-report-output { display: block !important; }

    /* 5. Page-break hints */
    #gcrf-report-et-chart-card, #gcrf-report-et30-chart-card { break-inside: avoid; }
    #gcrf-report-preview { break-before: page; }
    .gcrf-report-section { break-inside: avoid; margin-bottom: 0.35rem; }
    .gcrf-report-footer-card { break-before: avoid; }

    /* 6. Canvas sizing */
    canvas { max-width: 100% !important; height: auto !important; }
    #gcrf-report-et-chart { max-height: 180px; }
    #gcrf-report-et30-chart { max-height: 70px; }

    /* 7. Typography */
    .gcrf-report-heading { font-size: 14pt; }
    .gcrf-report-subheading { font-size: 9pt; }
    .gcrf-report-body { font-size: 9pt; margin-bottom: 0.25rem; }
    .gcrf-report-caveat { font-size: 8pt; }
    .gcrf-report-summary { font-size: 9pt; }
    .gcrf-report-chart-explain { font-size: 8.5pt; margin-bottom: 0.25rem; }
    .gcrf-report-chart-note { font-size: 8pt; font-style: italic; }
    .gcrf-report-preview-table th,
    .gcrf-report-preview-table td { font-size: 8.5pt; padding: 0.12rem 0.3rem; }
    .gcrf-report-version-tag { font-size: 7pt; }
}

/* ── Extracted data preview table ───────────────────────────────────────────── */

.gcrf-report-preview-table {
    width:           100%;
    border-collapse: collapse;
    font-size:       0.875rem;
    margin-top:      0.25rem;
}

.gcrf-report-preview-table th,
.gcrf-report-preview-table td {
    padding:      0.3rem 0.5rem;
    text-align:   left;
    border-bottom: 1px solid var(--r-border);
    vertical-align: top;
}

.gcrf-report-preview-table th {
    color:       var(--r-ink-muted);
    font-weight: 500;
    width:        45%;
}

.gcrf-report-preview-table td {
    font-weight: 600;
    color:       var(--r-ink);
    font-variant-numeric: tabular-nums;
}

.gcrf-report-preview-table tr:last-child th,
.gcrf-report-preview-table tr:last-child td {
    border-bottom: none;
}

.gcrf-report-no-reference-card {
    border-color: #e8c840;
    background:   #fff8e1;
}

.gcrf-report-no-reference-card .gcrf-report-small-print {
    color: var(--r-caution);
}

/* ── Chart explanation paragraphs (above graphs per Issue 4 ordering) ─────── */
.gcrf-report-chart-explain {
    font-size:   0.9375rem;
    color:       var(--r-ink-muted);
    margin:      0.25rem 0 0.625rem;
    line-height: 1.5;
}

/* ── Brand header and footer (injected by JS into PDF clone) ─────────────────── */

.gcrf-report-brand-header {
    padding:       0 0 0.75rem;
    margin-bottom: 1rem;
}

.gcrf-report-brand-header-inner {
    display:         flex;
    justify-content: space-between;
    align-items:     flex-start;
    gap:             1rem;
    margin-bottom:   0.625rem;
}

.gcrf-report-brand-pub {
    font-family:    var(--r-font-head);
    font-size:      0.9375rem;
    font-weight:    600;
    color:          var(--r-heading);
    letter-spacing: 0.01em;
}

.gcrf-report-brand-meta {
    font-size:  0.8125rem;
    color:      var(--r-ink-muted);
    text-align: right;
    line-height: 1.4;
}

.gcrf-report-brand-generated {
    display:    block;
    font-size:  0.75rem;
    color:      var(--r-ink-faint);
}

.gcrf-report-brand-rule {
    border:      none;
    border-top:  2px solid var(--r-accent);
    margin:      0 0 0.875rem;
}

.gcrf-report-brand-title {
    font-family:  var(--r-font-head);
    font-size:    1.625rem;
    font-weight:  600;
    color:        var(--r-heading);
    margin:       0 0 0.25rem;
    line-height:  1.2;
}

.gcrf-report-brand-subtitle {
    font-size:  0.9375rem;
    color:      var(--r-ink-muted);
    margin:     0;
}

.gcrf-report-brand-footer {
    margin-top: 1.5rem;
    padding-top: 0.75rem;
}

.gcrf-report-brand-footer-inner {
    display:         flex;
    justify-content: space-between;
    gap:             1rem;
    font-size:       0.8125rem;
    color:           var(--r-ink-muted);
    flex-wrap:       wrap;
}

.gcrf-report-brand-footer-note {
    font-size:   0.75rem;
    color:       var(--r-ink-faint);
    font-style:  italic;
    margin:      0.375rem 0 0;
}

/* ── Donate result status messages ───────────────────────────────────────────── */

.gcrf-report-donate-result {
    margin-top:  0.75rem;
    padding:     0.625rem 0.875rem;
    border-radius: var(--r-radius);
    font-size:   0.9rem;
    line-height: 1.5;
}

.gcrf-report-donate-result p { margin: 0 0 0.25rem; }
.gcrf-report-donate-result p:last-child { margin-bottom: 0; }

.gcrf-report-donate-result--success {
    background:  var(--r-success-bg);
    border:      1px solid var(--r-success-border);
    color:       var(--r-success);
}

.gcrf-report-donate-result--neutral {
    background:  var(--r-bg-subtle);
    border:      1px solid var(--r-rule);
    color:       var(--r-ink-muted);
}

.gcrf-report-donate-result--error {
    background:  var(--r-caution-bg);
    border:      1px solid var(--r-caution-border);
    color:       var(--r-caution);
}

/* ── Donate card brand styling ───────────────────────────────────────────────── */
.gcrf-report-donate-card {
    background: var(--r-bg-subtle);
    border-color: var(--r-rule);
}

/* ── No-reference notice ─────────────────────────────────────────────────────── */
.gcrf-report-no-reference-card {
    border-color: var(--r-caution-border);
    background:   var(--r-caution-bg);
}
.gcrf-report-no-reference-card .gcrf-report-small-print {
    color: var(--r-caution);
}

/* Print: update brand header for paper */
@media print {
    .gcrf-report-brand-title { font-size: 16pt; }
    .gcrf-report-brand-pub   { font-size: 11pt; }
}

/* ── JSON contribution counter (upload panel) ────────────────────────────── */
.gcrf-report-json-counter {
    font-size:   0.8125rem;
    color:       var(--r-ink-faint);
    text-align:  center;
    margin:      0.25rem 0 0;
    font-style:  italic;
}

/* ── Upload panel version tag ────────────────────────────────────────────── */
.gcrf-report-upload-version {
    text-align:  center;
    margin:      0.5rem 0 0;
}

/* ── Beta / experimental report sections ─────────────────────────────── */
.gcrf-report-internal-badge {
    max-width: 36rem;
    margin: 0.75rem auto 0;
    padding: 0.5rem 0.75rem;
    border: 1px dashed var(--r-caution-border);
    border-radius: var(--r-radius);
    background: var(--r-caution-bg);
    color: var(--r-caution);
    font-size: 0.8125rem;
    text-align: center;
}

.gcrf-report-section--experimental {
    border-style: dashed;
}

.gcrf-report-eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--r-ink-faint);
    font-weight: 700;
}


.gcrf-report-so-what-box {
    margin: 0.85rem 0;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--r-caution-border);
    border-left: 4px solid var(--r-caution-border);
    border-radius: var(--r-radius);
    background: var(--r-caution-bg);
}

.gcrf-report-so-what-title {
    margin: 0 0 0.35rem;
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--r-caution);
}

.gcrf-report-so-what-body {
    margin: 0;
    color: var(--r-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.gcrf-report-pace-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.75rem 0;
    font-size: 0.88rem;
}

.gcrf-report-pace-table th,
.gcrf-report-pace-table td {
    border-bottom: 1px solid var(--r-rule);
    padding: 0.45rem 0.4rem;
    text-align: left;
    vertical-align: top;
}

.gcrf-report-pace-table th {
    color: var(--r-ink-muted);
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gcrf-report-muted {
    color: var(--r-ink-muted);
    font-size: 0.88rem;
}

/* ── Contribution quality review ───────────────────────────────────────────── */
.gcrf-report-quality-review {
    margin: 1rem 0;
    padding: 0.75rem 0.875rem;
    border: 1px solid var(--r-caution-border);
    border-radius: var(--r-radius);
    background: var(--r-caution-bg);
}

.gcrf-report-quality-title {
    margin: 0 0 0.35rem;
    font-family: var(--r-font-head);
    color: var(--r-heading);
    font-size: 1rem;
}

.gcrf-report-quality-intro,
.gcrf-report-quality-detail {
    margin: 0 0 0.5rem;
    color: var(--r-ink-muted);
    line-height: 1.45;
    font-size: 0.9rem;
}

.gcrf-report-quality-item {
    margin-top: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-radius: var(--r-radius);
    background: var(--r-card);
    border-left: 4px solid var(--r-rule);
}

.gcrf-report-quality-item--caution { border-left-color: var(--r-caution-border); }
.gcrf-report-quality-item--info    { border-left-color: var(--r-accent); }

.gcrf-report-quality-heading {
    margin: 0 0 0.2rem;
    font-weight: 700;
    color: var(--r-heading);
}

.gcrf-report-quality-question {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: var(--r-ink);
}

.gcrf-report-quality-question select {
    max-width: 20rem;
    padding: 0.35rem 0.5rem;
}


/* Embedded release-note card ------------------------------------------------ */
.gcrf-report-release-note-card {
    margin-top: 1.25rem;
    border-style: dashed;
    background: rgba(255, 252, 247, 0.78);
}

.gcrf-report-release-note-kicker {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--r-muted);
    margin-bottom: 0.25rem;
    font-weight: 700;
}

.gcrf-report-release-meta {
    margin: -0.15rem 0 0.75rem;
    color: var(--r-muted);
    font-size: 0.9rem;
}

.gcrf-report-release-details {
    margin-top: 0.65rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--r-border);
}

.gcrf-report-release-details summary {
    cursor: pointer;
    color: var(--r-heading);
    font-weight: 700;
}

.gcrf-report-release-details ul {
    margin: 0.45rem 0 0 1.25rem;
    padding: 0;
}

.gcrf-report-release-details li {
    margin-bottom: 0.25rem;
}

/* ── Fan / motor speed timeline ───────────────────────────────────────────── */
#gcrf-report-speed-chart-card .gcrf-report-chart-container canvas {
    min-height: 92px;
}

/* ── Two-roast comparison ─────────────────────────────────────────── */
.gcrf-report-compare-output[hidden] {
    display: none !important;
}

.gcrf-report-compare-card {
    border-left: 4px dashed var(--r-accent-light);
}

.gcrf-report-compare-summary-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 0.9rem 0;
}

@media (min-width: 620px) {
    .gcrf-report-compare-summary-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.gcrf-report-compare-mini-card {
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius);
    background: var(--r-bg-subtle);
    padding: 0.75rem 0.85rem;
}

.gcrf-report-compare-mini-card h4,
.gcrf-report-compare-what-changed h4,
.gcrf-report-compare-chart-block h4 {
    margin: 0 0 0.35rem;
    color: var(--r-accent);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.gcrf-report-compare-title {
    margin: 0 0 0.25rem;
    color: var(--r-heading);
    font-weight: 700;
    line-height: 1.35;
}

.gcrf-report-compare-meta {
    margin: 0;
    color: var(--r-ink-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.gcrf-report-compare-what-changed {
    margin: 0.85rem 0;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--r-border);
    border-left: 4px solid var(--r-accent-light);
    border-radius: var(--r-radius);
    background: var(--r-bg-subtle);
}

.gcrf-report-compare-what-changed ul {
    margin: 0.35rem 0 0;
    padding-left: 1.2rem;
    color: var(--r-ink);
    font-size: 0.92rem;
    line-height: 1.55;
}

.gcrf-report-compare-what-changed li {
    margin: 0.15rem 0;
}

.gcrf-report-compare-chart-block {
    margin: 1rem 0;
    padding-top: 0.25rem;
}

.gcrf-report-compare-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.9rem 0;
}

.gcrf-report-compare-actions .gcrf-report-btn {
    flex: 1 1 12rem;
}

@media print {
    .gcrf-report-compare-actions { display: none !important; }
    .gcrf-report-compare-summary-grid { grid-template-columns: 1fr 1fr; gap: 0.35rem; }
    .gcrf-report-compare-mini-card,
    .gcrf-report-compare-what-changed,
    .gcrf-report-so-what-box { padding: 0.45rem 0.55rem; }
    .gcrf-report-compare-chart-block { break-inside: avoid; margin: 0.4rem 0; }
}

/* ── Roast Plan Helper foundation ─────────────────────────────── */
.gcrf-plan-helper-card {
    border-left: 4px solid var(--r-info);
    background: var(--r-info-bg);
}

.gcrf-plan-helper-eyebrow {
    display: inline-block;
    margin: 0 0 0.5rem;
}

.gcrf-plan-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 1rem 0 0.75rem;
}

.gcrf-plan-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    color: var(--r-ink-muted);
    font-size: 0.8125rem;
    font-weight: 600;
}

.gcrf-plan-field input,
.gcrf-plan-field select {
    width: 100%;
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius);
    background: var(--r-paper);
    color: var(--r-ink);
    padding: 0.5rem 0.55rem;
    font: inherit;
    font-weight: 400;
}

.gcrf-plan-checkbox {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    padding-top: 1.45rem;
}

.gcrf-plan-checkbox input { width: auto; }

.gcrf-plan-actions {
    margin: 0.75rem 0 0;
}

.gcrf-plan-output {
    margin-top: 1rem;
}

.gcrf-plan-result-card {
    border: 1px solid var(--r-border);
    border-left: 4px solid var(--r-accent);
    border-radius: var(--r-radius-lg);
    background: var(--r-paper);
    padding: 1rem;
}

.gcrf-plan-result-card h4,
.gcrf-plan-result-card h5 {
    margin: 0 0 0.4rem;
    color: var(--r-accent);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.gcrf-plan-result-summary {
    margin: 0 0 0.75rem;
    color: var(--r-ink-muted);
    font-size: 0.875rem;
}

.gcrf-plan-key-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    margin: 0.75rem 0;
}

.gcrf-plan-key {
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius);
    background: var(--r-bg-card);
    padding: 0.5rem 0.6rem;
}

.gcrf-plan-key-label {
    display: block;
    color: var(--r-ink-faint);
    font-size: 0.75rem;
    line-height: 1.3;
}

.gcrf-plan-key strong {
    display: block;
    color: var(--r-heading);
    font-size: 0.95rem;
    line-height: 1.25;
}

.gcrf-plan-table {
    background: var(--r-bg-card);
}

.gcrf-plan-explain-box,
.gcrf-plan-warning-box {
    margin: 0.75rem 0;
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius);
    background: var(--r-bg-card);
    padding: 0.65rem 0.75rem;
}

.gcrf-plan-explain-box--watch {
    border-left: 4px solid var(--r-info);
}

.gcrf-plan-warning-box {
    border-left: 4px solid var(--r-caution-border);
    background: var(--r-caution-bg);
}

.gcrf-plan-explain-box p,
.gcrf-plan-warning-box p {
    margin: 0;
    font-size: 0.875rem;
    color: var(--r-ink);
}

.gcrf-plan-explain-box ul,
.gcrf-plan-warning-box ul {
    margin: 0.25rem 0 0;
    padding-left: 1.1rem;
    font-size: 0.875rem;
    color: var(--r-ink);
}

@media (min-width: 620px) {
    .gcrf-plan-grid {
        grid-template-columns: 1fr 1fr;
    }
    .gcrf-plan-key-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media print {
    .gcrf-plan-helper-card {
        display: none !important;
    }
}


.gcrf-plan-actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    align-items: center;
}

.gcrf-bean-cue-row {
    margin: 0.75rem 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius);
    background: var(--r-bg-card);
}
.gcrf-bean-cue-title {
    margin: 0 0 0.45rem;
    color: var(--r-accent);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.gcrf-bean-cue-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
    gap: 0.45rem;
}
.gcrf-bean-cue-item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}
.gcrf-bean-icon {
    position: relative;
    flex: 0 0 auto;
    display: inline-block;
    width: 1.05rem;
    height: 1.42rem;
    border-radius: 58% 42% 58% 42%;
    transform: rotate(-16deg);
    box-shadow: inset -0.12rem -0.12rem 0 rgba(0,0,0,0.16), 0 0 0 1px rgba(0,0,0,0.15);
}
.gcrf-bean-icon::after {
    content: '';
    position: absolute;
    left: 48%;
    top: 0.16rem;
    width: 0.12rem;
    height: 1.05rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.55);
    transform: rotate(10deg);
}
.gcrf-bean-icon--green { background: #91a861; }
.gcrf-bean-icon--yellow { background: #d8c84d; }
.gcrf-bean-icon--tan { background: #c69a60; }
.gcrf-bean-icon--light-brown { background: #9a6738; }
.gcrf-bean-icon--brown { background: #624020; }
.gcrf-bean-cue-label {
    color: var(--r-ink-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}
.gcrf-bean-cue-note {
    margin-top: 0.45rem;
}

.gcrf-live-helper-card {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #d8c9b9;
    border-left: 4px solid var(--r-info);
    border-radius: var(--r-radius-lg);
    background: #fffaf3;
}
.gcrf-live-helper-card h4,
.gcrf-live-helper-card h5 {
    margin: 0 0 0.45rem;
    color: var(--r-accent);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.gcrf-live-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
    gap: 0.6rem;
    margin: 0.8rem 0;
}
.gcrf-live-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    color: var(--r-ink-muted);
    font-size: 0.8125rem;
    font-weight: 600;
}
.gcrf-live-field input {
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius);
    background: var(--r-paper);
    color: var(--r-ink);
    padding: 0.5rem 0.55rem;
    font: inherit;
    font-weight: 400;
}
.gcrf-live-actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin: 0.4rem 0 0.7rem;
}
.gcrf-live-result {
    margin-top: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius);
    background: var(--r-bg-card);
}
.gcrf-live-result p { margin: 0 0 0.45rem; }
.gcrf-live-cooling-target { font-weight: 700; color: var(--r-heading); }
.gcrf-live-table { margin-top: 0.6rem; }

@media print {
    .gcrf-live-helper-card,
    #gcrf-plan-print,
    #gcrf-plan-print-full {
        display: none !important;
    }
}


.gcrf-print-checkpoints {
    margin: 1rem 0;
    padding: 0.85rem;
    border: 1px solid #d8c9b9;
    border-radius: 12px;
    background: #fffaf3;
}
.gcrf-print-checkpoints h4 {
    margin: 0 0 0.45rem;
    color: var(--r-accent);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.gcrf-print-blank {
    min-width: 5.5rem;
    height: 1.35rem;
    border-bottom: 1px solid #bda996;
}

/* ── Beta: Similar Roast Context ─────────────────────────────── */
.gcrf-plan-similar-card {
    break-inside: avoid;
    page-break-inside: avoid;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #d8c9b9;
    border-radius: 14px;
    background: #fffaf3;
}
.gcrf-plan-similar-card--loading,
.gcrf-plan-similar-card--unavailable {
    background: #fbf7ef;
}
.gcrf-plan-similar-list {
    display: grid;
    gap: 0.9rem;
    margin-top: 1rem;
}
.gcrf-plan-similar-item {
    break-inside: avoid;
    page-break-inside: avoid;
    padding: 0.9rem;
    border: 1px solid #e4d7c9;
    border-radius: 12px;
    background: #ffffff;
}
.gcrf-plan-similar-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.gcrf-plan-similar-head h5 {
    margin: 0 0 0.35rem;
    font-size: 1rem;
    line-height: 1.3;
}
.gcrf-plan-similar-score {
    flex: 0 0 auto;
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: #efe2d2;
    color: #3f342b;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}
.gcrf-plan-similar-table {
    margin-top: 0.6rem;
}
.gcrf-plan-similar-table th {
    width: 9rem;
}
.gcrf-plan-similar-reasons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}
.gcrf-plan-similar-reason-title {
    margin: 0 0 0.25rem;
    font-size: 0.86rem;
    font-weight: 700;
    color: #3f342b;
}
.gcrf-plan-similar-reasons ul {
    margin: 0;
    padding-left: 1.1rem;
    color: #5d5045;
    font-size: 0.9rem;
    line-height: 1.45;
}
@media (max-width: 700px) {
    .gcrf-plan-similar-head {
        display: block;
    }
    .gcrf-plan-similar-score {
        margin-top: 0.35rem;
    }
    .gcrf-plan-similar-reasons {
        grid-template-columns: 1fr;
    }
}




/* ── v0.8.2 Learning loop graphic ───────────────────────────────────────── */
.gcrf-learning-loop-panel {
    margin: 0.95rem 0 1.1rem;
    padding: 0.95rem;
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius-lg);
    background: linear-gradient(180deg, #fffaf3 0%, var(--r-bg-card) 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
    text-align: left;
}

.gcrf-learning-loop-eyebrow {
    margin: 0 0 0.25rem;
    color: var(--r-accent);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.gcrf-learning-loop-title {
    margin: 0 0 0.45rem;
    color: var(--r-heading);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
}

.gcrf-learning-loop-copy,
.gcrf-learning-loop-note {
    margin: 0 0 0.8rem;
    color: var(--r-ink-muted);
    font-size: 0.9rem;
    line-height: 1.48;
}

.gcrf-learning-loop-note {
    margin: 0.75rem 0 0;
    font-size: 0.86rem;
}

.gcrf-learning-loop-steps {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gcrf-loop-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.12rem;
    min-height: 7.1rem;
    padding: 0.55rem 0.35rem 0.45rem;
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius-lg);
    background: var(--r-paper);
    color: var(--r-ink);
    text-align: center;
}

.gcrf-loop-step:not(:last-child)::after {
    content: '→';
    position: absolute;
    top: 1.55rem;
    right: -0.42rem;
    z-index: 1;
    color: var(--r-ink-faint);
    font-weight: 800;
}

.gcrf-loop-bean {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.05rem;
    height: 2.05rem;
    margin-bottom: 0.12rem;
    color: var(--r-accent);
}

.gcrf-loop-bean-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    transform: rotate(-12deg);
    filter: drop-shadow(0 0.08rem 0.08rem rgba(58, 36, 20, 0.22));
}

.gcrf-loop-bean-body {
    fill: var(--r-accent);
    stroke: #5a321d;
    stroke-width: 3;
}

.gcrf-loop-bean-crease {
    fill: none;
    stroke: rgba(255, 250, 243, 0.72);
    stroke-width: 3.4;
    stroke-linecap: round;
}

.gcrf-loop-step strong {
    color: var(--r-heading);
    font-size: 0.88rem;
    line-height: 1.15;
}

.gcrf-loop-step span:not(.gcrf-loop-bean) {
    color: var(--r-ink-muted);
    font-size: 0.74rem;
    line-height: 1.2;
}

.gcrf-loop-step em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: 0.1rem 0.35rem;
    border-radius: 999px;
    font-size: 0.66rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: uppercase;
}

.gcrf-loop-step--delivered {
    border-color: rgba(45, 74, 38, 0.35);
    background: var(--r-success-bg);
}
.gcrf-loop-step--delivered em {
    background: rgba(45, 74, 38, 0.12);
    color: var(--r-success);
}

.gcrf-loop-step--next .gcrf-loop-bean-body {
    fill: #fffaf3;
    stroke: var(--r-accent-light);
}
.gcrf-loop-step--next .gcrf-loop-bean-crease {
    stroke: var(--r-accent-light);
}
.gcrf-loop-step--next .gcrf-loop-bean-svg {
    filter: none;
}
.gcrf-loop-step--next em {
    background: var(--r-accent-pale);
    color: var(--r-accent);
}

.gcrf-loop-step--partial .gcrf-loop-bean-body {
    fill: #a87953;
    stroke: var(--r-accent);
}
.gcrf-loop-step--partial .gcrf-loop-bean-crease {
    stroke: rgba(255, 250, 243, 0.9);
}
.gcrf-loop-step--partial em {
    background: var(--r-caution-bg);
    color: var(--r-caution);
}

@media (max-width: 700px) {
    .gcrf-learning-loop-panel {
        padding: 0.85rem;
    }
    .gcrf-learning-loop-title {
        font-size: 0.98rem;
    }
    .gcrf-learning-loop-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.45rem;
    }
    .gcrf-loop-step:not(:last-child)::after {
        display: none;
    }
}

@media (max-width: 440px) {
    .gcrf-learning-loop-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ── v0.8.1 Mobile companion polish ─────────────────────────────────────── */
.gcrf-mobile-quick-nav {
    display: none;
}

.gcrf-mobile-companion-panel {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 0.85rem 0 1rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--r-border);
    border-left: 4px solid var(--r-info);
    border-radius: var(--r-radius-lg);
    background: var(--r-info-bg);
    color: var(--r-ink);
    text-align: left;
}

.gcrf-mobile-companion-panel strong {
    color: var(--r-heading);
    font-size: 0.84rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.gcrf-mobile-companion-panel span {
    color: var(--r-ink-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

@media (max-width: 700px) {
    .gcrf-report-app {
        padding: 0.7rem;
        border-radius: 0;
        max-width: 100%;
    }

    .gcrf-mobile-quick-nav {
        position: sticky;
        top: 0;
        z-index: 20;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.25rem;
        margin: -0.7rem -0.7rem 0.85rem;
        padding: 0.45rem 0.5rem;
        border-bottom: 1px solid var(--r-border);
        background: rgba(253, 250, 246, 0.96);
        box-shadow: 0 2px 8px rgba(60, 30, 10, 0.10);
        backdrop-filter: blur(6px);
    }

    .gcrf-mobile-quick-nav a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.4rem;
        padding: 0.35rem 0.25rem;
        border: 1px solid var(--r-border);
        border-radius: var(--r-radius);
        background: var(--r-bg-card);
        color: var(--r-accent);
        font-size: 0.78rem;
        font-weight: 700;
        line-height: 1.15;
        text-decoration: none;
        text-align: center;
    }

    .gcrf-report-card {
        padding: 1rem;
        margin-bottom: 0.85rem;
    }

    .gcrf-report-heading {
        font-size: 1.28rem;
    }

    .gcrf-report-intro,
    .gcrf-report-body,
    .gcrf-report-chart-explain,
    .gcrf-report-chart-note,
    .gcrf-report-caveat {
        font-size: 0.94rem;
        line-height: 1.5;
    }

    .gcrf-report-dropzone {
        padding: 1.25rem 0.75rem;
    }

    .gcrf-report-btn,
    .gcrf-report-btn--small {
        width: 100%;
        min-height: 2.8rem;
        padding: 0.65rem 0.8rem;
        font-size: 0.95rem;
        white-space: normal;
    }

    .gcrf-report-header-actions,
    .gcrf-plan-actions,
    .gcrf-live-actions,
    .gcrf-report-compare-actions,
    .gcrf-report-donate-actions {
        flex-direction: column;
        gap: 0.45rem;
    }

    .gcrf-report-header-actions .gcrf-report-btn,
    .gcrf-plan-actions .gcrf-report-btn,
    .gcrf-live-actions .gcrf-report-btn,
    .gcrf-report-compare-actions .gcrf-report-btn,
    .gcrf-report-donate-actions .gcrf-report-btn {
        flex: 1 1 auto;
        width: 100%;
    }

    .gcrf-plan-grid,
    .gcrf-live-grid {
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }

    .gcrf-plan-field input,
    .gcrf-plan-field select,
    .gcrf-live-field input {
        min-height: 2.75rem;
        font-size: 16px;
    }

    .gcrf-plan-checkbox {
        padding-top: 0;
        align-items: flex-start;
    }

    .gcrf-report-chart-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.25rem;
    }

    .gcrf-report-chart-container canvas {
        width: 100%;
        min-width: 560px;
        max-width: none;
    }

    #gcrf-report-stage-chart-card .gcrf-report-chart-container canvas,
    #gcrf-report-speed-chart-card .gcrf-report-chart-container canvas {
        min-width: 520px;
    }

    .gcrf-report-pace-table,
    .gcrf-report-data-table,
    .gcrf-plan-similar-table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .gcrf-plan-similar-reasons {
        grid-template-columns: 1fr;
    }
}

@media print {
    .gcrf-mobile-quick-nav,
    .gcrf-mobile-companion-panel {
        display: none !important;
    }
}

/* ── v0.8.3 Executive summary / quick read ───────────────────────────────── */
.gcrf-report-exec-card {
    border-left: 5px solid var(--r-accent);
    background: linear-gradient(180deg, #fffaf3 0%, var(--r-bg-card) 100%);
}

.gcrf-report-eyebrow {
    margin: 0 0 0.25rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    color: var(--r-accent);
}

.gcrf-report-exec-title {
    margin: 0 0 0.35rem;
    font-family: var(--r-font-head);
    font-size: 1.25rem;
    line-height: 1.25;
    color: var(--r-heading);
}

.gcrf-report-exec-intro {
    margin: 0 0 0.95rem;
    color: var(--r-ink-muted);
    font-size: 0.92rem;
}

.gcrf-report-exec-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.gcrf-report-exec-item {
    padding: 0.85rem 0.9rem;
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius-lg);
    background: rgba(255, 255, 255, 0.44);
}

.gcrf-report-exec-item--positive {
    border-color: var(--r-success-border);
    background: var(--r-success-bg);
}

.gcrf-report-exec-item--caution {
    border-color: var(--r-caution-border);
    background: var(--r-caution-bg);
}

.gcrf-report-exec-item--info {
    border-color: rgba(26, 74, 122, 0.45);
    background: var(--r-info-bg);
}

.gcrf-report-exec-label {
    margin: 0 0 0.2rem;
    color: var(--r-ink-muted);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.gcrf-report-exec-value {
    margin: 0 0 0.25rem;
    color: var(--r-heading);
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.25;
}

.gcrf-report-exec-note {
    margin: 0;
    color: var(--r-ink-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

@media (max-width: 640px) {
    .gcrf-report-exec-grid { grid-template-columns: 1fr; }
}




/* ── v0.8.5 First Crack Listening Window ───────────────────────────────── */
.gcrf-first-crack-card {
    margin: 1rem 0;
    padding: .95rem;
    border: 1px solid #dccab6;
    border-radius: 15px;
    background: #fff9ee;
    box-shadow: 0 6px 16px rgba(86, 56, 31, 0.05);
}

.gcrf-first-crack-card h5 {
    margin: 0 0 .55rem;
    color: #6b3f1f;
}

.gcrf-first-crack-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
    margin: .75rem 0;
}

.gcrf-first-crack-key {
    padding: .65rem;
    border: 1px solid #e3d2bd;
    border-radius: 12px;
    background: #fffdf8;
}

.gcrf-first-crack-key span {
    display: block;
    margin-bottom: .25rem;
    color: #7a6155;
    font-size: .76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.gcrf-first-crack-key strong {
    display: block;
    color: #3a2619;
    font-size: .98rem;
    line-height: 1.25;
}

.gcrf-first-crack-card ul {
    margin: .7rem 0 .2rem 1.1rem;
    padding: 0;
    color: #4b392f;
}

.gcrf-first-crack-card li {
    margin: .28rem 0;
}

@media (max-width: 760px) {
    .gcrf-first-crack-grid {
        grid-template-columns: 1fr;
    }
}

/* ── v0.8.4 Post-Roast & Cup Result Helper ─────────────────────────────── */
.gcrf-post-roast-helper-card {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #dccbb9;
    border-radius: 16px;
    background: #fffaf3;
    box-shadow: 0 8px 22px rgba(80, 52, 30, 0.06);
}

.gcrf-post-roast-helper-card h4,
.gcrf-post-roast-helper-card h5 {
    margin: 0 0 .55rem;
    color: #6b3f1f;
}

.gcrf-post-roast-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: .85rem 0;
}

.gcrf-post-roast-field {
    display: flex;
    flex-direction: column;
    gap: .28rem;
    font-size: .93rem;
    font-weight: 650;
    color: #5c4539;
}

.gcrf-post-roast-field input,
.gcrf-post-roast-field select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #cab6a3;
    border-radius: 10px;
    padding: .58rem .65rem;
    background: #fff;
    color: #2f211a;
    font: inherit;
    font-weight: 500;
}

.gcrf-post-roast-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: .85rem 0 .25rem;
}

.gcrf-post-roast-result {
    margin-top: 1rem;
    padding: .95rem;
    border-radius: 14px;
    border: 1px solid #d6c2ad;
    background: #fff;
}

.gcrf-post-roast-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
    margin: .8rem 0;
}

.gcrf-post-roast-key {
    padding: .65rem;
    border-radius: 12px;
    background: #f8f1e8;
    border: 1px solid #e6d8c8;
}

.gcrf-post-roast-key span {
    display: block;
    margin-bottom: .25rem;
    color: #7a6155;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.gcrf-post-roast-key strong {
    display: block;
    color: #3a2619;
    font-size: .98rem;
    line-height: 1.25;
}

.gcrf-post-roast-next-action {
    margin: .85rem 0 .35rem;
    padding: .85rem;
    border-left: 4px solid #8a5a2f;
    border-radius: 10px;
    background: #fff7e8;
    color: #3b291f;
    font-weight: 650;
}

.gcrf-post-roast-message--error {
    border: 1px solid #d89b9b;
    background: #fff4f2;
    color: #7a2d2d;
    border-radius: 12px;
    padding: .75rem;
}

.gcrf-post-roast-message--error p {
    margin: .25rem 0;
}

@media (max-width: 760px) {
    .gcrf-post-roast-grid,
    .gcrf-post-roast-summary-grid {
        grid-template-columns: 1fr;
    }

    .gcrf-post-roast-actions .gcrf-report-btn {
        width: 100%;
    }
}

/* ── v0.8.6 Guided UX / required vs assumed labels ─────────────────────── */
.gcrf-guided-summary {
    margin: 1rem 0;
    padding: .85rem .95rem;
    border: 1px solid var(--r-border);
    border-left: 4px solid var(--r-accent-light);
    border-radius: var(--r-radius-lg);
    background: rgba(253, 250, 246, .88);
    text-align: left;
}
.gcrf-guided-summary strong {
    display: block;
    margin: 0 0 .35rem;
    color: var(--r-heading);
    font-size: .92rem;
}
.gcrf-guided-summary ul {
    margin: 0;
    padding-left: 1.1rem;
    color: var(--r-ink-muted);
    font-size: .86rem;
    line-height: 1.45;
}
.gcrf-guided-summary li { margin: .18rem 0; }

.gcrf-plan-step {
    margin: 1rem 0;
    padding: .85rem;
    border: 1px solid rgba(201, 184, 168, .88);
    border-radius: var(--r-radius-lg);
    background: rgba(253, 250, 246, .72);
}
.gcrf-plan-step--optional {
    background: rgba(253, 250, 246, .50);
}
.gcrf-plan-step-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .65rem;
    align-items: start;
    margin-bottom: .75rem;
}
.gcrf-plan-step-number {
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--r-accent);
    color: #fff;
    font-weight: 800;
    font-size: .86rem;
    line-height: 1;
}
.gcrf-plan-step--optional .gcrf-plan-step-number { background: var(--r-ink-faint); }
.gcrf-plan-step-head h4 {
    margin: 0 0 .18rem;
    color: var(--r-heading);
    font-size: .95rem;
    line-height: 1.25;
}
.gcrf-plan-step-head p {
    margin: 0;
    color: var(--r-ink-muted);
    font-size: .86rem;
    line-height: 1.45;
}
.gcrf-plan-step .gcrf-plan-grid {
    margin-top: 0;
}
.gcrf-plan-label-row,
.gcrf-post-roast-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .45rem;
    line-height: 1.25;
}
.gcrf-field-badge {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    border-radius: 999px;
    padding: .12rem .42rem;
    border: 1px solid var(--r-border);
    background: var(--r-paper);
    color: var(--r-ink-muted);
    font-style: normal;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.gcrf-field-badge--required {
    border-color: var(--r-success-border);
    background: var(--r-success-bg);
    color: var(--r-success);
}
.gcrf-field-badge--assumed {
    border-color: var(--r-info);
    background: var(--r-info-bg);
    color: var(--r-info);
}
.gcrf-field-badge--optional {
    border-color: var(--r-rule);
    background: var(--r-bg-subtle);
    color: var(--r-ink-muted);
}
.gcrf-field-badge--override {
    border-color: var(--r-caution-border);
    background: var(--r-caution-bg);
    color: var(--r-caution);
}
.gcrf-plan-field-help,
.gcrf-post-roast-field-help {
    display: block;
    color: var(--r-ink-faint);
    font-size: .74rem;
    font-weight: 500;
    line-height: 1.35;
    margin-top: .08rem;
}
.gcrf-plan-checkbox {
    padding: .65rem .7rem;
    border: 1px dashed rgba(201, 184, 168, .92);
    border-radius: var(--r-radius);
    background: rgba(255, 255, 255, .38);
}
.gcrf-plan-checkbox .gcrf-plan-label-row {
    flex: 1 1 auto;
}

.gcrf-post-roast-guide {
    margin: .8rem 0;
    padding: .75rem .85rem;
    border: 1px solid #d6c2ad;
    border-left: 4px solid var(--r-accent-light);
    border-radius: 12px;
    background: #fff;
    color: #5c4539;
    font-size: .88rem;
    line-height: 1.45;
}
.gcrf-post-roast-guide strong {
    display: block;
    margin-bottom: .25rem;
    color: var(--r-heading);
}
.gcrf-post-roast-guide ul {
    margin: 0;
    padding-left: 1.1rem;
}
.gcrf-post-roast-guide li { margin: .15rem 0; }

@media (max-width: 560px) {
    .gcrf-plan-label-row,
    .gcrf-post-roast-label-row {
        align-items: flex-start;
        flex-direction: column;
    }
    .gcrf-plan-step,
    .gcrf-guided-summary {
        padding: .75rem;
    }
}

/* ── v0.8.7 Progressive Disclosure / Readable Flow ─────────────────────── */
.gcrf-plan-use-order-card {
    margin: .95rem 0 1rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(122, 97, 85, .24);
    border-left: 4px solid var(--r-accent);
    border-radius: var(--r-radius-lg);
    background: rgba(255, 250, 243, .92);
}
.gcrf-plan-use-order-card h5 {
    margin: 0 0 .45rem;
    color: var(--r-heading);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
}
.gcrf-plan-use-order-card ol {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--r-ink);
    line-height: 1.5;
}
.gcrf-plan-use-order-card li { margin: .22rem 0; }
.gcrf-plan-use-order-card .gcrf-report-hint { margin: .55rem 0 0; }

.gcrf-progressive-section {
    margin: 1rem 0;
    border: 1px solid rgba(201, 184, 168, .9);
    border-radius: var(--r-radius-lg);
    background: rgba(253, 250, 246, .84);
    overflow: hidden;
}
.gcrf-progressive-section[open] {
    box-shadow: 0 8px 20px rgba(64, 42, 26, .05);
}
.gcrf-progressive-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border-left: 4px solid var(--r-accent-light);
    background: rgba(255,255,255,.58);
}
.gcrf-progressive-summary::-webkit-details-marker { display: none; }
.gcrf-progressive-summary::before {
    content: '▸';
    flex: 0 0 auto;
    color: var(--r-accent);
    font-weight: 800;
    transition: transform .15s ease;
}
.gcrf-progressive-section[open] > .gcrf-progressive-summary::before { transform: rotate(90deg); }
.gcrf-progressive-summary-text {
    display: flex;
    flex-direction: column;
    gap: .18rem;
    flex: 1 1 auto;
}
.gcrf-progressive-summary-text strong {
    color: var(--r-heading);
    font-size: .95rem;
    line-height: 1.25;
}
.gcrf-progressive-summary-text small {
    color: var(--r-ink-muted);
    font-size: .78rem;
    line-height: 1.35;
}
.gcrf-progressive-action {
    flex: 0 0 auto;
    border: 1px solid var(--r-border);
    border-radius: 999px;
    padding: .18rem .55rem;
    background: var(--r-paper);
    color: var(--r-accent);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.gcrf-progressive-section[open] > .gcrf-progressive-summary .gcrf-progressive-action {
    color: var(--r-ink-muted);
}
.gcrf-progressive-section[open] > .gcrf-progressive-summary .gcrf-progressive-action::before { content: 'Close '; }
.gcrf-progressive-body {
    padding: 0 1rem 1rem;
}
.gcrf-progressive-body > .gcrf-first-crack-card,
.gcrf-progressive-body > .gcrf-live-helper-card,
.gcrf-progressive-body > .gcrf-post-roast-helper-card,
.gcrf-progressive-body > .gcrf-plan-similar-card {
    margin: 1rem 0 0;
}
.gcrf-plan-advanced-wrap .gcrf-plan-explain-box,
.gcrf-plan-advanced-wrap .gcrf-plan-warning-box {
    margin-top: 1rem;
}
.gcrf-progressive-section--live { border-left: 4px solid #1f4e79; }
.gcrf-progressive-section--cup { border-left: 4px solid var(--r-success); }
.gcrf-progressive-section--similar { border-left: 4px solid rgba(122, 97, 85, .45); }
.gcrf-progressive-section--first-crack { border-left: 4px solid rgba(177, 125, 74, .72); }

@media (max-width: 700px) {
    .gcrf-progressive-summary {
        align-items: flex-start;
        gap: .65rem;
    }
    .gcrf-progressive-action {
        margin-top: .05rem;
    }
    .gcrf-progressive-body {
        padding: 0 .8rem .85rem;
    }
}

/* ── v0.8.8 Expandable section type badges ─────────────────────────────── */
.gcrf-progressive-label-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .6rem;
}
.gcrf-progressive-kind-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: .12rem .5rem;
    font-size: .62rem;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid rgba(122, 97, 85, .28);
}
.gcrf-progressive-kind-badge--interactive {
    color: #123d63;
    background: rgba(230, 240, 252, .92);
    border-color: rgba(31, 78, 121, .38);
}
.gcrf-progressive-kind-badge--info {
    color: var(--r-accent);
    background: rgba(241, 231, 219, .92);
    border-color: rgba(122, 97, 85, .28);
}
.gcrf-progressive-section--interactive > .gcrf-progressive-summary {
    background: linear-gradient(90deg, rgba(232, 242, 252, .74), rgba(255,255,255,.58));
}
.gcrf-progressive-section--info > .gcrf-progressive-summary {
    background: linear-gradient(90deg, rgba(249, 243, 235, .88), rgba(255,255,255,.58));
}
.gcrf-progressive-section--interactive > .gcrf-progressive-summary .gcrf-progressive-action {
    border-color: rgba(31, 78, 121, .35);
    color: #1f4e79;
}
.gcrf-progressive-section--info > .gcrf-progressive-summary .gcrf-progressive-action {
    color: var(--r-accent);
}

/* ── v0.8.9 Tool section architecture / guided zones ───────────────────── */
.gcrf-report-app {
    --gcrf-zone-json: #6b3f1f;
    --gcrf-zone-json-bg: #fff7ee;
    --gcrf-zone-plan: #1f4e79;
    --gcrf-zone-plan-bg: #e8f0fb;
    --gcrf-zone-during: #7a5527;
    --gcrf-zone-during-bg: #fbf2e6;
    --gcrf-zone-after: #2d4a26;
    --gcrf-zone-after-bg: #e8f0e4;
    --gcrf-zone-compare: #746255;
    --gcrf-zone-compare-bg: #f1ece6;
    --gcrf-zone-contribute: #7a4c2a;
    --gcrf-zone-contribute-bg: #f5ede5;
}

.gcrf-tool-zone {
    text-align: left;
    border: 1px solid var(--r-border);
    border-radius: var(--r-radius-lg);
    padding: 1rem;
    margin: 1rem 0;
    background: rgba(253, 250, 246, .76);
}

.gcrf-tool-zone-head {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    text-align: left;
    margin: 0 0 1rem;
}

.gcrf-tool-zone-head--plan { margin-bottom: 1.15rem; }

.gcrf-tool-zone-number {
    flex: 0 0 auto;
    min-width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--r-accent);
    color: #fff;
    font-weight: 850;
    line-height: 1;
}

.gcrf-tool-zone-kicker {
    margin: 0 0 .2rem;
    color: var(--r-accent);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .09em;
    line-height: 1.2;
    text-transform: uppercase;
}

.gcrf-tool-zone-head h3,
.gcrf-tool-zone-head p {
    margin: 0;
}

.gcrf-tool-zone-head h3 {
    color: var(--r-heading);
    font-size: 1.08rem;
    line-height: 1.25;
}

.gcrf-tool-zone-head p:not(.gcrf-tool-zone-kicker) {
    color: var(--r-ink-muted);
    font-size: .9rem;
    line-height: 1.45;
    margin-top: .2rem;
}

.gcrf-tool-zone--json {
    border-left: 4px solid var(--gcrf-zone-json) !important;
    background: var(--gcrf-zone-json-bg);
}
.gcrf-tool-zone--json .gcrf-tool-zone-number,
.gcrf-tool-zone--json .gcrf-report-btn-primary { background: var(--gcrf-zone-json); }
.gcrf-tool-zone--json .gcrf-tool-zone-kicker { color: var(--gcrf-zone-json); }

.gcrf-tool-zone--plan,
.gcrf-plan-helper-card {
    border-left-color: var(--gcrf-zone-plan) !important;
    background: var(--gcrf-zone-plan-bg);
}
.gcrf-tool-zone-head--plan .gcrf-tool-zone-number { background: var(--gcrf-zone-plan); }
.gcrf-tool-zone-head--plan .gcrf-tool-zone-kicker { color: var(--gcrf-zone-plan); }

.gcrf-tool-zone--contribute,
.gcrf-report-donate-card {
    border-left: 4px solid var(--gcrf-zone-contribute) !important;
    background: var(--gcrf-zone-contribute-bg);
}

.gcrf-progressive-section--phase-plan { border-left-color: var(--gcrf-zone-plan) !important; }
.gcrf-progressive-section--phase-during { border-left-color: var(--gcrf-zone-during) !important; }
.gcrf-progressive-section--phase-after { border-left-color: var(--gcrf-zone-after) !important; }
.gcrf-progressive-section--phase-compare { border-left-color: var(--gcrf-zone-compare) !important; }

.gcrf-progressive-section--phase-plan > .gcrf-progressive-summary {
    background: linear-gradient(90deg, rgba(232, 240, 251, .9), rgba(255,255,255,.62));
}
.gcrf-progressive-section--phase-during > .gcrf-progressive-summary {
    background: linear-gradient(90deg, rgba(251, 242, 230, .96), rgba(255,255,255,.62));
}
.gcrf-progressive-section--phase-after > .gcrf-progressive-summary {
    background: linear-gradient(90deg, rgba(232, 240, 228, .96), rgba(255,255,255,.62));
}
.gcrf-progressive-section--phase-compare > .gcrf-progressive-summary {
    background: linear-gradient(90deg, rgba(241, 236, 230, .96), rgba(255,255,255,.62));
}

.gcrf-progressive-phase-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: .12rem .5rem;
    font-size: .62rem;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid rgba(122, 97, 85, .28);
    background: var(--r-paper);
    color: var(--r-accent);
}
.gcrf-progressive-phase-badge--plan {
    color: var(--gcrf-zone-plan);
    border-color: rgba(31, 78, 121, .36);
    background: rgba(232, 240, 251, .96);
}
.gcrf-progressive-phase-badge--during {
    color: var(--gcrf-zone-during);
    border-color: rgba(122, 85, 39, .38);
    background: rgba(251, 242, 230, .96);
}
.gcrf-progressive-phase-badge--after {
    color: var(--gcrf-zone-after);
    border-color: rgba(45, 74, 38, .38);
    background: rgba(232, 240, 228, .96);
}
.gcrf-progressive-phase-badge--compare {
    color: var(--gcrf-zone-compare);
    border-color: rgba(116, 98, 85, .38);
    background: rgba(241, 236, 230, .96);
}

.gcrf-progressive-section--phase-during .gcrf-progressive-action { color: var(--gcrf-zone-during); }
.gcrf-progressive-section--phase-after .gcrf-progressive-action { color: var(--gcrf-zone-after); }
.gcrf-progressive-section--phase-compare .gcrf-progressive-action { color: var(--gcrf-zone-compare); }

@media (max-width: 700px) {
    .gcrf-tool-zone { padding: .8rem; }
    .gcrf-tool-zone-head { gap: .6rem; }
    .gcrf-tool-zone-number { min-width: 1.75rem; height: 1.75rem; }
}


/* ── v0.8.9.1 Workflow section clarity ─────────────────────────────────── */
.gcrf-workflow-zone {
    margin: 1.1rem 0;
    padding: 1rem;
    border: 1px solid rgba(201, 184, 168, .88);
    border-left: 6px solid var(--r-accent);
    border-radius: var(--r-radius-lg);
    background: rgba(253, 250, 246, .82);
    text-align: left;
}
.gcrf-workflow-zone--during {
    border-left-color: var(--gcrf-zone-during);
    background: linear-gradient(90deg, rgba(251, 242, 230, .94), rgba(255,255,255,.68));
}
.gcrf-workflow-zone--after {
    border-left-color: var(--gcrf-zone-after);
    background: linear-gradient(90deg, rgba(232, 240, 228, .94), rgba(255,255,255,.68));
}
.gcrf-workflow-zone--compare {
    border-left-color: var(--gcrf-zone-compare);
    background: linear-gradient(90deg, rgba(241, 236, 230, .94), rgba(255,255,255,.68));
}
.gcrf-workflow-zone-head {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin: 0 0 .85rem;
}
.gcrf-workflow-zone-number {
    flex: 0 0 auto;
    min-width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--r-accent);
    font-weight: 850;
    line-height: 1;
}
.gcrf-workflow-zone--during .gcrf-workflow-zone-number { background: var(--gcrf-zone-during); }
.gcrf-workflow-zone--after .gcrf-workflow-zone-number { background: var(--gcrf-zone-after); }
.gcrf-workflow-zone--compare .gcrf-workflow-zone-number { background: var(--gcrf-zone-compare); }
.gcrf-workflow-zone-kicker {
    margin: 0 0 .18rem;
    color: var(--r-accent);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .085em;
    line-height: 1.2;
    text-transform: uppercase;
}
.gcrf-workflow-zone--during .gcrf-workflow-zone-kicker { color: var(--gcrf-zone-during); }
.gcrf-workflow-zone--after .gcrf-workflow-zone-kicker { color: var(--gcrf-zone-after); }
.gcrf-workflow-zone--compare .gcrf-workflow-zone-kicker { color: var(--gcrf-zone-compare); }
.gcrf-workflow-zone-head h4,
.gcrf-workflow-zone-head p { margin: 0; }
.gcrf-workflow-zone-head h4 {
    color: var(--r-heading);
    font-size: 1.08rem;
    line-height: 1.25;
}
.gcrf-workflow-zone-head p:not(.gcrf-workflow-zone-kicker) {
    color: var(--r-ink-muted);
    font-size: .9rem;
    line-height: 1.45;
    margin-top: .2rem;
}
.gcrf-workflow-zone .gcrf-progressive-section {
    margin: .7rem 0 0;
    background: rgba(255,255,255,.72);
}
.gcrf-workflow-zone .gcrf-progressive-summary {
    border-left: 0;
    padding: .9rem 1rem;
}
.gcrf-workflow-zone .gcrf-progressive-summary::before {
    display: none;
    content: '';
}
.gcrf-workflow-zone .gcrf-progressive-action {
    padding: .28rem .7rem;
    border-width: 1px;
    background: #fff;
}
.gcrf-progressive-section--phase-during .gcrf-progressive-action {
    border-color: rgba(122, 85, 39, .36);
}
.gcrf-progressive-section--phase-after .gcrf-progressive-action {
    border-color: rgba(45, 74, 38, .36);
}
.gcrf-progressive-section--phase-compare .gcrf-progressive-action {
    border-color: rgba(116, 98, 85, .36);
}

@media (max-width: 700px) {
    .gcrf-workflow-zone { padding: .85rem; }
    .gcrf-workflow-zone-head { gap: .6rem; }
    .gcrf-workflow-zone-number { min-width: 1.75rem; height: 1.75rem; }
}

/* ── v0.8.9.2 Simplified report flow / compact essentials ─────────────── */
.gcrf-tool-zone-number,
.gcrf-plan-step-number,
.gcrf-workflow-zone-number {
    display: none !important;
}

.gcrf-tool-zone-head,
.gcrf-plan-step-head,
.gcrf-workflow-zone-head {
    gap: .55rem;
}

.gcrf-report-preview-card {
    border-left: 5px solid var(--gcrf-zone-json, #1f4e79);
    background: linear-gradient(90deg, rgba(232, 240, 251, .76), rgba(253, 250, 246, .95));
}

.gcrf-report-preview-table--compact {
    table-layout: fixed;
}
.gcrf-report-preview-table--compact th,
.gcrf-report-preview-table--compact td {
    width: 25%;
    padding: .35rem .45rem;
}
.gcrf-report-preview-table--compact th:nth-child(3) {
    border-left: 1px solid rgba(201, 184, 168, .65);
    padding-left: .75rem;
}
.gcrf-report-preview-table--compact td {
    font-weight: 750;
}

.gcrf-report-sections-details {
    margin: 1rem 0;
    border: 1px solid rgba(201,184,168,.9);
    border-left: 5px solid var(--gcrf-zone-compare, #746255);
    border-radius: var(--r-radius-lg, 14px);
    background: rgba(253,250,246,.88);
    overflow: hidden;
}
.gcrf-report-sections-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 1rem 1.1rem;
    font-weight: 850;
    color: var(--r-heading, #2c1a0e);
    letter-spacing: .04em;
    text-transform: uppercase;
}
.gcrf-report-sections-details > summary::-webkit-details-marker { display: none; }
.gcrf-report-sections-details > summary::after {
    content: 'View details';
    float: right;
    font-size: .72rem;
    border: 1px solid rgba(122,97,85,.28);
    border-radius: 999px;
    padding: .12rem .55rem;
    color: var(--r-accent, #6b3f1f);
    background: #fff;
}
.gcrf-report-sections-details[open] > summary::after { content: 'Hide details'; }
.gcrf-report-sections-details #gcrf-report-sections {
    padding: 0 1rem 1rem;
}

@media (max-width: 700px) {
    .gcrf-report-preview-table--compact,
    .gcrf-report-preview-table--compact tbody,
    .gcrf-report-preview-table--compact tr,
    .gcrf-report-preview-table--compact th,
    .gcrf-report-preview-table--compact td {
        display: block;
        width: 100%;
    }
    .gcrf-report-preview-table--compact tr {
        border-bottom: 1px solid rgba(201,184,168,.75);
        padding: .3rem 0;
    }
    .gcrf-report-preview-table--compact th,
    .gcrf-report-preview-table--compact td {
        border-bottom: 0 !important;
        padding: .12rem .2rem;
    }
    .gcrf-report-preview-table--compact th:nth-child(3) {
        border-left: 0;
        padding-left: .2rem;
        margin-top: .35rem;
    }
}
