/* ── DASH TV ── */
.tv-fs{display:none;position:fixed;inset:0;z-index:9600;background:#080f18;overflow:hidden}
.tv-fs.on{display:flex;flex-direction:column}

.tv-slide-container{flex:1;position:relative;overflow:hidden}
.tv-slide{display:none;position:absolute;inset:0;padding:2.5rem 3rem;overflow-y:auto;
  align-items:center;justify-content:center;flex-direction:column;
  background:url(../../img/logos/Fundo_BiUP.png) center/cover no-repeat}
.tv-slide.on{display:flex}
.tv-slide-inner{width:100%;max-width:1200px;margin:0 auto}

/* Progress bar */
.tv-progress{height:3px;background:var(--border)}
.tv-progress-bar{height:100%;background:var(--blue);transition:width .3s}

/* Dots */
.tv-dots{display:flex;justify-content:center;gap:.5rem;padding:.6rem 0}
.tv-dot{width:10px;height:10px;border-radius:50%;background:#333;cursor:pointer;transition:all .2s}
.tv-dot.on{background:var(--blue);transform:scale(1.3)}

/* Logo */
.tv-logo{position:fixed;bottom:2rem;right:2rem;height:30px;opacity:.15;z-index:9601}

/* ── TPD Cards ── */
.tv-team-hdr{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}
.tv-team-name{font-size:2rem;font-weight:900}
.tv-team-sub{font-size:.78rem;color:#888;margin-left:auto}

.tv-tpd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.tv-tpd-card{background:var(--card);border:1px solid;border-radius:var(--r);padding:1.3rem}
.tv-tpd-hdr{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.tv-tpd-name{font-size:1.1rem;font-weight:800;color:#eee}
.tv-tpd-sub{font-size:.62rem;color:#888;text-transform:uppercase;letter-spacing:.3px}

/* Triangle (TV version) */
.tv-triangle{position:relative;width:100%;padding:.3rem 0}
.tv-tri-top{display:flex;justify-content:center;margin-bottom:.3rem}
.tv-tri-center{display:flex;justify-content:center;margin:.5rem 0}
.tv-tri-bottom{display:flex;justify-content:space-between;padding:0 .5rem}
.tv-tri-cell{text-align:center;min-width:70px}
.tv-tri-val{font-size:1.6rem;font-weight:900;line-height:1}
.tv-tri-lbl{font-size:.58rem;font-weight:700;color:#bbb;text-transform:uppercase;letter-spacing:.4px;margin-top:.1rem}
.tv-tri-meta{font-size:.62rem;color:#888;margin-top:.05rem}
.tv-tri-leads{width:95px;height:95px;border-radius:50%;border:3px solid;
  display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.03)}
.tv-tri-leads-val{font-size:2rem;font-weight:900;color:#fff;line-height:1}
.tv-tri-leads-meta{font-size:.62rem;color:#999;margin-top:.1rem}
.tv-tri-leads-lbl{font-size:.52rem;font-weight:700;color:#bbb;text-transform:uppercase;letter-spacing:.5px;margin-top:.1rem}

/* Arrows */
.tv-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:9602;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);border-radius:50%;color:#999;font-size:2rem;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;line-height:1;
  font-family:var(--font)}
.tv-arrow:hover{color:#fff;background:rgba(255,255,255,.12)}
.tv-arrow-l{left:1.5rem}
.tv-arrow-r{right:1.5rem}

/* ── Top 3 Podium ── */
.tv-top3{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh}
.tv-top3-title{font-size:2.5rem;font-weight:900;color:#fff;margin-bottom:2.5rem}
.tv-podium{display:flex;align-items:flex-end;justify-content:center;gap:2.5rem}
.tv-podium-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:180px;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem 1rem}
.tv-podium-1st{transform:translateY(-30px);padding:2rem 1.5rem;border-color:rgba(212,168,0,.3);
  background:var(--card)}
.tv-podium-medal{font-size:2.5rem;line-height:1}
.tv-podium-1st .tv-podium-medal{font-size:3.5rem}
.tv-podium-team-emoji{position:absolute;top:.5rem;right:.6rem;font-size:1.2rem}
.tv-podium-photos{display:flex;align-items:center;gap:.4rem}
.tv-podium-name{font-size:1.1rem;font-weight:800;margin-top:.4rem}
.tv-podium-1st .tv-podium-name{font-size:1.5rem}
.tv-podium-team{font-size:.65rem;color:#888;text-transform:uppercase;letter-spacing:.4px;margin-top:.1rem}
.tv-podium-val{font-size:2rem;font-weight:900;margin-top:.4rem}
.tv-podium-1st .tv-podium-val{font-size:2.8rem}
.tv-podium-sub{font-size:.68rem;color:#888;margin-top:.1rem}
