.rr-cac-pdf-render-root{
  position:absolute;
  top:0;
  left:-99999px;
  width:794px;
  background:#fff;
  color:#3F3F3F;
  font-family:Inter,system-ui,-apple-system,Arial,sans-serif;
}

.rr-cac-pdf{
  width:794px;
  background:#fff;
}

.rr-cac-pdf-page{
  width:794px;
  min-height:1123px;
  padding:52px 44px 42px;
  box-sizing:border-box;
  background:#fff;
  overflow:hidden;
}

/* =========================
   CABECERA
   ========================= */

.rr-cac-pdf-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:38px;
}

.rr-cac-pdf-brand{
  margin-bottom:14px;
  font-size:27px;
  line-height:1.24;
  font-weight:700;
  color:#2E5F4F;
}

.rr-cac-pdf-title{
  max-width:590px;
  margin:0 0 14px;
  font-size:36px;
  line-height:1.12;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#2F2F2F;
}

.rr-cac-pdf-subtitle{
  font-size:15px;
  line-height:1.7;
  color:#5E5E5E;
}

.rr-cac-pdf-date{
  padding-top:6px;
  font-size:13px;
  line-height:1.6;
  color:#6B6B6B;
  text-align:right;
  white-space:nowrap;
}

/* =========================
   META
   ========================= */

.rr-cac-pdf-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:30px;
}

.rr-cac-pdf-meta-item{
  padding:15px 14px;
  border:1px solid #DCE6E1;
  border-radius:12px;
  background:#FAFCFB;
}

.rr-cac-pdf-meta-label{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#6B6B6B;
}

.rr-cac-pdf-meta-value{
  display:block;
  font-size:15px;
  line-height:1.35;
  font-weight:600;
  color:#2F2F2F;
}

/* =========================
   VEREDICTO PRINCIPAL
   ========================= */

.rr-cac-pdf-verdict{
  margin-bottom:20px;
  padding:26px 22px;
  border:1px solid #E4ECE8;
  border-radius:16px;
}

.rr-cac-pdf-verdict.is-ok{
  background:#F3FAF6;
  border-color:#CFE5DA;
}

.rr-cac-pdf-verdict.is-warning{
  background:#FFF8EC;
  border-color:#F1D7A8;
}

.rr-cac-pdf-verdict.is-critical{
  background:#FDECEC;
  border-color:#F5C2C2;
}

.rr-cac-pdf-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.rr-cac-pdf-badge.is-ok{
  background:#E6F3EC;
  color:#2E5F4F;
}

.rr-cac-pdf-badge.is-warning{
  background:#FFF4DE;
  color:#8A5A00;
}

.rr-cac-pdf-badge.is-critical{
  background:#FDECEC;
  color:#9F2D2D;
}

.rr-cac-pdf-headline{
  max-width:610px;
  margin:0 0 14px;
  font-size:34px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#2F2F2F;
}

.rr-cac-pdf-dependency{
  max-width:610px;
  font-size:17px;
  line-height:1.65;
  color:#3F3F3F;
}

/* =========================
   BOXES GENERALES
   ========================= */

.rr-cac-pdf-box{
  margin-bottom:18px;
  padding:18px;
  border:1px solid #DCE6E1;
  border-radius:14px;
  background:#fff;
}

.rr-cac-pdf-box h3{
  margin:0 0 12px;
  font-size:18px;
  line-height:1.3;
  color:#2F2F2F;
}

.rr-cac-pdf-box p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#3F3F3F;
}

/* =========================
   ALERTAS
   ========================= */

.rr-cac-pdf-alert{
  margin-bottom:16px;
  padding:16px;
  border:1px solid #E4ECE8;
  border-radius:12px;
}

.rr-cac-pdf-alert.is-warning{
  background:#FFF7E8;
  border-color:#F1D7A8;
}

.rr-cac-pdf-alert h4{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.35;
  color:#8A5A00;
}

.rr-cac-pdf-alert ul{
  margin:0;
  padding-left:18px;
}

.rr-cac-pdf-alert li{
  font-size:14px;
  line-height:1.65;
  color:#3F3F3F;
}

.rr-cac-pdf-alert li + li{
  margin-top:6px;
}

/* =========================
   KPIs
   ========================= */

.rr-cac-pdf-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.rr-cac-pdf-kpi{
  padding:15px 14px 13px;
  border:1px solid #E4ECE8;
  border-radius:14px;
  background:#fff;
}

.rr-cac-pdf-kpi-value{
  margin-bottom:8px;
  font-size:24px;
  line-height:1.06;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#2F2F2F;
}

.rr-cac-pdf-kpi-label{
  font-size:12px;
  line-height:1.5;
  color:#666;
}

/* =========================
   COMPARATIVA
   ========================= */

.rr-cac-pdf-compare{
  margin-bottom:16px;
  padding:20px;
  border:1px solid #E4ECE8;
  border-radius:16px;
  background:#fff;
}

.rr-cac-pdf-compare h3{
  margin:0 0 16px;
  font-size:18px;
  line-height:1.32;
  color:#2E5F4F;
}

.rr-cac-pdf-compare-row{
  display:grid;
  grid-template-columns:210px 1fr 138px;
  gap:12px;
  align-items:center;
}

.rr-cac-pdf-compare-row + .rr-cac-pdf-compare-row{
  margin-top:14px;
}

.rr-cac-pdf-compare-label{
  font-size:14px;
  line-height:1.4;
  font-weight:600;
  color:#3F3F3F;
}

.rr-cac-pdf-compare-track{
  height:16px;
  border-radius:999px;
  background:#EAF0EC;
  overflow:hidden;
}

.rr-cac-pdf-compare-fill{
  height:100%;
  border-radius:999px;
}

.rr-cac-pdf-compare-fill.is-margin-ok{
  background:linear-gradient(90deg,#4F7A68 0%, #6D9281 100%);
}

.rr-cac-pdf-compare-fill.is-margin-warning{
  background:linear-gradient(90deg,#B88900 0%, #D6A21A 100%);
}

.rr-cac-pdf-compare-fill.is-margin-critical{
  background:linear-gradient(90deg,#B23A3A 0%, #CF5656 100%);
}

.rr-cac-pdf-compare-fill.is-cost-neutral{
  background:linear-gradient(90deg,#8A8F93 0%, #B0B5B8 100%);
}

.rr-cac-pdf-compare-fill.is-cost-heavy{
  background:linear-gradient(90deg,#6F7F78 0%, #8EA198 100%);
}

.rr-cac-pdf-compare-value{
  text-align:right;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:#2F2F2F;
}

.rr-cac-pdf-compare-verdict{
  margin-top:12px;
  font-size:16px;
  line-height:1.4;
  font-weight:700;
}

.rr-cac-pdf-compare-verdict.is-ok{
  color:#176A4F;
}

.rr-cac-pdf-compare-verdict.is-warning{
  color:#8A5A00;
}

.rr-cac-pdf-compare-verdict.is-critical{
  color:#9F2D2D;
}

.rr-cac-pdf-compare--advanced{
  margin-bottom:18px;
  border-color:#D8E2DD;
}

.rr-cac-pdf-compare--advanced .rr-cac-pdf-compare-track{
  height:16px;
  background:#E4ECE8;
}

.rr-cac-pdf-compare--advanced .rr-cac-pdf-compare-label{
  font-weight:700;
}

/* =========================
   BRECHA / HOLGURA
   ========================= */

.rr-cac-pdf-gap-box{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #E4ECE8;
}

.rr-cac-pdf-gap-label{
  margin-bottom:6px;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.rr-cac-pdf-gap-value{
  font-size:28px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-0.02em;
}

.rr-cac-pdf-gap-box.is-ok .rr-cac-pdf-gap-label,
.rr-cac-pdf-gap-box.is-ok .rr-cac-pdf-gap-value{
  color:#176A4F;
}

.rr-cac-pdf-gap-box.is-warning .rr-cac-pdf-gap-label,
.rr-cac-pdf-gap-box.is-warning .rr-cac-pdf-gap-value{
  color:#8A5A00;
}

.rr-cac-pdf-gap-box.is-critical .rr-cac-pdf-gap-label,
.rr-cac-pdf-gap-box.is-critical .rr-cac-pdf-gap-value{
  color:#A53737;
}

/* =========================
   DESGLOSE / RANK
   ========================= */

.rr-cac-pdf-rank-intro{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.5;
  color:#5E6A64;
}

.rr-cac-pdf-rank-list{
  display:grid;
  gap:14px;
}

.rr-cac-pdf-rank-row{
  display:grid;
  gap:7px;
}

.rr-cac-pdf-rank-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}

.rr-cac-pdf-rank-label{
  font-size:14px;
  line-height:1.35;
  font-weight:600;
  color:#33443D;
}

.rr-cac-pdf-rank-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.rr-cac-pdf-rank-value{
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  color:#2F2F2F;
  white-space:nowrap;
}

.rr-cac-pdf-rank-pct{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  min-height:22px;
  padding:4px 8px;
  border:1px solid #D5E1DB;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:700;
}

.rr-cac-pdf-rank-track{
  position:relative;
  height:12px;
  border-radius:999px;
  background:#E6EEEA;
  overflow:hidden;
}

.rr-cac-pdf-rank-fill{
  height:100%;
  border-radius:999px;
}

.rr-cac-pdf-rank-fill--captacion{
  background:linear-gradient(90deg,#4F7467 0%, #6A8E81 100%);
}

.rr-cac-pdf-rank-fill--cierre{
  background:linear-gradient(90deg,#B88900 0%, #D6A21A 100%);
}

.rr-cac-pdf-rank-fill--servicio{
  background:linear-gradient(90deg,#5E6F7E 0%, #7A8A98 100%);
}

.rr-cac-pdf-rank-fill--incidencias{
  background:linear-gradient(90deg,#8E9894 0%, #AEB7B3 100%);
}

.rr-cac-pdf-rank-fill--shared{
  background:linear-gradient(90deg,#8E9894 0%, #AEB7B3 100%);
}

.rr-cac-pdf-rank-pct--captacion{
  background:#EAF1ED;
  border-color:#CFDDD6;
  color:#45685A;
}

.rr-cac-pdf-rank-pct--cierre{
  background:#FFF5DE;
  border-color:#EBCF8C;
  color:#8A5A00;
}

.rr-cac-pdf-rank-pct--servicio{
  background:#EEF2F6;
  border-color:#D6DEE5;
  color:#4F6171;
}

.rr-cac-pdf-rank-pct--incidencias{
  background:#EEF2F0;
  border-color:#D9E2DD;
  color:#66756E;
}

.rr-cac-pdf-rank-pct--shared{
  background:#EEF2F0;
  border-color:#D9E2DD;
  color:#66756E;
}

/* =========================
   DIAGNOSIS
   ========================= */

.rr-cac-pdf-diagnosis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.rr-cac-pdf-diagnosis-card{
  min-height:176px;
  box-sizing:border-box;
  padding:15px;
  border:1px solid #E4ECE8;
  border-radius:14px;
  background:#fff;
}

.rr-cac-pdf-diagnosis-card.is-ok{
  background:#F8FCF9;
  border-color:#CFE5DA;
}

.rr-cac-pdf-diagnosis-card.is-warning{
  background:#FFF9EF;
  border-color:#EBCF8C;
}

.rr-cac-pdf-diagnosis-card.is-critical{
  background:#FFF5F5;
  border-color:#F0B8B8;
}

.rr-cac-pdf-diagnosis-card h4{
  margin:0 0 8px;
  font-size:16px;
  line-height:1.28;
  color:#2F2F2F;
}

.rr-cac-pdf-diagnosis-note{
  margin:0 0 8px;
  font-size:11px;
  line-height:1.45;
  color:#6B6B6B;
}

.rr-cac-pdf-diagnosis-card p{
  margin:0;
  font-size:13px;
  line-height:1.6;
  color:#3F3F3F;
}

/* =========================
   PRIORIDADES
   ========================= */

.rr-cac-pdf-priorities{
  padding:20px;
  border:1px solid #E4ECE8;
  border-radius:16px;
  background:#fff;
}

.rr-cac-pdf-priorities h3{
  margin:0 0 14px;
  font-size:18px;
  line-height:1.3;
  color:#2E5F4F;
}

.rr-cac-pdf-priorities ol{
  margin:0;
  padding-left:22px;
}

.rr-cac-pdf-priorities li{
  font-size:14px;
  line-height:1.65;
  color:#3F3F3F;
}

.rr-cac-pdf-priorities li + li{
  margin-top:10px;
}

/* =========================
   ESTADOS GENERALES
   ========================= */

.rr-cac-actions button[disabled]{
  opacity:.65;
  cursor:not-allowed;
}

/* =========================
   COBERTURA PDF
   ========================= */

.rr-cac-pdf-coverage{
  margin-bottom:18px;
  padding:20px;
  border:1px solid #E4ECE8;
  border-radius:16px;
  background:#fff;
}

.rr-cac-pdf-coverage h3{
  margin:0 0 12px;
  font-size:18px;
  line-height:1.32;
  color:#2E5F4F;
}

.rr-cac-pdf-coverage-scale{
  margin:0 0 14px;
  font-size:12px;
  line-height:1.45;
  color:#66716C;
}

.rr-cac-pdf-coverage-bars{
  display:grid;
  gap:12px;
}

.rr-cac-pdf-coverage-row{
  display:grid;
  grid-template-columns:210px 1fr 138px;
  gap:12px;
  align-items:center;
}

.rr-cac-pdf-coverage-label{
  font-size:14px;
  line-height:1.4;
  font-weight:600;
  color:#3F3F3F;
}

.rr-cac-pdf-coverage-track{
  height:16px;
  border-radius:999px;
  background:#EAF0EC;
  overflow:hidden;
}

.rr-cac-pdf-coverage-fill{
  height:100%;
  border-radius:999px;
}

.rr-cac-pdf-coverage-fill.is-covered{
  background:linear-gradient(90deg,#4F7A68 0%, #6D9281 100%);
}

.rr-cac-pdf-coverage-fill.is-covered.is-advanced{
  background:linear-gradient(90deg,#2E5F4F 0%, #176A4F 100%);
}

.rr-cac-pdf-coverage-fill.is-cost-base{
  background:linear-gradient(90deg,#8A8F93 0%, #B0B5B8 100%);
}

.rr-cac-pdf-coverage-value{
  text-align:right;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:#2F2F2F;
}

.rr-cac-pdf-coverage-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.rr-cac-pdf-coverage-metric{
  padding:14px 14px 12px;
  border:1px solid #E4ECE8;
  border-radius:14px;
  background:#FAFCFB;
}

.rr-cac-pdf-coverage-metric-label{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#6B6B6B;
}

.rr-cac-pdf-coverage-metric strong{
  display:block;
  font-size:22px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#2F2F2F;
}

.rr-cac-pdf-coverage-metric.is-ok{
  background:#F4FBF7;
  border-color:#CFE5DA;
}

.rr-cac-pdf-coverage-metric.is-ok strong{
  color:#176A4F;
}

.rr-cac-pdf-coverage-metric.is-warning{
  background:#FFF8EC;
  border-color:#F1D7A8;
}

.rr-cac-pdf-coverage-metric.is-warning strong{
  color:#8A5A00;
}

.rr-cac-pdf-coverage-metric.is-critical{
  background:#FDECEC;
  border-color:#F5C2C2;
}

.rr-cac-pdf-coverage-metric.is-critical strong{
  color:#9F2D2D;
}

.rr-cac-pdf-coverage-verdict{
  margin-top:14px;
  font-size:16px;
  line-height:1.4;
  font-weight:700;
}

.rr-cac-pdf-coverage-verdict.is-ok{
  color:#176A4F;
}

.rr-cac-pdf-coverage-verdict.is-warning{
  color:#8A5A00;
}

.rr-cac-pdf-coverage-verdict.is-critical{
  color:#9F2D2D;
}

.rr-cac-pdf-methodology-note{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #DCE6E1;
  border-radius:12px;
  background:#F8FBF9;
  font-size:13px;
  line-height:1.55;
  color:#55615C;
}

.rr-cac-pdf-compare--advanced.is-ok{
  border-color:#CFE5DA;
  background:#F8FCF9;
}

.rr-cac-pdf-compare--advanced.is-warning{
  border-color:#EBCF8C;
  background:#FFF9EF;
}

.rr-cac-pdf-compare--advanced.is-critical{
  border-color:#F0B8B8;
  background:#FFF5F5;
}

.rr-cac-pdf-bridge-intro{
  margin:0 0 18px;
  font-size:15px;
  line-height:1.65;
  color:#5E5E5E;
}}

/* =========================================================
   REDISEÑO FIRMA R&R — PDF
   ========================================================= */

/* Cabecera — firma más prominente */
.rr-cac-pdf-header {
  padding-bottom: 28px;
  border-bottom: 2px solid #176A4F;
  margin-bottom: 32px;
}

/* Logo imagen — si está disponible */
.rr-cac-pdf-logo {
  display: block;
  height: 32px;
  width: auto;
  margin-bottom: 10px;
}

/* Nombre de marca — más presencia */
.rr-cac-pdf-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #176A4F;
}

.rr-cac-pdf-brand::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #176A4F;
  flex-shrink: 0;
}

/* Título del informe */
.rr-cac-pdf-title {
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: #2B2B2B;
  margin-bottom: 8px;
}

/* Subtítulo */
.rr-cac-pdf-subtitle {
  font-size: 14px;
  font-weight: 500;
  color: #6B6B6B;
  line-height: 1.5;
}

/* Fecha — más discreta */
.rr-cac-pdf-date {
  font-size: 12px;
  color: #8A8A8A;
  text-align: right;
  padding-top: 4px;
}

/* Pie de página gestionado con elemento HTML real .rr-cac-pdf-footer */

/* Veredicto principal — más impacto cromático */
.rr-cac-pdf-verdict {
  padding: 28px 26px;
  border-radius: 18px;
  margin-bottom: 22px;
}

.rr-cac-pdf-verdict.is-ok {
  background: linear-gradient(135deg, #F0FBF6 0%, #E8F5EF 100%);
  border-color: #9ECFB8;
  border-left: 4px solid #176A4F;
}

.rr-cac-pdf-verdict.is-warning {
  background: linear-gradient(135deg, #FFFBF2 0%, #FFF3D9 100%);
  border-color: #E8C060;
  border-left: 4px solid #C89200;
}

.rr-cac-pdf-verdict.is-critical {
  background: linear-gradient(135deg, #FFF5F5 0%, #FEECEC 100%);
  border-color: #E89090;
  border-left: 4px solid #C0392B;
}

/* Badge de estado en PDF */
.rr-cac-pdf-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 6px 14px;
  margin-bottom: 14px;
}

/* Headline del veredicto */
.rr-cac-pdf-headline {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin-bottom: 12px;
}

.rr-cac-pdf-verdict.is-ok    .rr-cac-pdf-headline { color: #1A5C42; }
.rr-cac-pdf-verdict.is-warning .rr-cac-pdf-headline { color: #8A5200; }
.rr-cac-pdf-verdict.is-critical .rr-cac-pdf-headline { color: #9F2D2D; }

/* Dependency */
.rr-cac-pdf-dependency {
  font-size: 15px;
  line-height: 1.65;
  color: #4E4E4E;
  font-weight: 500;
}

/* Boxes — más aire */
.rr-cac-pdf-box {
  padding: 20px 20px 18px;
  border-radius: 16px;
  margin-bottom: 16px;
}

.rr-cac-pdf-box h3 {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-bottom: 10px;
  color: #2B2B2B;
}

.rr-cac-pdf-box p {
  font-size: 14px;
  line-height: 1.7;
  color: #4E4E4E;
}

/* KPIs en PDF — primer KPI destacado */
.rr-cac-pdf-kpi:first-child {
  border-color: #9ECFB8;
  background: linear-gradient(180deg, #FFFFFF 0%, #F4FAF7 100%);
}

.rr-cac-pdf-kpi:first-child .rr-cac-pdf-kpi-value {
  font-size: 30px;
  font-weight: 800;
  color: #0F4A37;
}

.rr-cac-pdf-kpi:first-child .rr-cac-pdf-kpi-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #2E5F4F;
}

/* Meta items */
.rr-cac-pdf-meta-item {
  border-left: 3px solid #E4ECE8;
  border-radius: 0 12px 12px 0;
}

.rr-cac-pdf-meta-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
}

/* =========================================================
   PIE DE PÁGINA — firma en última hoja de cada PDF
   ========================================================= */

.rr-cac-pdf-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 32px;
  padding-top: 14px;
  border-top: 1px solid #E4ECE8;
}

.rr-cac-pdf-footer__brand {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #176A4F;
}

.rr-cac-pdf-footer__claim {
  font-size: 11px;
  font-weight: 500;
  color: #8A8A8A;
}

.rr-cac-pdf-footer__url {
  font-size: 11px;
  font-weight: 600;
  color: #8A8A8A;
  text-align: right;
}
