:root{
  --navy:#0b2a3d; --blue:#0d80a3; --teal:#13a2b8; --red:#a31422; --bg:#f6fafc; --line:#d9edf3; --muted:#5e7480; --soft:#edf7fa;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#f9fdff,#eef8fb);color:var(--navy)}
a{text-decoration:none;color:inherit}.page-shell,.report-shell{max-width:1240px;margin:auto;padding:24px}.hero-card{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:center;background:linear-gradient(120deg,#06324b,#0e91ae);color:#fff;border-radius:26px;padding:34px;box-shadow:0 18px 45px rgba(10,69,91,.18)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:800;color:#0b6e8c}.eyebrow.light{color:#c6f5ff}.hero-card h1{font-size:42px;margin:10px 0}.hero-card p{max-width:680px;color:#dff7fb;line-height:1.7}.hero-actions,.nav-actions,.report-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:0;border-radius:13px;padding:13px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px}.btn.primary{background:#0b85a5;color:#fff;box-shadow:0 10px 22px rgba(13,128,163,.25)}.btn.soft{background:#eef8fb;color:#0d4255;border:1px solid var(--line)}.score-preview{aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.17);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.score-preview strong{font-size:44px}.score-preview span,.score-preview small{color:#e9fbff;font-weight:800}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.mini-card,.form-panel,.report-section{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 32px rgba(10,69,91,.07)}.mini-card{display:flex;flex-direction:column;gap:8px}.mini-card span,.section-head p,.title-block p{color:var(--muted);line-height:1.6}.risk-form{margin-top:16px}.form-panel{display:none}.form-panel.active{display:block}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.section-tag,.title-block span{font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--red)}h2{margin:4px 0 0;font-size:24px}.input-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;color:#173647}input,select{width:100%;border:1.5px solid #122b3a;border-radius:13px;padding:14px 14px;background:#fff;font-size:15px;outline:none}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(19,162,184,.12)}.chips-box{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.chips-box label{display:block}.chips-box input{display:none}.chips-box span{display:flex;align-items:center;justify-content:center;min-height:54px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:900;color:#244759;cursor:pointer}.chips-box input:checked+span{background:#0d87a6;color:#fff;border-color:#0d87a6}.form-footer{position:sticky;bottom:0;margin-top:18px;background:rgba(246,250,252,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:18px}.progress-wrap{flex:1}.progress-wrap span{font-weight:900;color:#2f5363}.progress{height:9px;background:#d8edf3;border-radius:999px;margin-top:8px;overflow:hidden}.progress i{display:block;height:100%;width:25%;background:linear-gradient(90deg,#08769a,#14b3c5);border-radius:999px}.hidden{display:none!important}.shake{animation:shake .35s}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.report-hero{background:linear-gradient(120deg,#07324d,#13a2b8);color:#fff;border-radius:24px;padding:26px;display:flex;justify-content:space-between;gap:24px;align-items:center}.report-hero h1{margin:12px 0;font-size:30px}.report-hero p{color:#e5fbff;max-width:720px;line-height:1.7}.pill-row{display:flex;gap:10px;flex-wrap:wrap}.pill-row span{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:999px;font-weight:800}.big-score{width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex-shrink:0}.big-score strong{font-size:34px}.report-section{margin-top:18px}.title-block span{color:var(--red);font-size:22px;letter-spacing:0;text-transform:uppercase}.summary-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.good-card,.metric-card,.reason-card,.chart-card,.action-card,.policy-card,.investment-grid div{border:1px solid #e3f0f4;background:#fff;border-radius:18px;padding:18px}.good-card ul{padding-left:18px;line-height:2}.metric-card small,.investment-grid small,.reason-card small{color:var(--muted);font-weight:900;text-transform:uppercase}.metric-card b{display:block;font-size:24px;margin-top:10px}.metric-card.wide{grid-column:span 2}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.reason-card h3{margin:8px 0}.chart-row{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;margin-top:16px}.donut{width:170px;height:170px;border-radius:50%;margin:20px auto;background:conic-gradient(#c9202e 0 70%,#f37032 70% 86%,#0b83a4 86%);position:relative;display:flex;align-items:center;justify-content:center}.donut:after{content:"";width:95px;height:95px;background:#fff;border-radius:50%;position:absolute}.donut span{position:relative;z-index:1;font-size:28px;font-weight:900}.bar-line{display:grid;grid-template-columns:145px 1fr 35px;gap:10px;align-items:center;margin:14px 0}.bar-line label{font-weight:800}.bar-line div{height:16px;background:#edf6f8;border-radius:999px;overflow:hidden}.bar-line i{height:100%;display:block;background:linear-gradient(90deg,#113b55,#12a1bd);border-radius:999px}.action-grid,.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.action-card b{width:34px;height:34px;background:#0e86a5;color:#fff;border-radius:50%;display:grid;place-items:center}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.before-after div{background:#f0f9fb;border-radius:18px;padding:20px;text-align:center;border:1px solid var(--line)}.before-after span{display:block;color:var(--muted);font-weight:900}.before-after strong{display:block;font-size:32px;margin-top:8px}.investment-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.investment-grid b{display:block;font-size:20px;margin-top:8px}.ai-note,.notice{margin-top:14px;background:#f1f9fb;border:1px solid var(--line);border-radius:16px;padding:16px;line-height:1.7}.policy-grid{grid-template-columns:repeat(2,1fr)}.policy-top{display:flex;align-items:center;gap:10px}.policy-icon{width:38px;height:38px;border-radius:12px;background:#e9f8fb;display:grid;place-items:center}.policy-top em{margin-left:auto;background:#e5f9fd;color:#0d7c98;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;font-style:normal}.policy-card p{line-height:1.6;color:#4c6570}.mini-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-two div{background:#f7fbfc;border:1px solid #e4f0f4;border-radius:14px;padding:12px}.mini-two b,.mini-two span{display:block}.mini-two span{font-size:13px;color:#5f737c;margin-top:6px}.effect{margin-top:12px;background:#f4fafb;border-radius:12px;padding:12px;text-transform:uppercase;font-weight:900}.effect strong{font-size:24px;margin-left:8px}.final-note h2{margin-top:0}.final-note p{color:#556f79}.report-actions{margin-top:16px}@media print{.report-actions{display:none}.report-shell{padding:0}.report-section,.report-hero{break-inside:avoid;box-shadow:none}}@media(max-width:900px){.hero-card,.summary-grid,.chart-row,.action-grid,.policy-grid,.investment-grid,.input-grid,.chips-box,.quick-grid{grid-template-columns:1fr}.section-head,.form-footer,.report-hero{flex-direction:column;align-items:stretch}.big-score{margin:auto}.metric-card.wide{grid-column:auto}.reason-grid{grid-template-columns:1fr 1fr}.bar-line{grid-template-columns:110px 1fr 30px}}@media(max-width:560px){.page-shell,.report-shell{padding:14px}.hero-card h1{font-size:30px}.reason-grid,.before-after{grid-template-columns:1fr}.mini-two{grid-template-columns:1fr}.form-footer{position:static}.nav-actions .btn{flex:1}}

/* Updated compact single-page stepper layout */
.topbar{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center;background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 18px 45px rgba(10,69,91,.10);margin-bottom:18px}
.topbar h1{font-size:38px;margin:8px 0;color:#082d43}.topbar p{max-width:780px;color:var(--muted);line-height:1.7}.score-preview.compact{width:185px;height:185px;background:linear-gradient(135deg,#06324b,#16a7bd);color:#fff}.score-preview.compact strong{font-size:34px}.score-preview.compact span,.score-preview.compact small{color:#e8fbff}
.single-page-form{display:grid;grid-template-columns:285px 1fr;gap:18px;align-items:start}.stepper-card{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 12px 32px rgba(10,69,91,.07)}.stepper-card h3{margin:0 0 16px;font-size:20px}.step-pill{display:flex;gap:12px;align-items:center;border:1px solid #e2eff4;background:#f8fcfd;border-radius:17px;padding:13px;margin-bottom:12px;cursor:pointer}.step-pill b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dfeff4;color:#0d4255}.step-pill span{font-weight:900;color:#315263}.step-pill.active{border-color:#0b86a5;background:#eefbff;box-shadow:0 8px 20px rgba(13,128,163,.12)}.step-pill.active b,.step-pill.done b{background:#0b86a5;color:#fff}.step-pill.done{background:#f1fbf7;border-color:#ceeadc}.mini-note{margin-top:14px;background:#fff8e8;border:1px solid #f0dfb0;border-radius:16px;padding:13px;font-size:13px;line-height:1.5;color:#5d4b1f;font-weight:800}.form-stack{min-width:0}.single-page-form .form-panel{margin-bottom:0}.soft-glow{box-shadow:0 16px 36px rgba(10,69,91,.08)}.input-grid.two-col{grid-template-columns:repeat(2,1fr)}.input-grid.three-col{grid-template-columns:repeat(3,1fr)}.field-title{font-size:13px;font-weight:900;color:#173647;margin-bottom:10px;display:block}.compact-chips{grid-template-columns:repeat(3,1fr)}.compact-chips span{min-height:48px;padding:0 14px}.space-top{margin-top:18px}.inline-footer{position:static;margin-top:18px}.single-page-form input,.single-page-form select{border-color:#0e2634;background:#fff}.single-page-form label{font-size:13px}.single-page-form .section-head{border-bottom:1px solid #eef5f7;padding-bottom:14px}.single-page-form .section-head h2{font-size:23px}.single-page-form .section-tag{color:#9d1420}
@media(max-width:980px){.topbar,.single-page-form{grid-template-columns:1fr}.stepper-card{position:static}.score-preview.compact{display:none}.input-grid.three-col{grid-template-columns:1fr}.compact-chips{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.input-grid.two-col,.compact-chips{grid-template-columns:1fr}.topbar h1{font-size:30px}.single-page-form .section-head{flex-direction:column}.nav-actions{width:100%}.nav-actions .btn{flex:1}}
.field-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px;flex-wrap:wrap}.field-title-row .field-title{margin-bottom:0}.field-title-row small{font-size:12px;font-weight:800;color:#637f8c;background:#f3fbfd;border:1px solid #d9eef5;border-radius:999px;padding:7px 12px}.compact-chips label span{font-size:12.5px;text-align:center;line-height:1.25}

.policy-amount-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.policy-amount-grid div {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 12px;
}

.policy-amount-grid small {
  display: block;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 5px;
}

.policy-amount-grid strong {
  display: block;
  font-size: 15px;
  color: #0f172a;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .policy-amount-grid {
    grid-template-columns: 1fr;
  }
}

/* Exact two-page PDF report layout */
.report-toolbar{max-width:1080px;margin:18px auto 0;display:flex;justify-content:flex-end;gap:12px;padding:0 14px}.report-body.two-page-report{background:#eaf3f6}.print-report{max-width:1080px;margin:18px auto 40px}.pdf-page{background:#f7fbfc;border:1px solid #d8e9ef;border-radius:24px;box-shadow:0 18px 42px rgba(10,69,91,.12);padding:22px;margin-bottom:22px;min-height:820px}.compact-report-hero{padding:22px;border-radius:20px}.compact-report-hero h1{font-size:29px;margin:8px 0 6px}.compact-report-hero p{font-size:14px;line-height:1.55;margin:0 0 12px}.compact-score{width:142px;height:142px}.compact-score strong{font-size:27px}.compact-score span{font-size:13px;font-weight:900}.compact-section{margin-top:14px}.mini-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.mini-title span{font-size:18px}.mini-title p{margin:0;color:#637b86;font-size:12px;font-weight:700}.executive-grid{display:grid;grid-template-columns:2.1fr .75fr .75fr;gap:12px}.compact-card,.compact-risk-card,.compact-action-card,.compact-policy-card,.compact-investment-grid div{background:#fff;border:1px solid #e1eef2;border-radius:16px;padding:14px;box-shadow:0 8px 20px rgba(10,69,91,.04)}.summary-card-large p{margin:6px 0 8px;color:#4b6570;line-height:1.5}.compact-list{margin:0;padding-left:17px;line-height:1.8;color:#36525d}.compact-card.metric-card b{font-size:25px;margin-top:8px}.compact-risk-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.risk-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.risk-head b{font-size:13px;color:#15394a}.risk-head span{font-size:13px;font-weight:900;color:#0b7f9d}.mini-bar{height:9px;background:#e7f2f5;border-radius:999px;overflow:hidden;margin:10px 0 7px}.mini-bar i{height:100%;display:block;background:linear-gradient(90deg,#0e425e,#11a1bc);border-radius:999px}.compact-risk-card small{font-size:11px;color:#647985;font-weight:900}.compact-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.compact-action-card{display:flex;gap:10px}.compact-action-card>b{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#0b87a5;color:white;display:grid;place-items:center}.compact-action-card h3{font-size:14px;margin:0 0 5px;color:#12394a}.compact-action-card p{font-size:12px;line-height:1.45;margin:0;color:#546d78}.score-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.score-strip div{background:#eaf8fb;border:1px solid #cde8f0;border-radius:16px;padding:13px;text-align:center}.score-strip span{display:block;color:#607883;font-size:11px;text-transform:uppercase;font-weight:900}.score-strip strong{display:block;margin-top:5px;font-size:21px;color:#0b3044}.compact-investment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.compact-investment-grid small{display:block;color:#647985;font-size:11px;text-transform:uppercase;font-weight:900;min-height:30px}.compact-investment-grid b{display:block;color:#0d3045;font-size:19px;margin-top:7px}.compact-ai-note{margin-top:10px;background:#eaf8fb;border:1px solid #cde8f0;border-radius:14px;padding:12px;color:#295565;font-weight:800;font-size:13px}.compact-policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.compact-policy-card{padding:13px}.compact-policy-card h3{font-size:16px;margin:10px 0 6px;color:#102f42}.compact-policy-card p{font-size:12.5px;line-height:1.45;margin:0;color:#526b76}.compact-policy-top{gap:8px}.compact-policy-top .policy-icon{width:32px;height:32px;border-radius:10px}.compact-policy-top em{font-size:10px;padding:6px 8px}.compact-amount-grid{gap:8px;margin:10px 0 0}.compact-amount-grid div{border-radius:12px;padding:9px}.compact-amount-grid small{font-size:10.5px}.compact-amount-grid strong{font-size:13px}.final-compact-note{background:#fff;border:1px solid #e1eef2;border-radius:16px;padding:14px}.final-compact-note h2{font-size:18px;margin:0 0 6px;color:#113548}.final-compact-note p{font-size:13px;margin:0 0 8px;color:#536f7a}.compact-notice{font-size:11.5px;line-height:1.5;margin-top:0;padding:11px;border-radius:12px}

@media print{
  @page{size:A4;margin:8mm}
  html,body{width:210mm;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}
  .no-print,.report-toolbar{display:none!important}
  .print-report{max-width:none;margin:0!important}
  .pdf-page{width:194mm;min-height:281mm;height:281mm;margin:0 auto!important;padding:7mm!important;border:none!important;border-radius:0!important;box-shadow:none!important;page-break-after:always;break-after:page;overflow:hidden;background:#f7fbfc!important}
  .pdf-page:last-child{page-break-after:auto;break-after:auto}
  .compact-report-hero{padding:6mm!important;border-radius:7mm!important}
  .compact-report-hero h1{font-size:22pt!important}.compact-report-hero p{font-size:9.5pt!important}.pill-row span{font-size:8pt!important;padding:5px 8px!important}.compact-score{width:30mm!important;height:30mm!important}.compact-score strong{font-size:17pt!important}.compact-score span{font-size:8pt!important}.compact-section{margin-top:4mm!important}.mini-title{margin-bottom:3mm!important}.mini-title span{font-size:13pt!important}.mini-title p{font-size:8pt!important}.compact-card,.compact-risk-card,.compact-action-card,.compact-policy-card,.compact-investment-grid div,.final-compact-note{box-shadow:none!important;border-color:#dce9ee!important}.executive-grid{gap:3mm!important}.compact-card{padding:3.3mm!important}.summary-card-large p,.compact-list{font-size:8.5pt!important;line-height:1.45!important}.compact-card.metric-card b{font-size:17pt!important}.compact-risk-grid{gap:2.4mm!important}.compact-risk-card{padding:3mm!important}.risk-head b,.risk-head span{font-size:8.3pt!important}.compact-risk-card small{font-size:7pt!important}.compact-action-grid{gap:3mm!important}.compact-action-card{padding:3mm!important}.compact-action-card h3{font-size:9.2pt!important}.compact-action-card p{font-size:7.8pt!important;line-height:1.35!important}.score-strip{gap:3mm!important;margin-top:3mm!important}.score-strip div{padding:3mm!important}.score-strip span{font-size:7pt!important}.score-strip strong{font-size:13pt!important}.compact-investment-grid{gap:2.5mm!important}.compact-investment-grid div{padding:3mm!important}.compact-investment-grid small{font-size:7pt!important;min-height:auto}.compact-investment-grid b{font-size:12.5pt!important}.compact-ai-note{font-size:8.5pt!important;padding:3mm!important;margin-top:3mm!important}.compact-policy-grid{gap:3mm!important}.compact-policy-card{padding:3.2mm!important}.compact-policy-card h3{font-size:10.2pt!important;margin:2.2mm 0 1.5mm!important}.compact-policy-card p{font-size:7.7pt!important;line-height:1.35!important}.compact-policy-top .policy-icon{width:8mm!important;height:8mm!important}.compact-policy-top small,.compact-policy-top em{font-size:7pt!important}.compact-amount-grid{gap:2mm!important;margin-top:2mm!important}.compact-amount-grid div{padding:2.4mm!important}.compact-amount-grid small{font-size:6.8pt!important}.compact-amount-grid strong{font-size:8.2pt!important}.final-compact-note{padding:3mm!important}.final-compact-note h2{font-size:12pt!important}.final-compact-note p{font-size:8pt!important}.compact-notice{font-size:7.2pt!important;line-height:1.35!important;padding:2.5mm!important}
}

@media(max-width:900px){.executive-grid,.compact-risk-grid,.compact-action-grid,.score-strip,.compact-investment-grid,.compact-policy-grid{grid-template-columns:1fr}.pdf-page{min-height:auto}.mini-title{display:block}.report-toolbar{justify-content:stretch}.report-toolbar .btn{flex:1}.compact-score{display:none}}


/* Compact input and stepper refinements */
.page-shell{padding-top:14px}.topbar{padding:18px 22px;margin-bottom:12px;grid-template-columns:1fr 150px}.topbar h1{font-size:30px;margin:4px 0}.topbar p{margin:0;font-size:14px;line-height:1.45}.score-preview.compact{width:128px;height:128px}.score-preview.compact strong{font-size:25px}.single-page-form{gap:12px;grid-template-columns:250px 1fr}.stepper-card{padding:14px;border-radius:20px;top:12px}.stepper-card h3{font-size:17px;margin-bottom:10px}.step-pill{padding:10px 11px;margin-bottom:8px;border-radius:14px}.step-pill b{width:28px;height:28px;font-size:13px}.step-pill span{font-size:13px}.mini-note{font-size:12px;padding:10px;margin-top:8px}.form-panel{padding:18px;border-radius:20px}.single-page-form .section-head{margin-bottom:12px;padding-bottom:10px}.single-page-form .section-head h2{font-size:20px}.section-head p{font-size:13px;margin:0}.input-grid{gap:12px}.input-grid.two-col{grid-template-columns:repeat(2, minmax(0,1fr))}.single-page-form label{gap:5px;font-size:12.5px}.single-page-form input,.single-page-form select{padding:11px 12px;border-radius:11px;font-size:14px}.inline-footer{margin-top:10px;padding:11px 14px;border-radius:16px}.btn{padding:11px 16px}.progress{height:7px;margin-top:5px}.progress-wrap span{font-size:13px}.field-error{min-height:13px;color:#b91c1c;font-size:11px;font-weight:800;line-height:1.1}.invalid-field{border-color:#dc2626!important;box-shadow:0 0 0 4px rgba(220,38,38,.10)!important}
@media(max-width:980px){.topbar{grid-template-columns:1fr}.single-page-form{grid-template-columns:1fr}.score-preview.compact{display:none}}


/* Full-window balanced layout refinements */
@media (min-width: 981px) {
  .page-shell {
    max-width: 1380px;
    padding: 22px 34px 28px;
  }

  .topbar {
    padding: 24px 30px;
    margin-bottom: 22px;
    grid-template-columns: 1fr 170px;
  }

  .topbar h1 {
    font-size: 34px;
    margin: 6px 0;
  }

  .topbar p {
    font-size: 15px;
    max-width: 900px;
  }

  .score-preview.compact {
    width: 150px;
    height: 150px;
  }

  .single-page-form {
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
  }

  .stepper-card,
  .form-stack {
    min-height: 560px;
  }

  .stepper-card {
    height: 100%;
    padding: 28px;
    border-radius: 28px;
    display: flex;
    flex-direction: column;
  }

  .stepper-card h3 {
    font-size: 22px;
    margin-bottom: 18px;
  }

  .step-pill {
    padding: 17px 16px;
    margin-bottom: 14px;
    border-radius: 20px;
  }

  .step-pill b {
    width: 40px;
    height: 40px;
    font-size: 15px;
  }

  .step-pill span {
    font-size: 15px;
  }

  .mini-note {
    margin-top: auto;
    padding: 16px;
    font-size: 14px;
    border-radius: 18px;
  }

  .form-stack {
    display: flex;
    flex-direction: column;
  }

  .form-panel.active {
    flex: 1;
    min-height: 462px;
    padding: 30px;
    border-radius: 28px;
  }

  .single-page-form .section-head {
    margin-bottom: 22px;
    padding-bottom: 18px;
  }

  .single-page-form .section-head h2 {
    font-size: 28px;
  }

  .section-head p {
    font-size: 14.5px;
  }

  .input-grid {
    gap: 18px;
  }

  .single-page-form label {
    gap: 8px;
    font-size: 14px;
  }

  .single-page-form input,
  .single-page-form select {
    min-height: 52px;
    padding: 14px 15px;
    border-radius: 15px;
    font-size: 15px;
  }

  .compact-chips {
    gap: 16px;
  }

  .compact-chips span {
    min-height: 58px;
    font-size: 14px;
    padding: 0 18px;
  }

  .field-title-row {
    margin-bottom: 14px;
  }

  .space-top {
    margin-top: 24px;
  }

  .inline-footer {
    margin-top: 14px;
    padding: 16px 20px;
    border-radius: 22px;
  }

  .btn {
    min-height: 48px;
    padding: 13px 22px;
    border-radius: 15px;
  }

  .progress {
    height: 9px;
  }
}

@media (min-width: 1200px) {
  .stepper-card,
  .form-stack {
    min-height: 600px;
  }

  .form-panel.active {
    min-height: 500px;
  }
}

/* Final no-scroll balanced desktop layout override */
@media (min-width: 981px) {
  html, body {
    min-height: 100vh;
    overflow-x: hidden;
  }

  .page-shell {
    max-width: 1280px !important;
    padding: 10px 22px 12px !important;
  }

  .topbar {
    min-height: 86px !important;
    padding: 12px 18px !important;
    margin-bottom: 10px !important;
    border-radius: 20px !important;
    grid-template-columns: 1fr 112px !important;
    gap: 14px !important;
  }

  .topbar .eyebrow {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .topbar h1 {
    font-size: 25px !important;
    line-height: 1.1 !important;
    margin: 3px 0 4px !important;
  }

  .topbar p {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    max-width: 850px !important;
  }

  .score-preview.compact {
    width: 100px !important;
    height: 100px !important;
  }

  .score-preview.compact strong {
    font-size: 20px !important;
  }

  .score-preview.compact span,
  .score-preview.compact small {
    font-size: 10px !important;
  }

  .single-page-form {
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  .stepper-card {
    position: sticky !important;
    top: 10px !important;
    height: calc(100vh - 118px) !important;
    min-height: 440px !important;
    max-height: 560px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .stepper-card h3 {
    font-size: 18px !important;
    margin: 0 0 10px !important;
  }

  .step-pill {
    padding: 11px 12px !important;
    margin-bottom: 9px !important;
    border-radius: 15px !important;
    gap: 10px !important;
  }

  .step-pill b {
    width: 30px !important;
    height: 30px !important;
    font-size: 13px !important;
  }

  .step-pill span {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .mini-note {
    margin-top: auto !important;
    padding: 11px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    border-radius: 14px !important;
  }

  .form-stack {
    display: flex !important;
    flex-direction: column !important;
    height: calc(100vh - 118px) !important;
    min-height: 440px !important;
    max-height: 560px !important;
  }

  .form-panel {
    padding: 18px 20px !important;
    border-radius: 20px !important;
  }

  .form-panel.active {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .single-page-form .section-head {
    margin-bottom: 11px !important;
    padding-bottom: 8px !important;
    gap: 14px !important;
  }

  .section-tag {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .single-page-form .section-head h2 {
    font-size: 21px !important;
    line-height: 1.2 !important;
  }

  .section-head p {
    font-size: 12px !important;
    line-height: 1.4 !important;
    max-width: 360px !important;
  }

  .input-grid {
    gap: 10px 13px !important;
  }

  .input-grid.two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .input-grid.three-col,
  .level-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .single-page-form label {
    gap: 5px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .single-page-form input,
  .single-page-form select {
    min-height: 42px !important;
    padding: 9px 11px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
  }

  .field-error {
    min-height: 11px !important;
    font-size: 10px !important;
  }

  .field-title-row {
    margin-bottom: 8px !important;
  }

  .field-title-row .field-title {
    font-size: 12px !important;
  }

  .field-title-row small {
    font-size: 11px !important;
  }

  .compact-chips,
  .chips-box {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .compact-chips span,
  .chips-box span {
    min-height: 39px !important;
    padding: 0 10px !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    border-radius: 999px !important;
    text-align: center !important;
  }

  .space-top {
    margin-top: 12px !important;
  }

  .inline-footer {
    position: static !important;
    margin-top: 10px !important;
    padding: 10px 13px !important;
    border-radius: 16px !important;
    flex: 0 0 auto !important;
  }

  .progress-wrap span {
    font-size: 12px !important;
  }

  .progress {
    height: 7px !important;
    margin-top: 5px !important;
  }

  .nav-actions {
    gap: 8px !important;
  }

  .btn {
    min-height: 40px !important;
    padding: 9px 15px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }
}

@media (min-width: 981px) and (max-height: 720px) {
  .page-shell { padding-top: 7px !important; padding-bottom: 8px !important; }
  .topbar { min-height: 72px !important; padding: 9px 16px !important; margin-bottom: 8px !important; }
  .topbar h1 { font-size: 22px !important; margin-bottom: 2px !important; }
  .topbar p { font-size: 11.5px !important; line-height: 1.25 !important; }
  .score-preview.compact { width: 82px !important; height: 82px !important; }
  .score-preview.compact strong { font-size: 17px !important; }
  .stepper-card,
  .form-stack { height: calc(100vh - 96px) !important; min-height: 400px !important; }
  .step-pill { padding: 9px 10px !important; margin-bottom: 7px !important; }
  .form-panel { padding: 15px 18px !important; }
  .single-page-form .section-head { margin-bottom: 8px !important; padding-bottom: 6px !important; }
  .single-page-form .section-head h2 { font-size: 19px !important; }
  .single-page-form input,
  .single-page-form select { min-height: 39px !important; padding: 8px 10px !important; }
  .compact-chips span,.chips-box span { min-height: 34px !important; font-size: 11px !important; }
  .inline-footer { margin-top: 8px !important; padding: 8px 12px !important; }
  .btn { min-height: 36px !important; padding: 8px 13px !important; }
}

/* Prudent-style industry coverage preview */
.industry-coverage-card{
  margin-top:14px;
  border:1px solid #dcecf1;
  background:linear-gradient(135deg,#ffffff 0%,#f4fbfd 100%);
  border-radius:18px;
  padding:14px;
  box-shadow:0 12px 24px rgba(10,69,91,.06);
}
.coverage-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.coverage-topline span{
  color:#9d1420;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.coverage-topline small{
  background:#edf8fb;
  border:1px solid #cde8f0;
  color:#315b6b;
  border-radius:999px;
  padding:5px 10px;
  font-weight:900;
  font-size:11px;
}
.industry-coverage-card h3{
  margin:0 0 10px;
  color:#112f42;
  font-size:16px;
}
.coverage-chip-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.coverage-chip-grid span{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid #d8e8ed;
  background:#fff;
  border-radius:12px;
  padding:8px 10px;
  font-size:11.5px;
  font-weight:850;
  color:#294957;
  line-height:1.2;
}
@media(max-width:900px){.coverage-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.coverage-chip-grid{grid-template-columns:1fr;}.coverage-topline{display:block}.coverage-topline small{display:inline-block;margin-top:6px}}

/* Report page: industry key products and coverages */
.report-coverage-section {
  margin-top: 12px;
}
.coverage-matrix-title span {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .1px;
}
.coverage-matrix-title p {
  font-size: 12px;
  color: #31576a;
  font-weight: 700;
}
.report-coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.report-coverage-grid span {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #c9dde5;
  background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 900;
  color: #173949;
  line-height: 1.28;
  box-shadow: 0 5px 14px rgba(9, 70, 98, 0.06);
}
@media print {
  .report-coverage-grid span {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}

/* =========================================================
   AI Business Insurance & Investment Analysis Report
   ========================================================= */
.insurance-investment-report .insurance-hero {
  background: linear-gradient(135deg, #063f5c 0%, #0f766e 58%, #16a34a 100%);
}
.insurance-score small {
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.insurance-executive-grid {
  grid-template-columns: 1.4fr .8fr .8fr;
}
.insurance-policy-card {
  min-height: 178px;
}
.policy-delay-note {
  margin-top: 10px;
  padding: 10px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #475569;
  font-size: 12px;
  line-height: 1.45;
}
.compact-action-section { margin-top: 10px; }
.numbered-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.numbered-actions div {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px;
  background: #fff;
  border: 1px solid #dbeafe;
  border-radius: 14px;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .05);
}
.numbered-actions b {
  width: 26px;
  height: 26px;
  min-width: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #0f766e;
  color: #fff;
  font-size: 12px;
}
.numbered-actions span {
  color: #334155;
  font-size: 12.5px;
  line-height: 1.45;
}
.enhanced-investment-grid div {
  background: linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
  border-color: #99f6e4;
}
.investment-bucket-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.investment-bucket-card {
  background: #ffffff;
  border: 1px solid #dbeafe;
  border-radius: 18px;
  padding: 15px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .06);
}
.investment-bucket-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.investment-bucket-card span {
  background: #e0f2fe;
  color: #0369a1;
  border-radius: 999px;
  padding: 5px 9px;
  font-weight: 800;
  font-size: 11px;
}
.investment-bucket-card b {
  font-size: 15px;
  color: #0f172a;
}
.investment-bucket-card h3 {
  font-size: 14px;
  margin: 0 0 7px;
  color: #0f172a;
}
.investment-bucket-card p {
  margin: 0;
  color: #475569;
  font-size: 12px;
  line-height: 1.45;
}
.report-table-section { margin-top: 12px; }
.planning-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .06);
  font-size: 12px;
}
.planning-table th {
  background: #0f766e;
  color: #fff;
  text-align: left;
  padding: 10px;
}
.planning-table td {
  padding: 10px;
  border-bottom: 1px solid #e2e8f0;
  color: #334155;
  line-height: 1.35;
}
.planning-table tr:last-child td { border-bottom: none; }
.insurance-final-note {
  margin-top: 12px;
}
.insurance-final-note h2 { margin-bottom: 6px; }
@media print {
  .insurance-policy-card { min-height: 156px; }
  .investment-bucket-card { box-shadow: none; }
  .numbered-actions div { box-shadow: none; }
  .planning-table { box-shadow: none; }
}
@media (max-width: 900px) {
  .insurance-executive-grid,
  .investment-bucket-grid,
  .numbered-actions {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Premium UI upgrade: Insurance & Investment report
   ========================================================= */
.portfolio-section {
  background: linear-gradient(135deg, rgba(255,247,237,.95), rgba(240,253,250,.98));
  border: 1px solid #fed7aa;
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 16px 34px rgba(234, 88, 12, .10);
}
.portfolio-title span {
  background: linear-gradient(90deg, #dc2626, #ea580c, #0f766e);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
}
.portfolio-title p {
  color: #7c2d12 !important;
  font-weight: 850 !important;
  font-size: 12.5px !important;
}
.insurance-policy-grid {
  gap: 14px;
}
.insurance-policy-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #bae6fd !important;
  background: linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%) !important;
  box-shadow: 0 18px 34px rgba(3, 105, 161, .13) !important;
}
.insurance-policy-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, #dc2626, #f97316, #14b8a6, #0284c7);
}
.core-business-policy {
  border-color: #fdba74 !important;
  background: linear-gradient(145deg, #fff7ed 0%, #ffffff 48%, #ecfeff 100%) !important;
  box-shadow: 0 20px 40px rgba(249, 115, 22, .18) !important;
}
.core-business-policy::after {
  content: "BUSINESS INSURANCE";
  position: absolute;
  top: 12px;
  right: -38px;
  transform: rotate(35deg);
  background: #dc2626;
  color: #fff;
  font-size: 9px;
  font-weight: 1000;
  letter-spacing: .08em;
  padding: 5px 42px;
}
.policy-name-highlight {
  display: inline;
  background: linear-gradient(90deg, #dc2626, #ea580c, #0369a1);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 18px;
  font-weight: 1000;
  letter-spacing: -.02em;
}
.compact-policy-top small {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fde68a;
  padding: 5px 8px;
  border-radius: 999px;
  font-weight: 1000;
  text-transform: uppercase;
}
.compact-policy-top em {
  background: linear-gradient(90deg, #0f766e, #0284c7) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(14, 116, 144, .20);
  letter-spacing: .02em;
}
.policy-delay-note {
  background: #fff1f2 !important;
  border: 1px solid #fecdd3 !important;
  color: #7f1d1d !important;
  font-size: 13.8px !important;
  font-weight: 850;
  line-height: 1.45;
}
.policy-delay-note b {
  display: inline-block;
  margin-right: 5px;
  color: #dc2626;
  font-size: 14.5px;
  font-weight: 1000;
}
.policy-delay-note span {
  color: #7f1d1d;
}
.investment-hero-section {
  background: linear-gradient(135deg, #022c22 0%, #0f766e 48%, #0369a1 100%);
  border-radius: 24px;
  padding: 18px;
  color: #fff;
  box-shadow: 0 20px 44px rgba(15, 118, 110, .22);
}
.continuity-title span {
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 1000 !important;
}
.continuity-line {
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.28);
  color: #fef3c7 !important;
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 14px !important;
  font-weight: 1000 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.continuity-grid div,
.enhanced-investment-grid div.reserve-card {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  box-shadow: 0 14px 26px rgba(2, 44, 34, .18) !important;
  padding: 15px !important;
  position: relative;
  overflow: hidden;
}
.reserve-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #facc15, #22c55e, #38bdf8);
}
.reserve-card small {
  min-height: auto !important;
  color: #0f172a !important;
  font-size: 12px !important;
  line-height: 1.25;
}
.reserve-card small b {
  display: inline-block;
  background: #dc2626;
  color: #fff;
  border-radius: 999px;
  padding: 4px 9px;
  margin-right: 5px;
  font-size: 13px;
  box-shadow: 0 8px 16px rgba(220, 38, 38, .20);
}
.reserve-card strong {
  display: block;
  color: #082f49;
  font-size: 22px;
  font-weight: 1000;
  margin-top: 11px;
}
.hero-reserve small b {
  background: #f97316;
}
.hero-reserve strong {
  color: #c2410c;
}
.sip-card small b {
  background: #0284c7;
}
.sip-card strong {
  color: #0369a1;
}
.investment-hero-section .compact-ai-note {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  border-radius: 16px;
}
.investment-bucket-card {
  border-color: #bfdbfe !important;
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
}
.investment-bucket-card span {
  background: linear-gradient(90deg, #0f766e, #0284c7) !important;
  color: #fff !important;
}
@media print {
  .portfolio-section,
  .insurance-policy-card,
  .core-business-policy,
  .investment-hero-section,
  .reserve-card,
  .investment-bucket-card,
  .compact-ai-note {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
  }
  .portfolio-section { padding: 3mm !important; border-radius: 4mm !important; }
  .policy-name-highlight { font-size: 10.8pt !important; }
  .policy-delay-note { font-size: 8.2pt !important; padding: 2.4mm !important; }
  .policy-delay-note b { font-size: 8.6pt !important; }
  .investment-hero-section { padding: 4mm !important; border-radius: 4mm !important; }
  .continuity-line { font-size: 8.5pt !important; padding: 2mm 3mm !important; border-radius: 9mm !important; }
  .reserve-card small { font-size: 7.2pt !important; }
  .reserve-card small b { font-size: 7.6pt !important; padding: 1.2mm 2.2mm !important; }
  .reserve-card strong { font-size: 12.5pt !important; }
}

/* =========================================================
   Final premium color correction: AI Insurance Portfolio
   ========================================================= */
.portfolio-section {
  background:
    radial-gradient(circle at top left, rgba(34, 211, 238, .18), transparent 34%),
    radial-gradient(circle at bottom right, rgba(250, 204, 21, .18), transparent 32%),
    linear-gradient(135deg, #07172f 0%, #0f2d52 46%, #0b4f6c 100%) !important;
  border: 1px solid rgba(125, 211, 252, .42) !important;
  border-radius: 24px !important;
  padding: 18px !important;
  box-shadow: 0 22px 48px rgba(8, 47, 73, .28) !important;
}
.portfolio-title span {
  color: #ffffff !important;
  background: none !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(56, 189, 248, .35);
  font-size: 21px !important;
  letter-spacing: .01em !important;
}
.portfolio-title p {
  color: #dbeafe !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  max-width: 620px;
}
.insurance-policy-grid {
  gap: 15px !important;
}
.insurance-policy-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.98) 100%) !important;
  border: 1px solid rgba(186, 230, 253, .95) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 34px rgba(2, 132, 199, .18) !important;
  padding: 15px !important;
}
.insurance-policy-card::before {
  height: 6px !important;
  background: linear-gradient(90deg, #38bdf8 0%, #2563eb 38%, #7c3aed 70%, #facc15 100%) !important;
}
.core-business-policy {
  border: 1.5px solid #facc15 !important;
  background:
    radial-gradient(circle at top right, rgba(250, 204, 21, .18), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #fffbeb 100%) !important;
  box-shadow: 0 22px 42px rgba(250, 204, 21, .18) !important;
}
.core-business-policy::after {
  background: linear-gradient(90deg, #f59e0b, #ef4444) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(239, 68, 68, .22);
}
.policy-name-highlight {
  display: inline-block !important;
  color: #0f172a !important;
  background: linear-gradient(90deg, #dbeafe, #cffafe) !important;
  -webkit-text-fill-color: #0f172a !important;
  border: 1px solid #93c5fd;
  border-left: 5px solid #2563eb;
  border-radius: 12px;
  padding: 7px 10px;
  font-size: 19px !important;
  line-height: 1.18;
  font-weight: 1000 !important;
  box-shadow: 0 10px 18px rgba(37, 99, 235, .10);
}
.core-business-policy .policy-name-highlight {
  background: linear-gradient(90deg, #fef3c7, #ffffff) !important;
  border-color: #facc15;
  border-left-color: #f59e0b;
}
.compact-policy-top .policy-icon {
  background: linear-gradient(135deg, #e0f2fe, #dbeafe) !important;
  color: #0f172a !important;
  border: 1px solid #bfdbfe;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .12);
}
.compact-policy-top small {
  background: #eef2ff !important;
  color: #3730a3 !important;
  border: 1px solid #c7d2fe !important;
  font-size: 11px !important;
}
.compact-policy-top em {
  background: linear-gradient(90deg, #1d4ed8, #0891b2) !important;
  color: #fff !important;
  font-size: 10.5px !important;
}
.policy-delay-note {
  background: linear-gradient(90deg, #fff1f2, #fff7ed) !important;
  border: 1.5px solid #fb7185 !important;
  border-left: 6px solid #e11d48 !important;
  color: #7f1d1d !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;
  line-height: 1.48 !important;
  box-shadow: 0 10px 18px rgba(225, 29, 72, .08);
}
.policy-delay-note b {
  color: #be123c !important;
  font-size: 15.5px !important;
  font-weight: 1000 !important;
}
.policy-delay-note span {
  color: #7f1d1d !important;
  font-weight: 850 !important;
}

/* Insurance Action Plan readability upgrade */
.compact-action-section {
  background: linear-gradient(135deg, #f8fafc 0%, #eef6ff 100%);
  border: 1px solid #bfdbfe;
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 18px 34px rgba(15, 23, 42, .07);
}
.compact-action-section .mini-title span {
  color: #0f172a !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
}
.compact-action-section .mini-title p {
  color: #1e40af !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}
.numbered-actions {
  gap: 12px !important;
}
.numbered-actions div {
  background: #ffffff !important;
  border: 1.5px solid #93c5fd !important;
  border-left: 6px solid #2563eb !important;
  border-radius: 16px !important;
  padding: 14px !important;
  box-shadow: 0 14px 26px rgba(37, 99, 235, .10) !important;
}
.numbered-actions b {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  background: linear-gradient(135deg, #1d4ed8, #0891b2) !important;
  font-size: 14px !important;
  box-shadow: 0 8px 16px rgba(37, 99, 235, .22);
}
.numbered-actions span {
  color: #0f172a !important;
  font-size: 14.2px !important;
  line-height: 1.48 !important;
  font-weight: 850 !important;
}

@media print {
  .portfolio-section,
  .insurance-policy-card,
  .core-business-policy,
  .compact-action-section,
  .numbered-actions div {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
  }
  .portfolio-section { padding: 3mm !important; border-radius: 4mm !important; }
  .portfolio-title span { font-size: 12.5pt !important; }
  .portfolio-title p { font-size: 8pt !important; }
  .policy-name-highlight {
    font-size: 10.4pt !important;
    padding: 1.5mm 2mm !important;
    border-radius: 2.5mm !important;
  }
  .policy-delay-note {
    font-size: 8.1pt !important;
    padding: 2.2mm !important;
    border-left-width: 1.2mm !important;
  }
  .policy-delay-note b { font-size: 8.5pt !important; }
  .compact-action-section { padding: 3mm !important; border-radius: 4mm !important; }
  .compact-action-section .mini-title span { font-size: 11.5pt !important; }
  .compact-action-section .mini-title p { font-size: 7.8pt !important; }
  .numbered-actions div { padding: 2.5mm !important; border-left-width: 1.1mm !important; }
  .numbered-actions b { width: 7mm !important; height: 7mm !important; min-width: 7mm !important; font-size: 8pt !important; }
  .numbered-actions span { font-size: 8.1pt !important; line-height: 1.34 !important; }
}

/* =========================================================
   Final UI: Portfolio block like premium emerald mockup
   Dynamic icons handled by Bootstrap Icons from report.html
   ========================================================= */
.redesigned-portfolio-section {
  margin-top: 16px !important;
  background: #fbfaf6 !important;
  border: 1px solid #e9dfcf !important;
  border-radius: 24px !important;
  padding: 14px !important;
  box-shadow: 0 18px 38px rgba(9, 59, 67, .10) !important;
}

.portfolio-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 22%, rgba(247, 198, 106, .28), transparent 18%),
    radial-gradient(circle at 0% 0%, rgba(19, 122, 107, .30), transparent 24%),
    linear-gradient(135deg, #063a37 0%, #052c2c 48%, #0d514e 100%) !important;
  border-radius: 20px !important;
  padding: 20px 22px !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(6, 58, 55, .20) !important;
  margin-bottom: 14px !important;
  border: 1px solid rgba(247, 198, 106, .28) !important;
}

.portfolio-hero::after {
  content: "";
  position: absolute;
  inset: auto -10% -55% auto;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: repeating-radial-gradient(circle, rgba(247,198,106,.22) 0 1px, transparent 1px 12px);
  opacity: .7;
}

.portfolio-hero-left {
  position: relative;
  z-index: 1;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.portfolio-hero-icon {
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.10) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  color: #f7c66a !important;
  border: 1px solid rgba(247,198,106,.42) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

.portfolio-hero h2 {
  margin: 0 0 5px 0 !important;
  font-size: 28px !important;
  line-height: 1.05 !important;
  color: #f7c66a !important;
  font-weight: 1000 !important;
  letter-spacing: -.02em !important;
  text-shadow: 0 10px 24px rgba(0,0,0,.22) !important;
}

.portfolio-hero p {
  margin: 0 !important;
  font-size: 13.5px !important;
  color: rgba(255,255,255,.92) !important;
  font-weight: 750 !important;
}

.portfolio-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.insurance-card {
  background:
    radial-gradient(circle at top left, rgba(15, 107, 103, .08), transparent 35%),
    linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
  border: 1px solid #e8dccb !important;
  border-radius: 20px !important;
  padding: 16px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .07) !important;
  min-height: 190px !important;
}

.core-business-policy-card {
  border-color: rgba(247, 198, 106, .72) !important;
  box-shadow: 0 16px 32px rgba(185, 122, 18, .12) !important;
}

.insurance-card-top {
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
}

.insurance-icon {
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at top left, #148071 0%, #063a37 64%, #052525 100%) !important;
  color: #f7c66a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  box-shadow: 0 10px 20px rgba(6, 58, 55, .18), inset 0 0 0 2px rgba(255,255,255,.08) !important;
}

.insurance-title-wrap { flex: 1 !important; min-width: 0 !important; }

.insurance-top-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.insurance-top-row h3 {
  margin: 0 !important;
  font-size: 21px !important;
  line-height: 1.16 !important;
  color: #073d3b !important;
  font-weight: 1000 !important;
  letter-spacing: -.02em !important;
}

.insurance-line {
  width: 56px !important;
  height: 3px !important;
  background: #d99422 !important;
  border-radius: 999px !important;
  margin-top: 9px !important;
}

.insurance-badge {
  white-space: nowrap !important;
  border-radius: 999px !important;
  padding: 7px 10px !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  border: 1px solid transparent !important;
}

.insurance-badge.core {
  background: #eefaf4 !important;
  color: #137a5c !important;
  border-color: #9ad7c3 !important;
}
.insurance-badge.priority {
  background: #fff7e6 !important;
  color: #b86a00 !important;
  border-color: #e8bc68 !important;
}
.insurance-badge.recommended {
  background: #eef7ff !important;
  color: #1760a5 !important;
  border-color: #a7cdef !important;
}
.insurance-badge.statutory {
  background: #fff0ed !important;
  color: #c53316 !important;
  border-color: #f2b5a5 !important;
}
.insurance-badge.benefit {
  background: #f4f0ff !important;
  color: #6b3dc7 !important;
  border-color: #d4c3ff !important;
}

.insurance-desc {
  margin: 12px 0 0 76px !important;
  font-size: 13.8px !important;
  line-height: 1.45 !important;
  color: #26323b !important;
  font-weight: 650 !important;
}

.insurance-warning {
  margin-top: 13px !important;
  background: linear-gradient(90deg, #fff1ec 0%, #fff7f4 100%) !important;
  border: 1.5px solid #ffc4b4 !important;
  border-left: 6px solid #d92d20 !important;
  border-radius: 16px !important;
  padding: 12px 13px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.warning-icon {
  font-size: 23px !important;
  color: #d92d20 !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}

.warning-text {
  font-size: 14px !important;
  line-height: 1.38 !important;
  color: #b42318 !important;
  font-weight: 950 !important;
}

.warning-text strong {
  color: #9f1f12 !important;
  font-weight: 1000 !important;
}

/* Keep Insurance Action Plan dark, readable and client-facing */
.compact-action-section {
  background: linear-gradient(135deg, #f8fafc 0%, #eefaf7 100%) !important;
  border: 1.5px solid #aad7ca !important;
}
.compact-action-section .mini-title span {
  color: #073d3b !important;
}
.compact-action-section .mini-title p {
  color: #0f766e !important;
}
.numbered-actions div {
  border-color: #8ccfc1 !important;
  border-left-color: #0f766e !important;
}
.numbered-actions b {
  background: linear-gradient(135deg, #064e49, #0f766e) !important;
}
.numbered-actions span {
  color: #102a35 !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;
}

@media (max-width: 900px) {
  .portfolio-grid { grid-template-columns: 1fr !important; }
  .insurance-desc { margin-left: 0 !important; }
  .insurance-card-top { flex-direction: column !important; }
}

@media print {
  .redesigned-portfolio-section,
  .portfolio-hero,
  .insurance-card,
  .insurance-warning,
  .insurance-icon,
  .compact-action-section,
  .numbered-actions div {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
  }
  .redesigned-portfolio-section { padding: 3mm !important; border-radius: 4mm !important; margin-top: 3mm !important; }
  .portfolio-hero { padding: 3.2mm 4mm !important; border-radius: 3.5mm !important; margin-bottom: 3mm !important; }
  .portfolio-hero-icon { width: 11mm !important; height: 11mm !important; min-width: 11mm !important; font-size: 13pt !important; border-radius: 3mm !important; }
  .portfolio-hero h2 { font-size: 16pt !important; }
  .portfolio-hero p { font-size: 7.6pt !important; }
  .portfolio-grid { gap: 2.5mm !important; }
  .insurance-card { padding: 2.8mm !important; border-radius: 3.5mm !important; min-height: 36mm !important; }
  .insurance-card-top { gap: 2.8mm !important; }
  .insurance-icon { width: 10.5mm !important; height: 10.5mm !important; min-width: 10.5mm !important; font-size: 12pt !important; }
  .insurance-top-row h3 { font-size: 10.5pt !important; }
  .insurance-badge { font-size: 6.4pt !important; padding: 1.5mm 2mm !important; }
  .insurance-line { width: 12mm !important; height: .8mm !important; margin-top: 1.5mm !important; }
  .insurance-desc { margin: 2mm 0 0 13.5mm !important; font-size: 7.4pt !important; line-height: 1.28 !important; }
  .insurance-warning { margin-top: 2.3mm !important; padding: 2mm !important; border-left-width: 1.2mm !important; border-radius: 3mm !important; gap: 2mm !important; }
  .warning-icon { font-size: 11pt !important; }
  .warning-text { font-size: 7.2pt !important; line-height: 1.25 !important; }
  .numbered-actions span { font-size: 8.2pt !important; }
}

/* Sector-wise Employee Benefit Focus: GMC / GTL / GPA */
.employee-benefit-focus-section {
  margin-top: 24px;
  padding: 24px;
  border-radius: 26px;
  background: linear-gradient(135deg, #fff7ed 0%, #fff 48%, #ecfeff 100%);
  border: 1px solid #fed7aa;
  box-shadow: 0 14px 34px rgba(124, 45, 18, 0.08);
}

.benefit-focus-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.benefit-eyebrow {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 12px;
  background: #ffedd5;
  color: #9a3412;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.benefit-focus-header h2 {
  margin: 0;
  font-size: 27px;
  line-height: 1.15;
  color: #073b3a;
  font-weight: 900;
}

.benefit-focus-header p {
  margin: 8px 0 0;
  color: #334155;
  font-size: 15px;
  line-height: 1.55;
  max-width: 720px;
  font-weight: 600;
}

.benefit-bundle-badge {
  white-space: nowrap;
  border-radius: 999px;
  padding: 10px 16px;
  background: #0f766e;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(15, 118, 110, 0.2);
}

.benefit-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.benefit-focus-card {
  position: relative;
  overflow: hidden;
  display: flex;
  gap: 13px;
  padding: 18px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid #d1fae5;
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.08);
}

.benefit-focus-card::after {
  content: "";
  position: absolute;
  right: -35px;
  bottom: -35px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: rgba(20, 184, 166, 0.12);
}

.benefit-icon {
  width: 54px;
  height: 54px;
  min-width: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #064e3b, #0f766e);
  color: #fbbf24;
  font-size: 25px;
  box-shadow: 0 12px 20px rgba(6, 78, 59, 0.2);
}

.benefit-content strong {
  display: inline-block;
  font-size: 22px;
  color: #c2410c;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0.02em;
}

.benefit-content h3 {
  margin: 4px 0 3px;
  font-size: 16px;
  color: #0f172a;
  font-weight: 900;
}

.benefit-content span {
  display: inline-block;
  font-size: 12px;
  color: #0f766e;
  font-weight: 900;
  margin-bottom: 6px;
}

.benefit-content p {
  margin: 0;
  color: #334155;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
}

@media print {
  .employee-benefit-focus-section {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .benefit-focus-header h2 { font-size: 23px; }
  .benefit-focus-header p { font-size: 13px; }
  .benefit-focus-card { padding: 13px; }
  .benefit-content strong { font-size: 19px; }
  .benefit-content h3 { font-size: 14px; }
  .benefit-content p { font-size: 11.5px; }
}

@media (max-width: 900px) {
  .benefit-focus-header { flex-direction: column; }
  .benefit-focus-grid { grid-template-columns: 1fr; }
  .benefit-bundle-badge { white-space: normal; }
}


/* Report Contact Us Block */
.contact-us-report {
  margin-top: 14px;
  background: linear-gradient(135deg, #073b4c 0%, #0f766e 100%);
  border-radius: 18px;
  padding: 16px 18px;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(7, 59, 76, 0.16);
}

.contact-us-header span {
  display: inline-block;
  font-size: 17px;
  font-weight: 950;
  letter-spacing: .7px;
  color: #f7c66a;
  margin-bottom: 4px;
}

.contact-us-header p {
  margin: 0 0 12px 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 650;
}

.contact-us-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 9px;
}

.contact-item {
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 13px;
  padding: 9px 11px;
}

.contact-item small {
  display: block;
  font-size: 9.5px;
  letter-spacing: .55px;
  font-weight: 900;
  color: rgba(247, 198, 106, 0.95);
  margin-bottom: 4px;
}

.contact-item strong {
  display: block;
  font-size: 12.5px;
  line-height: 1.25;
  color: #ffffff;
  font-weight: 900;
}

.contact-company strong {
  font-size: 11.8px;
}

@media print {
  .contact-us-report,
  .contact-item {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}

/* =========================================================
   PDF EXACT SOFTWARE VIEW FIX - compact print layout
   Keeps all report blocks visible in PDF and preserves grids
   ========================================================= */
@media print {
  @page { size: A4; margin: 5mm; }

  html, body {
    width: 210mm !important;
    background: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .no-print,
  .report-toolbar {
    display: none !important;
  }

  .print-report {
    width: 200mm !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .pdf-page {
    width: 200mm !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
    margin: 0 auto 5mm !important;
    padding: 4mm !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #f7fbfc !important;
    break-after: page;
    page-break-after: always;
  }

  .pdf-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  .compact-report-hero {
    padding: 4mm !important;
    border-radius: 5mm !important;
  }

  .compact-report-hero h1 {
    font-size: 17pt !important;
    margin: 2mm 0 1mm !important;
  }

  .compact-report-hero p {
    font-size: 7.8pt !important;
    line-height: 1.25 !important;
    margin-bottom: 2mm !important;
  }

  .pill-row { gap: 1.5mm !important; }
  .pill-row span { font-size: 6.5pt !important; padding: 1.2mm 2mm !important; }
  .compact-score { width: 24mm !important; height: 24mm !important; }
  .compact-score strong { font-size: 13pt !important; }
  .compact-score span, .compact-score small { font-size: 6pt !important; }

  .compact-section { margin-top: 2.8mm !important; }
  .mini-title { margin-bottom: 2mm !important; }
  .mini-title span { font-size: 10.5pt !important; }
  .mini-title p { font-size: 6.7pt !important; line-height: 1.2 !important; }

  .executive-grid { grid-template-columns: 2fr .7fr .7fr !important; gap: 2mm !important; }
  .compact-card { padding: 2.5mm !important; border-radius: 3mm !important; }
  .summary-card-large p, .compact-list { font-size: 6.8pt !important; line-height: 1.25 !important; }
  .compact-card.metric-card small { font-size: 6pt !important; }
  .compact-card.metric-card b { font-size: 11.5pt !important; margin-top: 1mm !important; }

  .report-coverage-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.8mm !important;
  }
  .report-coverage-grid span {
    min-height: 9mm !important;
    padding: 1.5mm 2mm !important;
    font-size: 7.2pt !important;
    line-height: 1.15 !important;
    border-radius: 2.5mm !important;
  }

  /* Portfolio must remain two-by-two in PDF, same as software */
  .redesigned-portfolio-section,
  .portfolio-section {
    padding: 2.5mm !important;
    border-radius: 4mm !important;
    margin-top: 3mm !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .portfolio-hero {
    padding: 2.4mm 3mm !important;
    border-radius: 3mm !important;
    margin-bottom: 2mm !important;
  }

  .portfolio-hero-left { gap: 2.5mm !important; }
  .portfolio-hero-icon { width: 8.5mm !important; height: 8.5mm !important; min-width: 8.5mm !important; font-size: 10pt !important; border-radius: 2.2mm !important; }
  .portfolio-hero h2 { font-size: 12.5pt !important; line-height: 1.05 !important; }
  .portfolio-hero p { font-size: 6.5pt !important; line-height: 1.15 !important; }

  .portfolio-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2mm !important;
  }

  .insurance-card {
    display: block !important;
    min-height: 0 !important;
    padding: 2.2mm !important;
    border-radius: 3mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .insurance-card-top { gap: 2mm !important; }
  .insurance-icon { width: 8mm !important; height: 8mm !important; min-width: 8mm !important; font-size: 9pt !important; }
  .insurance-top-row { gap: 1.5mm !important; }
  .insurance-top-row h3 { font-size: 8.5pt !important; line-height: 1.08 !important; }
  .insurance-badge { font-size: 5.4pt !important; padding: 1mm 1.3mm !important; }
  .insurance-line { width: 9mm !important; height: .6mm !important; margin-top: 1mm !important; }
  .insurance-desc { margin: 1.2mm 0 0 10mm !important; font-size: 6.2pt !important; line-height: 1.18 !important; }
  .insurance-warning { margin-top: 1.3mm !important; padding: 1.3mm !important; gap: 1.3mm !important; border-radius: 2.2mm !important; border-left-width: .8mm !important; }
  .warning-icon { font-size: 8pt !important; }
  .warning-text { font-size: 6pt !important; line-height: 1.15 !important; }

  /* Employee Benefit block must appear and keep 3 cards in one row */
  .employee-benefit-focus-section {
    display: block !important;
    margin-top: 3mm !important;
    padding: 3mm !important;
    border-radius: 4mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .benefit-focus-header { gap: 2mm !important; margin-bottom: 2mm !important; align-items: flex-start !important; }
  .benefit-eyebrow { font-size: 5.8pt !important; padding: 1mm 1.8mm !important; margin-bottom: 1mm !important; }
  .benefit-focus-header h2 { font-size: 10.5pt !important; line-height: 1.05 !important; }
  .benefit-focus-header p { font-size: 6.4pt !important; line-height: 1.18 !important; margin-top: 1mm !important; }
  .benefit-bundle-badge { font-size: 5.8pt !important; padding: 1.5mm 2mm !important; }
  .benefit-focus-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2mm !important;
  }
  .benefit-focus-card { padding: 2mm !important; border-radius: 3mm !important; gap: 1.5mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .benefit-icon { width: 8mm !important; height: 8mm !important; min-width: 8mm !important; border-radius: 2.3mm !important; font-size: 8.5pt !important; }
  .benefit-content strong { font-size: 10pt !important; }
  .benefit-content h3 { font-size: 6.8pt !important; margin: .5mm 0 !important; }
  .benefit-content span { font-size: 5.8pt !important; margin-bottom: .8mm !important; }
  .benefit-content p { font-size: 5.8pt !important; line-height: 1.15 !important; }

  .compact-action-section { padding: 2.4mm !important; border-radius: 3mm !important; }
  .numbered-actions { grid-template-columns: repeat(2, 1fr) !important; gap: 1.8mm !important; }
  .numbered-actions div { padding: 1.8mm !important; border-radius: 2.5mm !important; }
  .numbered-actions b { width: 5.5mm !important; height: 5.5mm !important; font-size: 6.2pt !important; }
  .numbered-actions span { font-size: 6.8pt !important; line-height: 1.16 !important; }

  /* Page 2 sections */
  .investment-hero-section { padding: 3mm !important; border-radius: 4mm !important; }
  .continuity-title .continuity-line { font-size: 7.5pt !important; }
  .compact-investment-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 2mm !important; }
  .reserve-card { padding: 2mm !important; border-radius: 3mm !important; }
  .compact-investment-grid small { font-size: 5.8pt !important; min-height: auto !important; }
  .compact-investment-grid b, .compact-investment-grid strong { font-size: 9pt !important; margin-top: 1mm !important; }
  .compact-ai-note { font-size: 6.5pt !important; padding: 2mm !important; margin-top: 2mm !important; }

  .investment-bucket-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2mm !important;
  }
  .investment-bucket-card { padding: 2.2mm !important; border-radius: 3mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .investment-bucket-card > div { margin-bottom: 1mm !important; }
  .investment-bucket-card span { font-size: 5.8pt !important; }
  .investment-bucket-card b { font-size: 8.2pt !important; }
  .investment-bucket-card h3 { font-size: 8pt !important; margin: 1mm 0 !important; }
  .investment-bucket-card p { font-size: 6pt !important; line-height: 1.2 !important; }

  .planning-table { font-size: 6pt !important; border-radius: 3mm !important; }
  .planning-table th { padding: 1.8mm !important; font-size: 6.3pt !important; }
  .planning-table td { padding: 1.8mm !important; line-height: 1.16 !important; }

  .final-compact-note { display: block !important; padding: 2.5mm !important; border-radius: 3mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .final-compact-note h2 { font-size: 9pt !important; }
  .final-compact-note p { font-size: 6pt !important; line-height: 1.18 !important; }
  .compact-notice { font-size: 5.7pt !important; line-height: 1.15 !important; padding: 1.8mm !important; }

  .contact-us-report { display: block !important; margin-top: 2.5mm !important; padding: 2.5mm !important; border-radius: 3mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .contact-us-header span { font-size: 9pt !important; }
  .contact-us-header p { font-size: 6pt !important; margin-bottom: 1.5mm !important; }
  .contact-us-grid { grid-template-columns: 1.25fr 1fr !important; gap: 1.5mm !important; }
  .contact-item { padding: 1.5mm 2mm !important; border-radius: 2.5mm !important; }
  .contact-item small { font-size: 5.2pt !important; margin-bottom: .8mm !important; }
  .contact-item strong { font-size: 6.3pt !important; line-height: 1.15 !important; }
  .contact-company strong { font-size: 5.9pt !important; }
}


/* =========================================================
   FINAL PDF FLOW FIX - no Insurance Action Plan, no forced blank page gap
   ========================================================= */
@media print {
  .compact-action-section {
    display: none !important;
  }

  .pdf-page {
    break-after: auto !important;
    page-break-after: auto !important;
    margin: 0 auto !important;
    padding-bottom: 3mm !important;
  }

  .pdf-page-2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .pdf-page-2 .investment-hero-section {
    margin-top: 2.5mm !important;
  }
}
