/* RateLabs Advisor Phase 4 — browser-only illustration and print-to-PDF layout.
   No external PDF service, client-data transmission or persistent storage. */
.advisor-illustration-section{border-top:1px solid #dce5ed;margin-top:13px;padding-top:33px}
.advisor-illustration-panel{background:#fff;border:1px solid #dee7ee;border-radius:16px;padding:23px;box-shadow:0 10px 32px rgba(24,52,71,.035)}
.advisor-illustration-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.advisor-illustration-form input,.advisor-illustration-form textarea{width:100%;color:#1e3952;border:1px solid #d8e4eb;border-radius:9px;background:#fbfcfe;line-height:1.5;font-size:12px;padding:11px 12px;font-family:inherit}
.advisor-illustration-form textarea{resize:vertical;min-height:75px}
.advisor-illustration-form input:focus-visible,.advisor-illustration-form textarea:focus-visible{outline:2px solid #63bba7;outline-offset:2px}
.advisor-illustration-notes{grid-column:1/-1}
.advisor-optional{color:#99a6b3;font-weight:500}
.advisor-report-check{display:flex;gap:12px;align-items:flex-start;border:1px solid #e3eaf1;border-radius:11px;background:#f9fbfc;padding:15px;margin-top:18px;cursor:pointer}
.advisor-report-check input{accent-color:#168674;width:16px;height:16px;margin-top:2px;flex:none}
.advisor-report-check strong{display:block;font-size:12px;color:#314d61}
.advisor-report-check small{display:block;font-size:10px;color:#8797a5;margin-top:5px;line-height:1.6}
.advisor-report-actions{display:flex;gap:18px;align-items:center;margin-top:16px}
.advisor-report-primary{background:#143650;color:#fff;border:1px solid #143650;border-radius:10px;padding:13px 18px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;font-family:inherit}
.advisor-report-primary:hover{background:#20516c}
.advisor-report-primary:disabled{opacity:.55;cursor:wait}
.advisor-report-actions p{color:#778e9e;line-height:1.5;font-size:11px;margin:0}
.advisor-report-actions .advisor-report-error{color:#b45150}
.advisor-report-privacy{background:#eff8f3;color:#5c8274;border:1px solid #dceae3;border-radius:9px;padding:12px 15px;line-height:1.7;font-size:11px;margin-top:16px}
.advisor-report-privacy strong{color:#246c5e}
.advisor-report-overlay[hidden]{display:none!important}
.advisor-report-overlay{position:fixed;inset:0;z-index:9999;background:#e4eaf0;display:flex;flex-direction:column;overflow-y:auto;align-items:center}
.advisor-report-open{overflow:hidden!important}
.advisor-report-controls{position:sticky;z-index:20;top:0;background:#0e253b;color:#f3f8fd;padding:11px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;width:100%;box-shadow:0 2px 13px rgba(7,21,35,.2);font-family:Arial,Helvetica,sans-serif}
.advisor-report-controls strong{font-size:13px;letter-spacing:.01em}
.advisor-report-controls>div{display:flex;align-items:center;gap:10px}
.advisor-report-controls button:not(.advisor-report-primary){background:transparent;color:#dbe6ef;border:1px solid #708495;border-radius:9px;padding:12px 18px;font-size:12px;font-weight:700;cursor:pointer}
.advisor-report-controls .advisor-report-primary{background:#eaf6f1;border-color:#eaf6f1;color:#12354b}
.advisor-report-pages{padding:24px 20px 45px;display:flex;flex-direction:column;gap:22px}
.rl-doc-page{box-sizing:border-box;position:relative;width:210mm;min-height:297mm;background:#fff;color:#1a3045;padding:17mm 16mm 23mm;font-family:Arial,Helvetica,sans-serif;box-shadow:0 6px 38px rgba(12,38,61,.18);font-size:10pt;line-height:1.44}
.rl-doc-page *{box-sizing:border-box}
.rl-doc-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:9mm;border-bottom:1px solid #d5e1e9;margin-bottom:11mm}
.rl-doc-brand{display:flex;flex-direction:column;gap:2px}
.rl-doc-brand b{font-size:21pt;letter-spacing:-1.4px;color:#10273e;line-height:1}
.rl-doc-brand small{font-size:6.5pt;letter-spacing:1px;color:#5d808b;font-weight:bold}
.rl-doc-class{font-size:7pt;color:#397b72;font-weight:700;letter-spacing:.55px}
.rl-doc-eyebrow{font-size:7.2pt;color:#128575;font-weight:800;letter-spacing:1.5px;margin-bottom:2mm}
.rl-doc-page h1{font-size:23pt;line-height:1.12;font-weight:700;letter-spacing:-.9px;margin:0 0 5mm;color:#122b43}
.rl-doc-lead{margin:0 0 8mm;color:#526b7d;font-size:9.5pt;line-height:1.6}
.rl-doc-meta{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:7px;margin:0 0 8mm;border-bottom:1px solid #e6edf1;padding-bottom:7mm}
.rl-doc-meta-value{min-width:0;overflow-wrap:anywhere}
.rl-doc-meta-value span{display:block;font-size:7pt;font-weight:800;letter-spacing:.45px;color:#8396a6;margin-bottom:3mm}
.rl-doc-meta-value strong{display:block;font-size:9pt;color:#263f53;line-height:1.35;font-weight:750}
.rl-doc-h2{font-size:11pt;letter-spacing:-.15px;color:#1a3349;margin:8mm 0 4mm;font-weight:750}
.rl-doc-brief{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:5mm;background:#f2f7f8;border:1px solid #e0eaeb;border-radius:8px;margin-bottom:6mm}
.rl-doc-brief .rl-doc-meta-value span{font-size:6.5pt}
.rl-doc-brief .rl-doc-meta-value strong{font-size:10pt}
.rl-doc-scenario{padding:4mm 5mm;background:#f7fafb;border-left:3px solid #168675;border-radius:3px}
.rl-doc-scenario small{display:block;font-size:6.8pt;color:#67889a;font-weight:800;letter-spacing:1px;margin-bottom:1.5mm}
.rl-doc-scenario strong{display:block;font-size:9pt;color:#264356;line-height:1.45}
.rl-doc-kpis,.rl-doc-stress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3mm;margin-bottom:4mm}
.rl-doc-kpi{padding:4mm 3mm;background:#f4f8fa;border:1px solid #e0e9ed;border-radius:6px}
.rl-doc-kpi small{display:block;font-size:7pt;font-weight:800;letter-spacing:.2px;color:#718798;min-height:6mm}
.rl-doc-kpi strong{display:block;font-size:14pt;letter-spacing:-.3px;color:#153b53;margin-top:2mm;line-height:1.1;overflow-wrap:anywhere}
/* Public RateLabs CSS uses table{min-width:900px}; never inherit it in A4 reports. */
.rl-doc-page .rl-doc-table{
  border-collapse:collapse;
  border-spacing:0;
  display:table;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  font-size:8.6pt;
  margin:0;
}
.rl-doc-page .rl-doc-table th,
.rl-doc-page .rl-doc-table td{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  white-space:normal;
  letter-spacing:normal;
  box-sizing:border-box;
}
.rl-doc-page .rl-doc-table thead th{font-size:7pt;line-height:1.4;text-transform:none;}
.rl-doc-page .rl-doc-table tbody th{font-size:8.4pt;text-transform:none;letter-spacing:normal;}
/* Column allocations scale to the paper's printable width (178mm), not the website grid. */
.rl-doc-page .rl-doc-table[data-columns="2"] th:first-child{width:43%;}
.rl-doc-page .rl-doc-table[data-columns="3"] th:first-child{width:42%;}
.rl-doc-page .rl-doc-table[data-columns="4"] th:first-child{width:30%;}
.rl-doc-page .rl-doc-table[data-columns="6"] th:first-child{width:27%;}
.rl-doc-table thead{display:table-header-group}
.rl-doc-table tr{break-inside:avoid;page-break-inside:avoid}
.rl-doc-table thead th{background:#eaf1f4;padding:3mm;color:#476879;text-align:right;font-size:7pt;border-bottom:1px solid #dae7ea;white-space:normal}
.rl-doc-table thead th:first-child{text-align:left;min-width:26%}
.rl-doc-table tbody th{text-align:left;color:#263f53;font-weight:650}
.rl-doc-table tbody th,.rl-doc-table tbody td{border-bottom:1px solid #e6edf1;padding:3mm;text-align:right;vertical-align:top}
.rl-doc-table tbody th{text-align:left}
.rl-doc-table tbody tr:nth-child(even){background:#fafcfd}
.rl-doc-page svg{display:block;width:100%;height:auto;max-height:51mm;margin:0 auto}
.rl-doc-footnote,.rl-doc-small{font-size:7.7pt;color:#71869a;line-height:1.65;margin:3mm 0}
.rl-doc-stress{grid-template-columns:repeat(3,minmax(0,1fr))}
.rl-doc-scenario-notes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6mm;background:#f8fafb;padding:4mm;border:1px solid #e3ecf0}
.rl-doc-scenario-notes .rl-doc-meta-value strong{font-size:8.2pt}
.rl-doc-source{display:grid;grid-template-columns:1fr 1fr;gap:12px 17px;padding:4mm;border:1px solid #e3edf1;border-radius:6px;background:#f8fafb}
.rl-doc-advisor-note{padding:4mm;background:#f8fafb;color:#304b5c;white-space:pre-wrap;overflow-wrap:anywhere;font-size:9pt;line-height:1.5}
.rl-doc-disclosures{padding-left:5mm;margin:0}
.rl-doc-disclosures li{font-size:8.6pt;line-height:1.52;color:#43596d;margin:0 0 1.6mm}
.rl-doc-methodology{font-size:7.8pt;color:#8193a2;border-top:1px solid #e5edf1;padding-top:3mm;line-height:1.55}
.rl-doc-reference-note{padding:4mm 5mm;background:#fff7e9;border:1px solid #f2dcbb;border-left:3px solid #bb883f;border-radius:5px;margin-top:7mm;color:#6c5634;font-size:8.5pt}
.rl-doc-reference-note strong{font-size:9pt;color:#654b2a}
.rl-doc-reference-note p{margin:2mm 0 0;line-height:1.5}
.rl-doc-footer{position:absolute;left:16mm;right:16mm;bottom:9mm;padding-top:3mm;border-top:1px solid #dce6ea;display:flex;justify-content:space-between;gap:15px;color:#8092a0;font-size:7pt}
/* Model-governance page reserves the footer band while keeping disclosures legible. */
.rl-doc-governance .rl-doc-head{padding-bottom:6mm;margin-bottom:7mm}
.rl-doc-governance .rl-doc-lead{margin-bottom:4mm}
.rl-doc-governance .rl-doc-h2{margin:4mm 0 2mm}
.rl-doc-governance .rl-doc-table tbody th,.rl-doc-governance .rl-doc-table tbody td{padding:2mm 3mm}
.rl-doc-governance .rl-doc-source{gap:7px 12px;padding:2.5mm 4mm}
.rl-doc-governance .rl-doc-disclosures{margin:0;padding-left:5mm}
.rl-doc-governance .rl-doc-disclosures li{font-size:8.6pt;line-height:1.47;margin-bottom:1.1mm}
.rl-doc-governance .rl-doc-methodology{margin-top:2mm;line-height:1.43}
.rl-doc-governance .rl-doc-footer{bottom:9mm}
.rl-doc-page:nth-child(2) svg{max-height:41mm}
@media(max-width:900px){
 .advisor-illustration-form{grid-template-columns:1fr}
 .advisor-illustration-notes{grid-column:auto}
 .advisor-report-controls{padding:11px 12px;flex-wrap:wrap}
 .advisor-report-controls .advisor-report-primary{padding:10px 12px}
 .advisor-report-pages{width:100%;overflow:auto;align-items:flex-start}
 .rl-doc-page{flex:none;transform-origin:top left}
}
@media print{
 @page{size:A4 portrait;margin:0}
 html,body{background:#fff!important;margin:0!important;padding:0!important;height:auto!important;overflow:visible!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 body.advisor-app>.advisor-header,body.advisor-app>.advisor-layout{display:none!important}
 #advisorReportOverlay[hidden]{display:none!important}
 .advisor-report-overlay{position:static!important;overflow:visible!important;background:#fff!important;display:block!important;width:auto!important;height:auto!important}
 .advisor-report-controls{display:none!important}
 .advisor-report-pages{display:block!important;overflow:visible!important;padding:0!important;margin:0!important}
 .rl-doc-page{width:210mm!important;min-height:297mm!important;height:297mm!important;max-height:297mm!important;
  padding:17mm 16mm 23mm!important;margin:0!important;box-shadow:none!important;border:0!important;overflow:visible!important;
  page-break-after:always;break-after:page}
 .rl-doc-page:last-child{page-break-after:auto;break-after:auto}
 .rl-doc-kpi,.rl-doc-table tr,.rl-doc-meta-value{page-break-inside:avoid;break-inside:avoid}
}


/* RatesLab vector wordmark in printed and screen-preview client reports. */
.rl-doc-brand .rl-doc-logo{display:block;width:152px;max-width:100%;height:auto;max-height:42px;object-fit:contain}
@media print{.rl-doc-brand .rl-doc-logo{width:152px;height:auto}}
