.tsdiag { --td-ink:#172140; --td-purple:#6237ef; --td-soft:#e6ddff; --td-vivid:#7949ff; width:min(100%,1140px); margin:clamp(28px,4vw,62px) auto; font-family:inherit; font-size:16px; line-height:1.5; color:var(--td-ink); }
.tsdiag *, .tsdiag *::before, .tsdiag *::after { box-sizing:border-box; }
.tsdiag [hidden] { display:none!important; }
.tsdiag-band { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,56px); overflow:hidden; isolation:isolate; padding:clamp(22px,4vw,42px); border:1px solid #514798; border-radius:18px; color:#fff; background:radial-gradient(ellipse at 86% -15%,#6645e1 0,transparent 58%),linear-gradient(105deg,#17143c 10%,#291952 72%,#2e2072); }
.tsdiag-band::after { content:''; position:absolute; z-index:-1; inset:0 0 0 48%; opacity:.27; background-image:radial-gradient(circle,#bcaaff 1px,transparent 1.6px); background-size:20px 20px; mask-image:linear-gradient(90deg,transparent,#000); pointer-events:none; }
.tsdiag .tsdiag-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#ded3ff; font-size:11px; font-weight:750; letter-spacing:.14em; }
.tsdiag-eyebrow > span:first-child { color:#bfacff; font-size:15px; }
.tsdiag-divider { opacity:.65; }
.tsdiag-band h2 { color:#fff; font-size:clamp(24px,3.15vw,38px); line-height:1.06; letter-spacing:-.035em; font-weight:760; margin:8px 0 9px; }
.tsdiag-band p { color:#eee8ff; font-size:15px; line-height:1.45; margin:0; max-width:47ch; }
.tsdiag-url { margin:0; }
.tsdiag label { display:block; font-size:13px; font-weight:700; margin:0 0 5px; }
.tsdiag-inputrow { display:flex; align-items:stretch; gap:8px; }
.tsdiag input:not([type=hidden]) { min-width:0; flex:1; width:100%; min-height:44px; margin:0; padding:10px 12px; font:inherit; font-size:15px; color:#172140; border:1px solid #ded8f1; border-radius:8px; background:#fff; }
.tsdiag input:focus-visible, .tsdiag button:focus-visible, .tsdiag summary:focus-visible, .tsdiag a:focus-visible { outline:3px solid #ab92ff; outline-offset:3px; }
.tsdiag .tsdiag-primary,.tsdiag .tsdiag-secondary { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:44px; padding:9px 14px; border:1px solid transparent; border-radius:8px; background:var(--td-purple); color:#fff; font:inherit; font-size:14px; font-weight:750; line-height:1.25; cursor:pointer; white-space:nowrap; text-transform:none; }
.tsdiag .tsdiag-primary:hover { background:#4725c3; }
.tsdiag .tsdiag-primary:disabled { opacity:.7; cursor:wait; }
.tsdiag .tsdiag-secondary { border-color:#e1d9f8; color:#4425ad; background:#f6f2ff; }
.tsdiag-caption { display:block; color:#e9ddff; font-size:12px; margin-top:8px; }
.tsdiag-dialog { width:min(94vw,590px); max-height:90vh; padding:0; border:1px solid #e1d9f8; border-radius:16px; color:var(--td-ink); background:#fff; box-shadow:0 22px 80px #12112e60; }
.tsdiag-dialog::backdrop { background:#171332b8; }
.tsdiag-panel { padding:clamp(20px,5vw,32px); position:relative; }
.tsdiag .tsdiag-light { color:#5832b5; }
.tsdiag .tsdiag-close { position:absolute; right:12px; top:12px; width:42px; height:42px; border:0; background:#f3effd; color:#23174b; border-radius:50%; padding:0; font-family:inherit; line-height:1; font-size:25px; cursor:pointer; }
.tsdiag h3 { color:var(--td-ink); font-size:clamp(23px,5vw,32px); line-height:1.12; margin:10px 0 7px; letter-spacing:-.03em; }
.tsdiag-target { margin:0 0 17px; color:#615778; font-size:13px; overflow-wrap:anywhere; }
.tsdiag-lead input { margin-bottom:12px!important; }
.tsdiag-privacy,.tsdiag-scope { font-size:12px; color:#625973; margin:5px 0 13px; }
.tsdiag-privacy a { color:#4a24be; text-decoration:underline; }
.tsdiag-message,.tsdiag-feedback { color:#5b338f; font-size:13px; margin:7px 0 0; }
.tsdiag-message:empty,.tsdiag-feedback:empty { display:none; }
.tsdiag-scores { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tsdiag-score { border:1px solid #e7dcff; border-radius:11px; padding:11px 14px; background:#f7f3ff; }
.tsdiag-score b { display:block; color:#5028c7; font-size:34px; line-height:1; }
.tsdiag-score b small { font-size:13px; color:#645781; }
.tsdiag-score span { color:#463c58; font-size:12px; }
.tsdiag h4 { color:var(--td-ink); font-size:15px; margin:13px 0 5px; }
.tsdiag-priorities { padding-left:20px; margin:0 0 10px; font-size:14px; }
.tsdiag-priorities li + li { margin-top:4px; }
.tsdiag details { border-top:1px solid #ece5f8; padding:8px 0; font-size:13px; }
.tsdiag summary { cursor:pointer; color:#4823b2; font-weight:700; }
.tsdiag-checks p { margin:5px 0; }
.tsdiag-actions { display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:720px) { .tsdiag-band { grid-template-columns:1fr; gap:18px; } }
@media(max-width:370px) { .tsdiag-inputrow { flex-wrap:wrap; } .tsdiag-inputrow input { flex-basis:100%; } }

/* Paleta, fotografia e marca do mídia kit do Tudo Sobre CDP. */
.tsdiag { --td-purple:#7030a0; --td-ink:#291735; }
.tsdiag-band { background:#3e1648; border-color:#7030a0; }
.tsdiag-band::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#391345 7%,#4c1a5ee8 45%,#381144dc 75%); }
.tsdiag-band::after { content:none; }
.tsdiag .tsdiag-cover { position:absolute; z-index:-2; inset:0 0 0 auto; width:65%; height:100%; object-fit:cover; object-position:65% 45%; }
.tsdiag .tsdiag-brand { display:block; width:158px; height:auto; margin-bottom:14px; }
.tsdiag .tsdiag-primary:hover { background:#57227d; }
.tsdiag-dialog { width:min(94vw,730px); }
.tsdiag-score { background:#f7eef9; border-color:#eddcf2; }
.tsdiag-score b { color:#7030a0; }
.tsdiag-summary { color:#382346; font-size:15px; font-weight:650; line-height:1.48; margin:13px 0; }
.tsdiag-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.tsdiag-metrics:empty { display:none; }
.tsdiag-metric { padding:8px; border:1px solid #efdfef; border-radius:7px; }
.tsdiag-metric strong,.tsdiag-metric span { display:block; }
.tsdiag-metric span { font-size:11px; color:#535862; }
.tsdiag-priorities { list-style:none; padding:0; display:grid; gap:9px; }
.tsdiag-priorities li { border-left:3px solid #c801aa; background:#faf5fb; padding:9px 12px; }
.tsdiag-priorities li p,.tsdiag-check p { margin:4px 0 0; }
.tsdiag-impact { display:block; color:#7030a0; font-size:11px; font-weight:700; }
.tsdiag-action { font-weight:700; }
.tsdiag-check { padding:8px 0; border-bottom:1px solid #efdfef; }
.tsdiag-check > span { margin-left:8px; color:#7030a0; font-size:11px; }
@media(max-width:480px) { .tsdiag-metrics { grid-template-columns:1fr 1fr; } }
.tsdiag-topics { border-top:1px solid #eddcf2; margin-top:16px; padding-top:6px; font-size:13px; }
.tsdiag-topics-type,.tsdiag-topic-signals { color:#535862; }
.tsdiag-topic-table { overflow-x:auto; }
.tsdiag-topic-table table { border-collapse:collapse; width:100%; font-size:13px; margin:4px 0 10px; }
.tsdiag-topic-table th,.tsdiag-topic-table td { padding:6px 9px; text-align:left; border:1px solid #efdfef; }
.tsdiag-topic-table th { background:#f7eef9; color:#48235a; }
.tsdiag-topic-table td:first-child { font-weight:700; }
.tsdiag-topic-table td:nth-child(2) { font-variant-numeric:tabular-nums; text-align:right; }
.tsdiag-topic-actions,.tsdiag-prompts ul { padding-left:20px; }
.tsdiag-geo b { font-size:clamp(17px,3.3vw,25px); margin:4px 0 6px; line-height:1.1; }
.tsdiag-geo span:last-child { display:block; line-height:1.35; }
.tsdiag details .tsdiag-metrics { margin:8px 0; }
.tsdiag-chapter { border-top:1px solid #efdfef; padding-top:8px; margin-top:14px; font-size:14px; }
.tsdiag-chapter > h4 { font-size:17px; color:#48235a; }
.tsdiag-chapter p { margin:3px 0 10px; }
.tsdiag-decisions { padding-left:20px; font-size:14px; }
.tsdiag-topics h5 { margin:8px 0 4px; font-size:15px; }

/* Pulsos em rede no entorno da faixa. */
.tsdiag { position:relative; isolation:isolate; }
.tsdiag .tsdiag-network { position:absolute; inset:-18px 0; width:100%; height:calc(100% + 36px); z-index:-1; pointer-events:none; }
.tsdiag-health { overflow-wrap:anywhere; }
