/* Relatório de performance em folhas A4 — usado no sistema (PDF) e na página pública do link do relatório. */
.pd-doc { font-family: 'Inter', -apple-system, sans-serif; color: #0F172A; line-height: 1.4; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pd-doc * { box-sizing: border-box; margin: 0; }
.pd-page { width: 210mm; height: 297mm; background: #fff; position: relative; overflow: hidden; padding: 0 14mm; display: flex; flex-direction: column; break-after: page; page-break-after: always; }
.pd-page:last-child { break-after: auto; page-break-after: auto; }
.pd-body { flex: 1; min-height: 0; overflow: hidden; padding-bottom: 4mm; }
.pd-word { font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.pd-word span { font-weight: 500; color: #93C5FD; }
.pd-hero { margin: 0 -14mm; padding: 11mm 14mm 9mm; background: #0B1630; color: #fff; position: relative; overflow: hidden; flex-shrink: 0; }
.pd-hero::after { content: ""; position: absolute; right: -30mm; top: -40mm; width: 110mm; height: 110mm; border-radius: 50%; background: radial-gradient(circle, rgba(37,99,235,.55), rgba(37,99,235,0) 70%); }
.pd-hero-top { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 1; }
.pd-doctype { font-size: 9.5px; letter-spacing: .16em; font-weight: 600; color: #CBD5E1; }
.pd-client { margin-top: 9mm; position: relative; z-index: 1; }
.pd-client-label { font-size: 10px; color: #93C5FD; font-weight: 600; letter-spacing: .12em; }
.pd-client-name { font-size: 27px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pd-client-name.long { font-size: 21px; }
.pd-chips { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
.pd-chip { font-size: 11px; font-weight: 600; color: #FFFFFF; padding: 5px 11px; border-radius: 99px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.35); display: inline-flex; align-items: center; gap: 6px; letter-spacing: .01em; }
.pd-chip i { width: 8px; height: 8px; border-radius: 50%; background: #60A5FA; display: inline-block; }
.pd-mini { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9mm 0 5mm; border-bottom: 1px solid #E2E8F0; flex-shrink: 0; }
.pd-mini .pd-word { font-size: 14px; color: #0F172A; white-space: nowrap; }
.pd-mini .pd-word span { color: #2563EB; }
.pd-mini-meta { font-size: 10px; color: #64748B; text-align: right; line-height: 1.5; max-width: 62%; }
.pd-mini-meta b { color: #0F172A; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pd-foot { flex-shrink: 0; display: flex; justify-content: space-between; gap: 10px; padding: 4mm 0 7mm; border-top: 1px solid #E2E8F0; font-size: 8.5px; color: #94A3B8; }
.pd-foot b { color: #64748B; }
.pd-sec { padding-top: 7mm; }
.pd-sec-title { font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.pd-sec-title::before { content: ""; width: 4px; height: 14px; border-radius: 2px; background: #2563EB; flex-shrink: 0; }
.pd-sec-sub { font-size: 10px; color: #64748B; margin: 2px 0 0 12px; }
.pd-kpi-main { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4mm; margin-top: 4mm; }
.pd-kpi { border: 1px solid #E2E8F0; border-radius: 12px; padding: 4.5mm; }
.pd-kpi.primary { background: #EFF6FF; border-color: #BFDBFE; }
.pd-kpi-label { font-size: 9.5px; font-weight: 600; color: #64748B; letter-spacing: .06em; text-transform: uppercase; }
.pd-kpi-value { font-size: 23px; font-weight: 800; letter-spacing: -.02em; margin-top: 4px; white-space: nowrap; }
.pd-kpi.primary .pd-kpi-value { color: #2563EB; }
.pd-kpi-help { font-size: 9.5px; color: #64748B; margin-top: 2px; }
.pd-delta { display: inline-flex; align-items: center; gap: 3px; font-size: 9.5px; font-weight: 700; padding: 2px 6px; border-radius: 99px; margin-top: 7px; }
.pd-delta.good { background: #DCFCE7; color: #16A34A; }
.pd-delta.bad { background: #FEE2E2; color: #DC2626; }
.pd-delta.neu { background: #F1F5F9; color: #475569; }
.pd-delta span { font-weight: 500; color: #64748B; margin-left: 3px; }
.pd-kpi-sec { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; margin-top: 3mm; }
.pd-kpi-s { background: #F8FAFC; border-radius: 10px; padding: 3.5mm 4mm; }
.pd-kpi-s .pd-kpi-value { font-size: 15px; margin-top: 3px; }
.pd-chart { border: 1px solid #E2E8F0; border-radius: 12px; padding: 4mm 4mm 3mm; margin-top: 4mm; }
.pd-legend { display: flex; gap: 14px; font-size: 9.5px; color: #64748B; margin-bottom: 2mm; flex-wrap: wrap; }
.pd-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 4px; vertical-align: -1px; }
.pd-legend i.avg { height: 0; border-top: 2px dashed #2563EB; border-radius: 0; vertical-align: 2px; }
.pd-note { border-radius: 12px; background: linear-gradient(135deg, #F8FAFC, #EFF6FF); border: 1px solid #DBEAFE; padding: 5mm; }
.pd-note-head { display: flex; align-items: center; gap: 8px; font-size: 11.5px; font-weight: 700; }
.pd-note-head small { font-weight: 500; color: #64748B; font-size: 9.5px; }
.pd-avatar { width: 22px; height: 22px; border-radius: 50%; background: #0B1630; color: #fff; font-size: 9px; font-weight: 700; display: grid; place-items: center; flex-shrink: 0; }
.pd-note ul { margin: 3mm 0 0 4mm; padding: 0 0 0 2mm; font-size: 10.5px; color: #334155; line-height: 1.6; }
.pd-note li { overflow-wrap: anywhere; }
.pd-note li::marker { color: #2563EB; }
.pd-funnel { display: grid; align-items: center; margin-top: 4mm; }
.pd-fstep { border-radius: 12px; padding: 4mm 2mm; text-align: center; }
.pd-fstep .pd-kpi-value { font-size: 19px; }
.pd-farrow { text-align: center; color: #94A3B8; font-size: 9px; font-weight: 700; line-height: 1.2; }
.pd-farrow b { display: block; font-size: 15px; color: #2563EB; }
.pd-table { width: 100%; border-collapse: collapse; margin-top: 4mm; font-size: 10px; }
.pd-table th { background: none; text-align: right; font-size: 8.5px; letter-spacing: .06em; text-transform: uppercase; color: #64748B; font-weight: 600; padding: 2.5mm 2mm; border-bottom: 1.5px solid #0F172A; white-space: nowrap; }
.pd-table th:first-child, .pd-table td:first-child { text-align: left; }
.pd-table td { font-size: 10px; vertical-align: middle; background: transparent; text-align: right; padding: 2.6mm 2mm; border-bottom: 1px solid #E2E8F0; color: #334155; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pd-table td:first-child { white-space: normal; width: 38%; }
.pd-table tr:hover td { background: transparent; }
.pd-table tr:last-child td { border-bottom: 1px solid #E2E8F0; }
.pd-cell { display: flex; gap: 6px; align-items: flex-start; }
.pd-cname { font-weight: 600; color: #0F172A; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.pd-ctype { font-size: 8.5px; color: #64748B; margin-top: 1px; }
.pd-rank { display: inline-grid; place-items: center; min-width: 16px; height: 16px; padding: 0 3px; border-radius: 4px; background: #EFF6FF; color: #2563EB; font-size: 8.5px; font-weight: 800; flex-shrink: 0; }
.pd-tag { display: inline-block; font-size: 8px; font-weight: 700; padding: 1px 5px; border-radius: 4px; margin-top: 2px; background: #DCFCE7; color: #16A34A; }
.pd-table td.pd-res { font-weight: 800; color: #2563EB; }
.pd-bar-cell { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.pd-bar { height: 5px; border-radius: 3px; background: #BFDBFE; }
.pd-table tr.pd-total td { border-bottom: none; border-top: 1.5px solid #0F172A; font-weight: 800; color: #0F172A; background: #F8FAFC; }
.pd-leg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5mm 6mm; margin-top: 2mm; }
.pd-leg { display: flex; align-items: center; gap: 6px; font-size: 9.5px; min-width: 0; }
.pd-leg i { width: 9px; height: 9px; border-radius: 2px; flex-shrink: 0; }
.pd-leg-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.pd-leg-val { color: #64748B; white-space: nowrap; margin-left: auto; }
.pd-insight { font-size: 9.5px; color: #475569; margin-top: 2.5mm; }
.pd-gloss { font-size: 8.5px; color: #64748B; line-height: 1.55; padding: 3mm 4mm; border-left: 2px solid #E2E8F0; }
.pd-gloss b { color: #334155; }
.pd-grid3 { display: flex; flex-direction: column; gap: 4mm; margin-top: 4mm; }
.pd-row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4mm; }
.pd-ad { border: 1px solid #E2E8F0; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.pd-thumb { height: 40mm; position: relative; background: linear-gradient(160deg, #1E3A8A, #3B82F6 60%, #93C5FD); }
.pd-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pd-pos { position: absolute; top: 3mm; left: 3mm; background: rgba(15,23,42,.78); color: #fff; border-radius: 6px; padding: 2px 6px; font-size: 9px; font-weight: 700; }
.pd-ad-body { padding: 3mm 3.5mm 3.5mm; display: flex; flex-direction: column; flex: 1; }
.pd-ad-name { font-size: 10.5px; font-weight: 700; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.pd-ad-camp { font-size: 8.5px; color: #64748B; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pd-ad-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2mm; margin-top: 3mm; padding-top: 2.5mm; border-top: 1px dashed #E2E8F0; }
.pd-ad-stats div { font-size: 8px; color: #64748B; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.pd-ad-stats b { display: block; font-size: 11.5px; color: #0F172A; letter-spacing: 0; text-transform: none; margin-top: 1px; white-space: nowrap; }
.pd-ad-stats .r b { color: #2563EB; }
.pd-ad-inv { font-size: 8.5px; color: #64748B; margin-top: 2mm; }
.pd-ad-link { margin-top: auto; padding-top: 3mm; font-size: 9px; font-weight: 600; color: #2563EB; text-decoration: none; }
.pd-step { background: #F8FAFC; border-radius: 10px; padding: 3.5mm; font-size: 9.5px; color: #334155; line-height: 1.5; overflow-wrap: anywhere; }
.pd-step b { display: block; font-size: 10.5px; color: #0F172A; margin-bottom: 2px; }
.pd-step em { font-style: normal; display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #0B1630; color: #fff; font-size: 9px; font-weight: 700; margin-bottom: 2mm; }

/* Google Ads: detalhes de cada campanha */
.pd-camp { display: flex; align-items: center; justify-content: space-between; gap: 6mm; background: linear-gradient(135deg, #0B1630, #1E3A8A); color: #fff; border-radius: 12px; padding: 5mm 5.5mm; }
.pd-camp-label { font-size: 9px; letter-spacing: .12em; font-weight: 600; color: #93C5FD; }
.pd-camp-name { font-size: 16px; font-weight: 800; letter-spacing: -.01em; margin-top: 2px; line-height: 1.25; overflow-wrap: anywhere; }
.pd-camp-kpis { display: grid; grid-template-columns: repeat(4, auto); gap: 5mm; flex-shrink: 0; }
.pd-camp-kpis div { font-size: 8px; text-transform: uppercase; letter-spacing: .06em; color: #CBD5E1; font-weight: 600; }
.pd-camp-kpis b { display: block; font-size: 13px; color: #fff; letter-spacing: 0; text-transform: none; margin-top: 2px; white-space: nowrap; }
.pd-ga-list { display: flex; flex-direction: column; gap: 4mm; margin-top: 4mm; }
.pd-ga-card { border: 1px solid #E2E8F0; border-radius: 12px; overflow: hidden; display: grid; grid-template-columns: 1fr 46mm; }
.pd-ga-prev { padding: 4mm 4.5mm; font-family: Arial, Helvetica, sans-serif; min-width: 0; }
.pd-ga-spons { font-size: 9.5px; font-weight: 700; color: #202124; }
.pd-ga-site { display: flex; align-items: center; gap: 6px; margin-top: 2mm; }
.pd-ga-fav { width: 18px; height: 18px; border-radius: 50%; background: #E8F0FE; color: #1A73E8; display: grid; place-items: center; font: 700 9px Arial, sans-serif; flex-shrink: 0; }
.pd-ga-dom { font-size: 10px; color: #202124; line-height: 1.25; min-width: 0; }
.pd-ga-dom small { display: block; color: #4D5156; font-size: 9.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pd-ga-title { font-size: 14px; color: #1A0DAB; margin-top: 1.5mm; line-height: 1.3; overflow-wrap: anywhere; }
.pd-ga-desc { font-size: 10px; color: #4D5156; margin-top: 1mm; line-height: 1.45; overflow-wrap: anywhere; }
.pd-ga-stats { background: #F8FAFC; border-left: 1px solid #E2E8F0; padding: 3.5mm 4mm; display: grid; grid-template-columns: 1fr 1fr; gap: 2.5mm 3mm; align-content: center; }
.pd-ga-stats div { font-size: 7.5px; color: #64748B; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.pd-ga-stats b { display: block; font-size: 11.5px; color: #0F172A; letter-spacing: 0; text-transform: none; margin-top: 1px; white-space: nowrap; }
.pd-ga-stats .r b { color: #2563EB; }
.pd-ga-rank { grid-column: 1 / -1; }
.pd-ga-rank span { background: #0B1630; color: #fff; border-radius: 5px; padding: 1px 6px; font-weight: 700; font-size: 8.5px; letter-spacing: 0; }
.pd-ga-assets { grid-column: 1 / -1; border-top: 1px dashed #E2E8F0; padding: 2.5mm 4.5mm 3mm; display: flex; flex-wrap: wrap; gap: 1.5mm; }
.pd-ga-assets-solo { border: 1px solid #E2E8F0; border-radius: 12px; margin-top: 4mm; padding: 3.5mm 4mm; }
.pd-ga-assets-t { width: 100%; font-size: 8px; font-weight: 700; color: #64748B; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .5mm; }
.pd-tchip { font-size: 8.5px; border-radius: 99px; padding: 2px 7px; border: 1px solid #E2E8F0; color: #334155; display: inline-flex; gap: 4px; align-items: center; max-width: 100%; }
.pd-tchip i { font-style: normal; font-weight: 700; font-size: 7.5px; border-radius: 99px; padding: 0 5px; white-space: nowrap; }
.pd-tchip .best { background: #DCFCE7; color: #15803D; } .pd-tchip .good { background: #EFF6FF; color: #2563EB; }
.pd-tchip .low { background: #FEE2E2; color: #DC2626; } .pd-tchip .learn { background: #F1F5F9; color: #64748B; }
.pd-mt { display: inline-block; font-size: 7.5px; font-weight: 700; border-radius: 4px; padding: 1px 5px; margin-left: 5px; vertical-align: 1px; }
.pd-mt.ex { background: #EDE9FE; color: #7C3AED; } .pd-mt.fr { background: #EFF6FF; color: #2563EB; } .pd-mt.am { background: #F1F5F9; color: #475569; }
.pd-qs { display: inline-flex; align-items: center; gap: 5px; justify-content: flex-end; }
.pd-qs-bar { width: 34px; height: 5px; border-radius: 3px; background: #E2E8F0; overflow: hidden; display: inline-block; }
.pd-qs-bar i { display: block; height: 100%; border-radius: 3px; }
.pd-newkw { display: inline-block; font-size: 7.5px; font-weight: 700; border-radius: 4px; padding: 1px 5px; margin-left: 5px; background: #FEF3C7; color: #B45309; vertical-align: 1px; }
.pd-note2 { font-size: 8.5px; color: #64748B; margin-top: 2.5mm; line-height: 1.5; }
.pd-geo { margin-top: 4mm; }
.pd-geo-row { display: grid; grid-template-columns: 18px 52mm 1fr 20mm 22mm 24mm; align-items: center; gap: 3mm; padding: 2.3mm 0; border-bottom: 1px solid #E2E8F0; font-size: 10px; color: #334155; }
.pd-geo-row.h { font-size: 8.5px; letter-spacing: .06em; text-transform: uppercase; color: #64748B; font-weight: 600; border-bottom: 1.5px solid #0F172A; }
.pd-geo-row b { color: #0F172A; }
.pd-geo-row small { display: block; font-size: 8.5px; color: #64748B; }
.pd-geo-bar { height: 8px; border-radius: 4px; background: #2563EB; }
.pd-geo-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pd-geo-states { display: flex; gap: 3mm; margin-top: 4mm; }
.pd-geo-st { flex: 1; background: #F8FAFC; border-radius: 10px; padding: 3mm 3.5mm; min-width: 0; }
.pd-geo-st b { display: block; font-size: 15px; color: #0F172A; margin-top: 1px; }
.pd-geo-st span { font-size: 8.5px; color: #64748B; }

/* Meta Ads: números de cada conjunto de anúncios */
.pd-set-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3mm; background: #F8FAFC; border-radius: 10px; padding: 3mm 4mm; margin-top: 3mm; }
.pd-set-kpis div { font-size: 8px; text-transform: uppercase; letter-spacing: .05em; color: #64748B; font-weight: 600; }
.pd-set-kpis b { display: block; font-size: 12px; color: #0F172A; letter-spacing: 0; text-transform: none; margin-top: 1px; white-space: nowrap; }
.pd-set-kpis .r b { color: #2563EB; }
