.pdf-render-zone{
  position:fixed;
  left:-12000px;
  top:0;
  width:794px;
  background:#fff;
  color:#172033;
  z-index:-1;
}
.pdf-export-root{
  position:absolute;
  left:0;
  top:0;
  width:794px;
  background:#fff;
  color:#172033;
  z-index:9999;
  pointer-events:none;
}
.pdf-report{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  line-height:1.45;
}
.pdf-print-body{
  margin:0;
  background:#fff;
  color:#172033;
}
.pdf-print-root{
  width:794px;
  margin:0 auto;
  background:#fff;
}
.report-page{
  width:794px;
  min-height:1123px;
  padding:42px 46px;
  background:#fff;
  page-break-after:always;
  break-after:page;
  position:relative;
}
.report-page:last-child{page-break-after:auto;break-after:auto}
.report-cover{
  background:linear-gradient(160deg,#101828 0%,#172033 58%,#0f62fe 140%);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.report-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:38px 38px;
  opacity:.45;
}
.report-cover>*{position:relative;z-index:1}
.report-mark{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#0f62fe;
  font-weight:900;
  font-size:22px;
}
.report-kicker{
  color:#0f62fe;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 8px;
}
.report-cover .report-kicker{color:#93c5fd}
.report-cover h1{
  font-size:42px;
  line-height:1.05;
  margin:28px 0 14px;
}
.report-cover p{
  font-size:17px;
  color:#dbeafe;
  max-width:560px;
}
.report-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:28px;
}
.report-meta div,.report-card{
  border:1px solid #e4e7ec;
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.report-cover .report-meta div{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
}
.report-meta span,.report-card span{
  display:block;
  color:#667085;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:4px;
}
.report-cover .report-meta span{color:#bfdbfe}
.report-meta strong,.report-card strong{
  display:block;
  font-size:17px;
}
.report-section h2{
  margin:0 0 14px;
  font-size:25px;
}
.report-section h3{
  margin:18px 0 8px;
  font-size:17px;
}
.report-section p{
  margin:0 0 10px;
  color:#344054;
}
.report-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:14px 0;
}
.report-list{
  margin:10px 0 0;
  padding-left:18px;
  color:#344054;
}
.report-list li{margin-bottom:6px}
.report-table{
  width:100%;
  border-collapse:collapse;
  margin-top:12px;
  font-size:12px;
}
.report-table th,.report-table td{
  border-bottom:1px solid #e4e7ec;
  padding:8px;
  text-align:left;
  vertical-align:top;
}
.report-table th{
  background:#f9fafb;
  color:#344054;
  text-transform:uppercase;
  font-size:10px;
}
.pdf-report .gantt{
  min-width:0;
  width:100%;
  display:grid;
  grid-template-columns:150px repeat(24,22px);
  font-size:9px;
  color:#344054;
  border:1px solid #e4e7ec;
  border-radius:10px;
  overflow:hidden;
}
.pdf-report .gantt-left-head{
  grid-column:1;
  grid-row:1 / span 2;
  background:#f9fafb;
  border-right:1px solid #e4e7ec;
  border-bottom:1px solid #e4e7ec;
  display:grid;
  place-items:center;
  font-weight:800;
}
.pdf-report .gantt-timeline-head{
  grid-column:2 / -1;
  display:grid;
  grid-template-rows:22px 22px;
  border-bottom:1px solid #e4e7ec;
}
.pdf-report .gantt-months,.pdf-report .gantt-weeks,.pdf-report .gantt-line{
  display:grid;
  grid-template-columns:repeat(24,22px);
}
.pdf-report .gantt-months span{
  display:grid;
  place-items:center;
  border-right:1px solid #d0d5dd;
  background:#eef4ff;
  color:#1849a9;
  font-weight:800;
}
.pdf-report .gantt-weeks span{
  display:grid;
  place-items:center;
  border-right:1px solid #edf0f5;
  color:#667085;
  font-size:8px;
}
.pdf-report .gantt-row{display:contents}
.pdf-report .gantt-task{
  grid-column:1;
  min-height:32px;
  padding:6px;
  border-right:1px solid #e4e7ec;
  border-bottom:1px solid #e4e7ec;
  overflow:hidden;
}
.pdf-report .gantt-task strong{display:inline-block;min-width:28px;color:#172033}
.pdf-report .gantt-task span{display:block;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdf-report .gantt-line{
  grid-column:2 / -1;
  align-items:center;
  min-height:32px;
  border-bottom:1px solid #e4e7ec;
  background:repeating-linear-gradient(90deg,#fff 0,#fff 21px,#edf0f5 22px);
}
.pdf-report .gantt-bar{
  height:16px;
  border-radius:3px;
  padding:0 4px;
  overflow:hidden;
  color:#172033;
}
.pdf-report .gantt-bar span{
  display:none;
}
.pdf-report .gantt-bar.critical{background:#f97066}
.pdf-report .gantt-bar.high{background:#fdb022}
.pdf-report .gantt-bar.medium{background:#4ec3d3}
.pdf-report .gantt-bar.low{background:#84ca85}
.pdf-report .gantt-link{display:none}
.report-callout{
  border-left:4px solid #0f62fe;
  background:#eef4ff;
  border-radius:10px;
  padding:12px;
  margin:12px 0;
  color:#1849a9;
}
.report-action{
  border:1px solid #e4e7ec;
  border-radius:12px;
  padding:12px;
  margin-bottom:10px;
  break-inside:avoid;
  page-break-inside:avoid;
}
.report-action h3{margin:0 0 6px;font-size:15px}
.report-action p{font-size:12px;margin:0 0 5px}
.guide-appendix-cover{
  background:linear-gradient(180deg,#f8fbff,#fff);
}
.guide-section h2{
  font-size:22px;
  margin-bottom:12px;
}
.guide-section h4{
  margin:14px 0 7px;
  font-size:14px;
}
.guide-section p{
  font-size:11.5px;
  line-height:1.42;
  margin-bottom:7px;
}
.guide-list{
  font-size:11.5px;
  margin-top:6px;
}
.guide-table{
  font-size:9.5px;
  margin:8px 0 12px;
  break-inside:auto;
}
.guide-table th,.guide-table td{
  padding:5px;
}
.guide-code{
  white-space:pre-wrap;
  background:#101828;
  color:#e5edff;
  border-radius:10px;
  padding:10px;
  font-size:9px;
  line-height:1.35;
  margin:8px 0 12px;
}
.report-footer{
  position:absolute;
  left:46px;
  right:46px;
  bottom:24px;
  display:flex;
  justify-content:space-between;
  color:#667085;
  font-size:10px;
  border-top:1px solid #e4e7ec;
  padding-top:8px;
}
@media print{
  @page{
    size:A4 portrait;
    margin:0;
  }
  .pdf-print-body{
    background:#fff !important;
  }
  .pdf-print-root{
    width:794px;
    margin:0;
  }
  .pdf-render-zone{
    position:static;
    left:auto;
    width:auto;
    z-index:auto;
  }
}
