
/* PDF/print report mirrors the calculator's two-panel layout and field order. */
.mirror-paper .report-introduction h1{font:clamp(39px,4.4vw,48px)/1.04 var(--pm-heading-font, "Chewy"),cursive;letter-spacing:-.5px}
.mirror-paper .report-introduction h1 span{color:var(--pm-mint, #20DCC0);-webkit-text-stroke:.3px var(--pm-black, #000000)}
.mirror-paper .report-lead{max-width:100%}
.mirror-layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);gap:13px;align-items:start;margin-bottom:23px}
.mirror-form,.mirror-results{border:2px solid var(--pm-black, #000000);border-radius:14px;background:var(--pm-white, #FFFFFF);min-width:0;padding:16px}
.mirror-results{background:#f7faf9}
.mirror-panel-heading .panel-index{font:800 9px/1.4 var(--pm-body-font, "DM Sans"),sans-serif;color:#53605e;letter-spacing:1.3px}
.mirror-panel-heading h2{font:25px/1.12 var(--pm-heading-font, "Chewy"),cursive;margin:6px 0 17px}
.mirror-income-group{background:#effdf9;border:1px solid #b6e7de;border-radius:10px;padding:13px;margin-bottom:21px}
.mirror-income-label{font-size:11px;font-weight:800}
.mirror-income-label span{font-weight:500;color:#516560}
.mirror-income-values{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 7px}
.mirror-income-values strong{font-size:19px;font-weight:800;background:var(--pm-white, #FFFFFF);border:1px solid #cbd4d1;border-radius:7px;padding:8px 9px;overflow-wrap:anywhere;min-width:0;flex:1}
.mirror-income-values>span{background:var(--pm-white, #FFFFFF);border:1px solid #cbd4d1;border-radius:7px;padding:11px 7px;font-size:9px;font-weight:800;white-space:nowrap}
.mirror-income-group p{font-size:9px;line-height:1.5;color:#55736b;margin:0}
.mirror-conversion{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #b6e7de;margin-top:9px;padding-top:9px;font-size:10px;color:#435650}
.mirror-conversion strong{color:var(--pm-black, #000000);white-space:nowrap}
.mirror-section{margin:0 0 20px}
.mirror-section:last-child{margin-bottom:0}
.mirror-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px;break-after:avoid}
.mirror-section-heading h3{font:800 13px var(--pm-body-font, "DM Sans"),sans-serif;margin:0 0 3px}
.mirror-section-heading p{font:500 9px/1.45 var(--pm-body-font, "DM Sans"),sans-serif;color:#697570;margin:0}
.mirror-index{display:grid;place-items:center;flex:none;width:27px;height:27px;border:1.5px solid var(--pm-black, #000000);border-radius:7px;background:var(--pm-mint, #20DCC0);font-weight:800;font-size:10px}
.mirror-expense-rows{border-top:1px solid #e6ece9}
.mirror-expense-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e6ece9;font:700 10px/1.4 var(--pm-body-font, "DM Sans"),sans-serif;break-inside:avoid-page}
.mirror-expense-row>span{flex:1;min-width:0;overflow-wrap:anywhere}
.mirror-expense-row strong{font-size:10px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.mirror-expense-row small{display:block;font-weight:500;font-size:9px;color:#75827d;margin:2px 0}
.mirror-expense-row.subrow{background:#f3fffb;padding-left:8px}
.mirror-no-expenses{color:#6d7d74;font-size:10px;line-height:1.5}
.mirror-results-intro{font-size:10px;color:#60706a;margin:-7px 0 16px}
.mirror-highlight{background:var(--pm-mint, #20DCC0);border:2px solid var(--pm-black, #000000);border-radius:12px;padding:14px 12px}
.mirror-highlight>span{display:block;font-size:10px;font-weight:800}
.mirror-highlight strong{display:block;font-size:clamp(25px,3vw,32px);letter-spacing:-.6px;margin:6px 0 2px;overflow-wrap:anywhere}
.mirror-highlight p{font:700 9px/1.5 var(--pm-body-font, "DM Sans"),sans-serif;margin:0}
.mirror-highlight.is-short{background:var(--pm-white, #FFFFFF)}
.mirror-highlight.is-short strong,.mirror-highlight.is-short p{color:#a72d30}
.mirror-metrics{padding:10px 0 16px;border-bottom:1px solid #d8e2dd}
.mirror-metrics>div,.mirror-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 0;font-size:10px}
.mirror-metrics>div span,.mirror-breakdown-row>span{color:#52615b}
.mirror-metrics strong,.mirror-breakdown-row strong{text-align:right;white-space:nowrap;font-size:10px}
.mirror-breakdown-title{font:800 12px var(--pm-body-font, "DM Sans"),sans-serif;margin:16px 0 10px}
.mirror-bar{display:flex;overflow:hidden;border:1px solid #b7c3bd;border-radius:10px;height:13px;background:var(--pm-white, #FFFFFF)}
.mirror-bar>span{height:100%;flex:none;min-width:0}
.mirror-breakdown{margin:12px 0 10px}
.mirror-breakdown-row>span{display:flex;align-items:center;gap:6px;line-height:1.3}
.mirror-breakdown-row i{width:9px;height:9px;flex:none;border:1px solid #0003;border-radius:2px}
.mirror-math-note{font-size:9px;line-height:1.6;color:#64716d;border-top:1px solid #d8e2dd;padding-top:12px}
.mirror-paper .report-footer{margin-top:20px}
@media(max-width:660px){
 .mirror-layout{grid-template-columns:1fr;gap:15px}
 .mirror-panel-heading h2{font-size:28px}
 .mirror-form,.mirror-results{padding:16px}
}
@media print{
 .mirror-paper .report-introduction h1{font-size:39px}
 .mirror-paper .report-introduction{margin-bottom:15px}
 .mirror-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:10px}
 .mirror-form,.mirror-results{padding:13px;border-radius:9px}
 .mirror-panel-heading h2{font-size:21px;margin-bottom:12px}
 .mirror-income-group{padding:10px;margin-bottom:15px}
 .mirror-income-values strong{font-size:16px}
 .mirror-section{margin-bottom:14px}
 .mirror-section-heading h3{font-size:11px}
 .mirror-section-heading p{font-size:8px}
 .mirror-expense-row{font-size:9px;padding:6px 0}
 .mirror-expense-row strong{font-size:9px}
 .mirror-highlight{padding:10px}
 .mirror-highlight strong{font-size:24px}
 .mirror-metrics>div,.mirror-breakdown-row{padding:6px 0;font-size:9px}
 .mirror-metrics strong,.mirror-breakdown-row strong{font-size:9px}
 .mirror-math-note{font-size:8px}
 .mirror-paper .report-footer{margin-top:12px}
 .mirror-section-heading,.mirror-expense-row,.mirror-income-group,.mirror-highlight{break-inside:avoid-page}
}

/* Name and surname in branded PDF print report. */
.report-prepared-for{display:flex;gap:12px;align-items:baseline;margin:10px 0 19px;padding:11px 14px;background:#effdf9;border-left:4px solid var(--pm-mint, #20DCC0);border-radius:0 7px 7px 0}
.report-prepared-for span{font:800 10px var(--pm-body-font, "DM Sans"),sans-serif;letter-spacing:.07em;color:#53615b;white-space:nowrap}
.report-prepared-for strong{font:700 19px var(--pm-body-font, "DM Sans"),sans-serif;color:var(--pm-black, #000000);overflow-wrap:anywhere}
@media print{.report-prepared-for{margin:5px 0 13px;padding:7px 11px}.report-prepared-for strong{font-size:15px}}

/* Website address on the personalised PDF in screen and printed layouts. */
.report-site-address{font-weight:800;color:var(--pm-black, #000000);font-size:9px;letter-spacing:0;overflow-wrap:anywhere}
.report-website{display:block;color:#087765;font-weight:800;font-size:11px;margin-top:5px;text-decoration:none;overflow-wrap:anywhere}
@media print{.report-website{font-size:10px;color:var(--pm-black, #000000)}.report-site-address{font-size:8px}}

/* Expense overflow: screen view remains the calculator's two-column layout. */
.print-only-expense-page { display: none !important; }

@media print {
  /* Print page fragments must not cut across a grid item's outside border.
     Stack print cards in document order and provide an independent closed frame
     around every section rather than one continuous box split by the printer. */
  .mirror-paper .mirror-layout {
    display: block !important;
    margin-bottom: 12px;
  }
  .mirror-paper .mirror-form {
    display: block;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0;
    break-inside: auto;
  }
  .mirror-paper .mirror-form > .mirror-panel-heading,
  .mirror-paper .mirror-section,
  .mirror-paper .mirror-income-group {
    border: 2px solid var(--pm-black, #000000) !important;
    border-radius: 9px;
    padding: 11px 13px;
    margin: 0 0 12px;
    background-color: var(--pm-white, #FFFFFF);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }
  .mirror-paper .mirror-income-group {
    background-color: #effdf9;
    border-color: var(--pm-black, #000000) !important;
  }
  .mirror-paper .mirror-results {
    display: block;
    background-color: #f7faf9 !important;
    border: 2px solid var(--pm-black, #000000) !important;
    border-radius: 9px !important;
    padding: 12px 14px !important;
    margin: 0 0 12px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }
  /* Print-only continuations replace an oversized custom-expense section.
     Six complete rows per bounded card keep borders closed at page endings. */
  .mirror-paper .print-original-suppressed { display: none !important; }
  .mirror-paper .print-only-expense-page { display: block !important; }
  .mirror-paper .mirror-expense-row,
  .mirror-paper .mirror-section-heading,
  .mirror-paper .mirror-panel-heading,
  .mirror-paper .report-header,
  .mirror-paper .report-introduction,
  .mirror-paper .report-footer {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }
  .mirror-paper .mirror-section-heading {
    break-after: avoid-page;
    page-break-after: avoid;
  }
  .mirror-paper .mirror-expense-row {
    display: flex;
    align-items: center;
    min-height: 23px;
    padding: 7px 0;
    border-bottom: 1px solid #e2e8e5;
  }
  .mirror-paper .mirror-expense-rows {
    border-top: 1px solid #e2e8e5;
  }
  .mirror-paper .report-footer {
    margin-top: 8px;
  }
}
