/* ZÁKLAD – mimo tlače je #printArea skrytý */
  #printArea{
    display:none;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    color:#0f172a;
    background:#fff;
  }

:root{
  --pBg:#ffffff;

  --pText:#0b1220;
  --pMuted:#334155;
  --pHint:#64748b;

  --pLine:#e2e8f0;
  --pSoft:#f8fafc;

  --pAccent:#22c55e;
  --pAccentSoft:rgba(34,197,94,.10);
  --pAccentLine:rgba(34,197,94,.28);

  --pBlue:#60a5fa;
  --pBlueSoft:#eff6ff;

  --pYellow:#fbbf24;
  --pYellowSoft:#fffbeb;
}

  .pBox{
    break-inside: avoid;
    page-break-inside: avoid;
    border:1px solid var(--pLine);
    border-radius:16px;
    padding:5mm;
    margin-bottom:3mm;
    background:#fff;
    box-shadow: 0 6px 16px rgba(15,23,42,.06);
  }

  .pBox.accent{
    border-color: rgba(37,99,235,.28);
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 80%);
    padding:6mm;
  }

.pBox.blue{
  border-color: rgba(96,165,250,.35);
  background: linear-gradient(180deg, var(--pBlueSoft), #ffffff 80%);
}

  .pBox.market{ padding:5mm; }

/* ===== OKC report – jednotné farby ===== */
#printArea{ color: var(--pText); background: var(--pBg); }

.pTitle, .pHelpTitle, .pHelpSection h3, .pSectionTitle, .pChartTitle, .pCardTitle{
  color: var(--pText);
}

.pLabel, .pMini .k, .pHelpMeta{ color: var(--pHint); }
.pNote, .pHelpItem, .pKV{ color: var(--pMuted); }

.pPrice, .pHeroPrice{ color: var(--pBlue); } /* nech číslo ostane "OKC blue" ako v appke */

.pBox, .pMini, .pCard, .pChartBox, .pMetaBubble{
  border-color: var(--pLine);
  background: var(--pBg);
}

.pBox.accent, .pHeroMain{
  border-color: var(--pAccentLine);
  background: linear-gradient(180deg, var(--pAccentSoft), #fff 70%);
}

.pTag{
  color: var(--pAccent);
  border-color: var(--pAccentLine);
  background: var(--pAccentSoft);
}

  .pHeader{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding-bottom: 3mm;
    border-bottom: 1px solid var(--pLine);
    margin-bottom: 5mm;
  }

  .pTitle{ font-size:19pt; font-weight:950; color:#0f172a; margin:0; }
  .pDate{ font-size:10pt; color:#64748b; margin-top:3px; }

  .pTag{
    display:inline-block;
    font-size:9.2pt;
    font-weight:900;
    color: var(--pAccent);
    background: rgba(37,99,235,.10);
    border:1px solid rgba(37,99,235,.22);
    padding:2mm 3mm;
    border-radius:999px;
    margin-top:2.5mm;
  }

  .pLabel{ font-size:10pt; color:#475569; letter-spacing:.2px; margin-bottom: 1.6mm; }
  .pPrice{ color: var(--pAccent); font-size:24pt; font-weight:950; line-height:1.05; letter-spacing:.2px; margin: 1mm 0 0; }

  .pSectionTitle{ font-size:11pt; font-weight:900; color:#0f172a; margin: 0 0 2.2mm; }

  .pGrid{ display:grid; grid-template-columns: 1fr 1fr; gap:2.2mm 6mm; }

  .pKV{ font-size:9.4pt; line-height:1.12; color:#0f172a; }
  .pKV b{
    display:block;
    font-size:7.6pt;
    color:#64748b;
    font-weight:800;
    text-transform: uppercase;
    letter-spacing:.7px;
    margin-bottom:.4mm;
  }

  .pMiniGrid{ display:grid; grid-template-columns: 1fr 1fr; gap: 2.2mm 5mm; margin-top: 1mm; }

  .pMini{
    border:1px solid var(--pLine);
    border-radius: 14px;
    padding: 3.2mm 4.2mm;
    background:#fff;
  }
.pBox.blue .pMini{
  background: linear-gradient(180deg, var(--pBlueSoft), #fff);
  border-color: rgba(96,165,250,.25);
}

  .pMini .k{ font-size: 8.6pt; color:#64748b; }
  .pMini .v{ font-size: 11.5pt; font-weight: 950; margin-top: .5mm; color:#0f172a; }

  .pDivider{ height:1px; background: var(--pLine); margin:3.6mm 0; }

  .pNote{
    margin-top:3.6mm;
    padding-top:2mm;
    border-top:1px solid var(--pLine);
    color:#475569;
    font-size:8.6pt;
    line-height:1.22;
  }

  .pPageBreak{ page-break-before: always; }

  .pHelpTitle{ font-size:15.5pt; font-weight:950; margin-bottom:4mm; color:#0f172a; }
  .pHelpSection{ margin-bottom:3.2mm; }

  .pHelpSection h3{ font-size:10.7pt; font-weight:900; margin: 0 0 1.2mm; color:#0f172a; }

  .pHelpItem{ font-size:9.6pt; line-height:1.22; color:#334155; margin-bottom:1.1mm; }
  .pHelpItem b{ font-weight:800; color:#0f172a; }

  .pHelpMeta{ font-size:8.6pt; color:#64748b; margin-top:.6mm; line-height:1.15; }

  
/* ===================== PRINT OVERRIDES ===================== */
@page{
  size: A4;
  margin: 0;
}

@media print{
  html, body{
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    color:#0f172a !important;
  }

  /* vypni appku */
  #app{ display:none !important; }

  /* zobraz iba print layout + nastav "vnútorný okraj" */
  #printArea{
    display:block !important;

    /* toto je to, čo chceš: A4 bez okrajov, ale obsah nie je nalepený */
    padding: 12mm 14mm !important;

    box-sizing:border-box !important;
    background:#fff !important;

    /* nech má stránka presný A4 rozmer a nerozhádže mierku */
    width: auto !important;
    min-height: auto !important;
    height: auto !important;
  }

  /* jemné upratanie typografie, aby to nepôsobilo “nesúmerne” */
  #printArea, #printArea *{
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* odstráň modré accent rámiky/pozadia v tlači */
  :root{
    --pLine: #e5e7eb !important;
    --pSoft: #ffffff !important;
  }

  .pTopBar,
  .pMetaBubble,
  .pBox,
  .pMini,
  .pCard,
  .pChartBox{
    border-color: var(--pLine) !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  .pBox.accent{
    background:#fff !important; /* zruší gradient */
  }

  .pTag{
    border-color: var(--pLine) !important;
    background:#fff !important;
    color:#0f172a !important;
  }

  /* ✅ lepšie umiestnenie bublín + stabilný layout */
  .pMetaBubble{
    align-items:flex-start !important;
  }
  .pMetaBubble .left{
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .pMetaBubble .right{
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    text-align:right !important;
  }

  /* poistky */
  *:focus, *:active{ outline:none !important; box-shadow:none !important; }
  a, a:visited{ color:inherit !important; text-decoration:none !important; }
}
.pTopBar, .pMetaBubble, .pBox, .pCard{
    margin-left: auto !important;
    margin-right: auto !important;
  }
 /* vycentruj obsah stránky a drž rozumnú šírku */
  #printArea{
    width: auto !important;
    min-height: auto !important;
    height: auto !important;
    margin: 0 auto !important;     /* centrovanie v náhľade aj PDF vieweri */
  }
/* nech sa dlhé texty môžu zalomiť (hlavne vysvetlenia) */
  .pHelpSection, .pHelpItem{
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* karty/boxy nech sa zbytočne neodsekávajú do ďalšej strany */
  .pBox, .pCard, .pChartBox{
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* keď začína druhá sekcia (ak používaš pPageBreak), nech je to čistý rez */
  .pPageBreak{
    break-before: page !important;
    page-break-before: always !important;
    margin-top: 0 !important;
  }
/* druhá strana nech nezačína nalepená hore */
.pPageBreak{
  break-before: page !important;
  page-break-before: always !important;
}

/* prvý blok po pagebreaku dostane hornú medzeru */
.pPageBreak + *{
  margin-top: 10mm !important;   /* uprav 6–12mm podľa vkusu */
}

    /* Electron/Chromium: nech sa drží @page */
    @page{
      size:A4;
      margin:0mm;
    }

    *{
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
    }

    /* === TU je fix modrých okrajov: v tlači zrušíme accent bordre/pozadia === */
    :root{
      --pLine: #e5e7eb !important;  /* jemný sivý okraj (odporúčam) */
      --pSoft: #ffffff !important;  /* bez modrého pozadia */
    }

    .pBox,
    .pMini{
      border-color: var(--pLine) !important;
      background:#fff !important;
      box-shadow:none !important;
    }

    .pBox.accent{
      border-color: var(--pLine) !important;
      background:#fff !important;      /* zruší gradient */
      box-shadow:none !important;
    }

    /* ak máš niekde špecifické bubliny s modrým borderom */
    .pTag{
      border-color: var(--pLine) !important;
      background:#fff !important;
    }

    /* poistka – zruší tiene vnútri */
    .pBox *{
      box-shadow:none !important;
    }
  }
  
    /* ===== PDF: profesionálny header + graf ===== */
    .pTopBar{
      
      position:relative;display:flex;
      justify-content:center;
      align-items:center;
      gap:12px;
      margin-bottom: 4mm;
      padding: 5.5mm 6mm;
      border-radius: 16px;
      border: 1px solid rgba(2,6,23,.12);
      background: linear-gradient(135deg, rgba(2,6,23,.04), rgba(34,197,94,.06) 60%, #fff 100%);
    
    .pCalcId{
      position:absolute;
      top:3mm;
      right:5mm;
      font-size:9px;
      color:#64748b;
      font-weight:700;
      letter-spacing:.06em;
      opacity:.85;
      pointer-events:none;
      user-select:none;
    }
}
    .pBrand{
      display:flex;
      flex-direction:column;
      gap:1.2mm;
      width:100%;
      align-items:center;
      text-align:center;
    }
    .pBrand .name{
      font-size: 16pt;
      font-weight: 950;
      margin:0;
      color:#0f172a;
      letter-spacing:.2px;
    }
    .pBrand .sub{
      font-size:10pt;
      color:#475569;
      margin:0;
    }
    .pMeta{
      text-align:right;
      font-size:9.4pt;
      color:#64748b;
      line-height:1.25;
    }
    .pMeta b{ color:#0f172a; }

    /* Samostatná bublina s meta údajmi o vozidle (mimo hlavičky) */
    .pMetaBubble{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap: 10px;
      padding: 3.8mm 5mm;
      border-radius: 14px;
      border: 1px solid rgba(37,99,235,.18);
      background: #ffffff;
      margin: 3mm 0 5mm 0;
      box-shadow: 0 6px 16px rgba(15,23,42,.06);
      font-size: 9.4pt;
      line-height: 1.25;
      color:#475569;
    }
    .pMetaBubble b{ color:#0f172a; }
    .pMetaBubble .left{ color:#475569; }
    .pMetaBubble .right{ text-align:right; color:#64748b; }
    .pMetaBubble .vehTitle{ color:#0f172a; font-weight:900; }
    .pMetaBubble .vehMeta{ margin-top: 2px; }
    .pChartWrap{
      margin-top: 2mm;
    }
    .pChartTitle{
      font-size:11pt;
      font-weight:900;
      margin: 0 0 2mm 0;
      color:#0f172a;
    }
    .pChartLegend{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top: 1.6mm;
      color:#64748b;
      font-size:9pt;
    }
    .pLegendDot{
      display:inline-block;
      width:8px;height:8px;border-radius:99px;
      margin-right:6px;
      border:1px solid rgba(15,23,42,.12);
    }
    .pLegendDot.vsh{ background: rgba(37,99,235,.85); }
    .pLegendDot.med{ background: rgba(16,185,129,.85); }
    .pLegendDot.avg{ background: rgba(251,191,36,.95); }

    .pChartTitle{ font-size:11pt; font-weight:900; margin: 0 0 2mm 0; color:#0f172a; }
    .pChartWrap{ margin-top: 2mm; }
    .pChartLegend{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items:center;
      margin-top: 2mm;
      font-size: 9pt;
      color:#475569;
    }
    .pChartLegend .item{ display:inline-flex; align-items:center; gap:6px; padding: 1.2mm 2mm; border:1px solid var(--pLine); border-radius:999px; background:#fff; }
    .pChartLegend .lbl b{ font-weight:900; color:#0f172a; }

    /* --- HERO (VŠH) --- */
    .pHero{
      display:grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 6mm;
      margin: 4mm 0 4mm 0;
    }
    .pHeroMain{
      border:1px solid rgba(37,99,235,.22);
      border-radius:16px;
      padding:6mm;
      background: linear-gradient(135deg, rgba(37,99,235,.14), rgba(37,99,235,.05) 55%, #ffffff 100%);
    }
    .pHeroLabel{
      font-size:10pt;
      color:#475569;
      letter-spacing:.2px;
      margin:0 0 1.5mm 0;
      font-weight:800;
      text-transform: uppercase;
    }
    .pHeroPrice{
      font-size:30pt;
      font-weight: 950;
      color: var(--pAccent);
      margin: 0;
      line-height:1.05;
      letter-spacing:.2px;
    }
    .pHeroSub{
      margin-top: 1.6mm;
      font-size:9.5pt;
      color:#64748b;
      line-height:1.25;
    }
    .pHeroAside{
      border:1px solid var(--pLine);
      border-radius:16px;
      padding:5mm;
      background:#fff;
    }
    .pKpiGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 3mm 4mm;
    }
    .pKpi{
      border:1px solid var(--pLine);
      border-radius:14px;
      padding:3.5mm 4mm;
      background: #fff;
    }
    .pKpiK{
      font-size:8.6pt;
      color:#64748b;
      text-transform: uppercase;
      letter-spacing:.6px;
      font-weight:800;
      margin-bottom:1mm;
    }
    .pKpiV{
      font-size:12pt;
      color:#0f172a;
      font-weight:950;
      line-height:1.1;
    }

    /* --- KARTY / TABUĽKY --- */
    .pCard{
      break-inside: avoid;
      page-break-inside: avoid;
      border:1px solid var(--pLine);
      border-radius:16px;
      padding:5mm;
      margin: 0 0 3mm 0;
      background:#fff;
      box-shadow: 0 6px 16px rgba(15,23,42,.06);
    }
    .pCardTitle{
      font-size:11pt;
      font-weight:900;
      margin: 0 0 2.2mm 0;
      color:#0f172a;
    }
    .pInputsGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 2.4mm 7mm;
      align-items:start;
    }
    .pKV{
      font-size:9.4pt;
      line-height:1.18;
      color:#0f172a;
    }
    .pKV b{
      display:block;
      font-size:7.6pt;
      color:#64748b;
      font-weight:800;
      text-transform: uppercase;
      letter-spacing:.7px;
      margin-bottom:.5mm;
    }

    /* --- GRAF --- */
    .pChartBox{
      border:1px solid var(--pLine);
      border-radius:16px;
      padding:5mm;
      background: linear-gradient(180deg, rgba(2,6,23,.015), rgba(255,255,255,1));
      box-shadow: 0 6px 16px rgba(15,23,42,.06);
    }
    .pChartSvg{
      width: 100%;
      height: auto;
      display:block;
      border-radius: 12px;
      overflow:hidden;
      background: #fff;
    }
    .pChartNote{
      margin-top: 1.8mm;
      font-size: 9pt;
      color:#64748b;
      line-height:1.25;
    }
    .pSmallNote{
      margin-top: 2mm;
      font-size: 8.6pt;
      color:#64748b;
      line-height:1.25;
    }

    /* --- Druhá strana --- */
    .pPageBreak{ page-break-before: always; }
    .pHelpTitle{ font-size:15pt; font-weight:950; margin: 0 0 4mm 0; color:#0f172a; }
    .pHelpSection{ margin-bottom:3mm; }
    .pHelpSection h3{ font-size:10.7pt; font-weight:900; margin: 0 0 1.2mm; color:#0f172a; }
    .pHelpItem{ font-size:9.6pt; line-height:1.22; color:#334155; margin-bottom:1.1mm; }
    .pHelpItem b{ font-weight:800; color:#0f172a; }
    .pHelpMeta{ font-size:8.6pt; color:#64748b; margin-top:.6mm; line-height:1.15; }

/* ===== V3 polish: market section separation ===== */
.marketWrap{
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(148,163,184,.18);
  position: relative;
}
.marketWrap::before{
  content:"";
  position:absolute;
  left:-2px; right:-2px; top:8px; bottom:-6px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(56,189,248,.08), rgba(34,197,94,.05) 55%, rgba(2,6,23,0));
  border: 1px solid rgba(56,189,248,.16);
  pointer-events:none;
  opacity:.95;
}
.marketWrap > *{ position: relative; }

/* Make the “market” intro line feel like a section header */
.marketWrap .row{
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(2,6,23,.18);
  border: 1px solid rgba(148,163,184,.18);
}

/* Market box: a bit more contrast from the hero */
#marketBox{
  margin-top: 12px !important;
  padding: 12px;
  border-radius: 16px;
  background: rgba(2,6,23,.22);
  border: 1px solid rgba(148,163,184,.18);
}

/* ===== History modal polish ===== */
.midCard{
  background: linear-gradient(180deg, rgba(2,6,23,.78), rgba(2,6,23,.62));
  border: 1px solid rgba(148,163,184,.16);
  box-shadow: 0 18px 55px rgba(0,0,0,.55);
}
.midHeader{
  position: sticky;
  top: 0;
  z-index: 2;
  padding-bottom: 10px;
  background: linear-gradient(180deg, rgba(2,6,23,.92), rgba(2,6,23,.70));
  border-bottom: 1px solid rgba(148,163,184,.12);
  backdrop-filter: blur(10px);
}
.midHeader .row{ gap:10px; flex-wrap: wrap; justify-content:flex-end; }
.midTitle{ letter-spacing:.2px; }
.histList{
  padding-right: 6px;
}
.histItem{
  background: rgba(15,23,42,.35);
  border: 1px solid rgba(148,163,184,.16);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
  transition: transform .12s ease, border-color .12s ease;
}
.histItem:hover{
  transform: translateY(-1px);
  border-color: rgba(56,189,248,.28);
}
.histTop .t{
  font-size: 18px;
  letter-spacing:.2px;
}
.histTop .p{
  font-weight: 900;
  background: linear-gradient(90deg, rgba(56,189,248,1), rgba(34,197,94,1));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.35));
}
.histMeta{
  color: rgba(226,232,240,.72);
}
/* Footer hint in history */
.midHint{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed rgba(148,163,184,.18);
  color: rgba(226,232,240,.62);
}


/* ===== v15 PDF tuning ===== */
.pMetaBubbleStrong{ border-width:1.2px; }
.pHeroGrid{ display:grid; grid-template-columns: 1.3fr .9fr; gap:3mm; margin-bottom:3mm; }
.pHeroMainCard{ padding:7mm; }
.pPriceMain{ font-size:28pt; line-height:1; letter-spacing:.1px; }
.pHeroSideCard{ display:flex; flex-direction:column; justify-content:center; }
.pTwoCol{ display:grid; grid-template-columns: 1.1fr .9fr; gap:3mm; }
.pCommentLead{ font-size:9.4pt; color:#475569; margin-bottom:2mm; }
.pNoteClean{ margin-top:0; padding-top:0; border-top:none; }
.pFactList{ display:flex; flex-direction:column; gap:1.8mm; }
.pFactRow{ display:flex; justify-content:space-between; gap:4mm; padding:2.2mm 0; border-bottom:1px solid var(--pLine); font-size:9.4pt; }
.pFactRow:last-child{ border-bottom:none; }
.pFactRow span{ color:#64748b; }
.pFactRow b{ color:#0f172a; font-weight:900; text-align:right; }
.pRangeRow{ display:flex; justify-content:space-between; align-items:flex-start; gap:4mm; margin-top:3mm; padding-top:3mm; border-top:1px solid var(--pLine); }
.pRangeLabel{ font-size:8.8pt; color:#64748b; }
.pRangeValue{ font-size:11pt; font-weight:900; color:#0f172a; text-align:right; }
.pMarketNote{ margin-top:2.2mm; font-size:8.8pt; line-height:1.25; color:#475569; }
.pBulletList{ font-size:9pt; line-height:1.35; color:#475569; display:flex; flex-direction:column; gap:1.4mm; }
@media print{
  .pHeroGrid, .pTwoCol{ grid-template-columns: 1fr 1fr; }
}


/* ===== v16 compact PDF tuning ===== */
.pMetaBubbleCompact{ margin:2mm 0 3mm 0; padding:2.8mm 4mm; }
.pHeroGridCompact{ gap:2.5mm; margin:2mm 0 2mm 0; }
.pCompactBox{ padding:3.4mm; margin-bottom:2.2mm; border-radius:14px; }
.pFactListCompact{ gap:.8mm; }
.pFactListCompact .pFactRow{ padding:1.2mm 0; font-size:8.8pt; }
.pStateLine{ margin-top:1.2mm !important; font-size:9pt; }
.pMiniGridCompact{ gap:1.8mm 2.4mm; }
.pMiniGridCompact .pMini{ padding:2.4mm 3mm; border-radius:12px; }
.pMiniGridCompact .pMini .k{ font-size:7.8pt; }
.pMiniGridCompact .pMini .v{ font-size:10.2pt; }
.pMetaNoteCompact{ margin-top:2mm; font-size:8.2pt; line-height:1.24; color:#475569; border-top:1px solid var(--pLine); padding-top:2mm; }
@media print{
  #printArea{ padding:8mm 9mm !important; }
  .pTopBar{ margin-bottom:2mm; padding:3.5mm 4mm; border-radius:12px; }
  .pBrand .name{ font-size:14pt; }
  .pBrand .sub{ font-size:8.8pt; }
  .pCalcId{ top:2.2mm; right:4mm; font-size:8px; }
  .pMetaBubble{ font-size:8.6pt; }
  .pHeroMainCard{ padding:4.5mm; }
  .pPriceMain{ font-size:24pt; }
  .pSectionTitle{ font-size:10pt; margin-bottom:1.4mm; }
  .pLabel{ font-size:8.8pt; margin-bottom:1mm; }
  .pNoteClean, .pMarketNote, .pBulletList{ font-size:8.2pt; line-height:1.2; }
  .pRangeRow{ margin-top:2mm; padding-top:2mm; }
  .pRangeValue{ font-size:10pt; }
  .pTwoColCompact{ gap:2.5mm; }
}


.pMarketIndicator{ margin-top:2.4mm; }
.pIndicatorSvg, .pAgeSvg{ width:100%; height:auto; display:block; }
.pAgeChart{ margin-top:2.4mm; }
.pAgeChartTitle{ font-size:10pt; font-weight:900; color:#0f172a; margin:0 0 1.6mm; }


/* v20 print fixes */
@media print{
  #printArea{padding:6mm 7mm !important; width:auto !important; min-height:auto !important; height:auto !important; overflow:visible !important;}
  .pTopBar{margin-bottom:1.5mm !important; padding:2.8mm 3.2mm !important;}
  .pMetaBubbleCompact{margin:1.2mm 0 2mm 0 !important; padding:2.2mm 3mm !important;}
  .pHeroGridCompact{gap:1.8mm !important; margin:1.2mm 0 1.6mm 0 !important;}
  .pCompactBox{padding:2.6mm !important; margin-bottom:1.5mm !important; border-radius:12px !important;}
  .pAgeChart{margin-top:1.4mm !important;}
  .pAgeChartTitle{margin:0 0 1mm !important;}
  .pMiniGridCompact{gap:1.2mm 1.8mm !important;}
  .pFactListCompact .pFactRow{padding:.9mm 0 !important;}
  .pMetaNoteCompact{margin-top:1.3mm !important; padding-top:1.3mm !important; font-size:7.7pt !important; line-height:1.15 !important;}
  .pRangeInline{margin-top:1.2mm !important; font-size:8.3pt !important; color:#64748b !important;}
  .pRangeInline b{display:block; margin-top:.6mm; color:#0f172a !important; font-size:10.8pt !important; font-weight:900 !important;}
  .pPriceMain{font-size:22pt !important;}
  .pSectionTitle{font-size:9.6pt !important; margin-bottom:1mm !important;}
  .pLabel{font-size:8.2pt !important; margin-bottom:.6mm !important;}
  .pNoteClean, .pMarketNote{font-size:7.9pt !important; line-height:1.16 !important;}
  .pMiniGridCompact .pMini .k{font-size:7.2pt !important;}
  .pMiniGridCompact .pMini .v{font-size:9.6pt !important;}
  .pSvgWrap{margin-top:.6mm !important;}
}


/* v23 compact one-page report */
#printArea .pReportCompact{padding:8mm 9mm 7mm; color:#0f172a; background:#fff;}
#printArea .pHeroGridCompact{display:grid; grid-template-columns:1.1fr .9fr; gap:4mm; margin:0 0 4mm;}
#printArea .pPriceMain{font-size:24pt; line-height:1; margin:1mm 0;}
#printArea .pHeroMainCard, #printArea .pHeroSideCard, #printArea .pCompactBox{padding:4mm 4.5mm !important;}
#printArea .pRangeInline{margin-top:2mm; font-size:10pt; color:#64748b;}
#printArea .pRangeInline b{display:block; margin-top:1mm; color:#0f172a; font-size:12pt;}
#printArea .pStateLine{margin-top:2mm; font-size:10pt; color:#475569;}
#printArea .pFactRow{display:flex; justify-content:space-between; gap:10px; padding:2.2mm 0; border-bottom:1px solid #e5e7eb; font-size:10pt;}
#printArea .pFactRow:last-child{border-bottom:0;}
#printArea .pFactRow span{color:#64748b;} #printArea .pFactRow b{color:#0f172a;}
#printArea .pAgeCard{margin-bottom:4mm;} 
#printArea .pAgeChartWrap svg{width:100%; height:140px; display:block;}
#printArea .pMarketCard{margin-bottom:4mm;}
#printArea .pMiniGridCompact{display:grid; grid-template-columns:1fr 1fr; gap:2.5mm 3mm; margin-bottom:2.5mm;}
#printArea .pMiniGridCompact .pMini{padding:2.8mm 3.2mm; border-radius:12px;}
#printArea .pMiniGridCompact .k{font-size:8.5pt; color:#64748b;} 
#printArea .pMiniGridCompact .v{font-size:10.8pt; font-weight:900; color:#0f172a;}
#printArea .pIndicatorTitle{font-size:9pt; font-weight:800; color:#475569; margin:0 0 1.2mm;}
#printArea .pMarketIndicator{margin-top:1.2mm;}
#printArea .pMarketIndicator svg{width:100%; height:56px; display:block;}
#printArea .pMarketNote{margin-top:1.6mm; font-size:8.8pt; color:#475569; line-height:1.22;}
#printArea .pNotesStack{display:flex; flex-direction:column; gap:2.5mm; margin-top:0;}
#printArea .pNoteClean{margin:0; padding:0; border-top:0; font-size:9.2pt; line-height:1.25; color:#334155;}
#printArea .pMetaNoteCompact{font-size:8.7pt; line-height:1.24; color:#475569; border-top:1px solid #e5e7eb; padding-top:2mm;}
#printArea .pTopBar{margin-bottom:3mm !important;}
#printArea .pMetaBubbleCompact{margin:2mm 0 3mm !important;}
@media print{
  #printArea .pReportCompact{min-height:auto !important;}
  #printArea .pHeroGridCompact{grid-template-columns:1.08fr .92fr;}
  #printArea .pBox, #printArea .pMetaBubble{box-shadow:none !important;}
}


.pOnePage{max-width:190mm;margin:0 auto;}
.pNotesStack{display:block;}
.pMetaNoteCompact{margin:2mm 0 3mm 0;font-size:8.5pt;line-height:1.22;color:#475569;}
.pAgeChartWrap svg{width:100%;height:auto;max-height:46mm;}
.pMarketIndicator svg{width:100%;height:auto;max-height:22mm;}
.pCompactBox{padding:3.5mm;}
.pHeroGridCompact{display:grid;grid-template-columns:1.1fr .9fr;gap:3mm;}
.pPriceMain{font-size:24pt;}
.pRangeInline{margin-top:1.2mm;font-size:9pt;color:#64748b;}
.pStateLine{margin-top:1.2mm;}


/* safe footer spacing tweak */
@media print{
  .pNoteClean{
    margin-top: 4mm !important;
  }
}

@media print{
  body #app{display:none !important;}
  body #printArea{display:block !important;}
}


/* printing mode fix */
body.okc-printing #app{ display:none !important; }
body.okc-printing #printArea{ display:block !important; }


/* v39 print reliability */
@media print{
  .panelScroll,
  .panelInputs,
  .panelResult{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
  }

  body.okc-printing,
  body.okc-printing html{
    background:#fff !important;
  }

  body.okc-printing #app{
    display:none !important;
  }

  body.okc-printing #printArea{
    display:block !important;
  }

  #printArea{
    position:static !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}
