
/* ── Design Tokens ─────────────────────────────────────── */
:root {
  --c-bg:         #03070d;
  --c-surface:    rgba(15, 30, 50, 0.75);
  --c-border:     rgba(255, 255, 255, 0.08);
  --c-border-hi:  rgba(255, 255, 255, 0.16);
  --c-gold:       #f59e0b;
  --c-gold-hi:    #fde68a;
  --c-gold-glow:  rgba(245, 158, 11, 0.3);
  --c-silver:     #94a3b8;
  --c-silver-hi:  #e2e8f0;
  --c-silver-glow:rgba(148, 163, 184, 0.22);
  --c-bronze:     #cd7f32;
  --c-bronze-hi:  #fbbf24;
  --c-bronze-glow:rgba(205, 127, 50, 0.22);
  --c-accent:     #FF6600;
  --c-accent-hi:  #FF8833;
  --c-green:      #10b981;
  --c-green-hi:   #6ee7b7;
  --c-red:        #ef4444;
  --c-red-hi:     #fca5a5;
  --c-amber:      #f59e0b;
  --c-text:       #f8fafc;
  --c-text-sub:   #cbd5e1;
  --c-text-muted: #94a3b8;

  /* Layout */
  --px:      52px;
  --r:       14px;
  --gap:     9px;
  --hdr-h:   84px;
  --ftr-h:   50px;
  --timer-h: 4px;

  /* Typography */
  --f-title:   'Montserrat', sans-serif;
  --f-display: 'Outfit', sans-serif;
  --f-body:    'Inter', sans-serif;

  /* Easing */
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── Reset ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  font-family: var(--f-body);
  background-color: var(--c-bg);
  color: var(--c-text);
  -webkit-font-smoothing: antialiased;
}
::-webkit-scrollbar { display: none; }

/* ── Background ────────────────────────────────────────── */
.bg-canvas { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }

.grid-overlay {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(ellipse at 50% 50%, black 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, black 20%, transparent 75%);
}

.orb {
  position: absolute; border-radius: 50%;
  filter: blur(120px); opacity: 0;
  animation: orb-appear 2s var(--ease-out) forwards, orb-drift 30s ease-in-out infinite;
}
.orb-blue   { width:900px;height:900px; background:radial-gradient(circle,rgba(255,102,0,.15) 0%,transparent 70%); top:-320px;left:-200px; animation-delay:0s,0s; }
.orb-amber  { width:700px;height:700px; background:radial-gradient(circle,rgba(255,136,51,.1) 0%,transparent 70%); top:20%;right:-200px; animation-delay:.5s,-10s; }
.orb-purple { width:600px;height:600px; background:radial-gradient(circle,rgba(255,102,0,.08) 0%,transparent 70%); bottom:-180px;left:35%; animation-delay:1s,-20s; }

@keyframes orb-appear { to { opacity: 1; } }
@keyframes orb-drift {
  0%,100% { transform:translate(0,0) scale(1); }
  25%      { transform:translate(50px,-50px) scale(1.07); }
  50%      { transform:translate(-30px,40px) scale(0.94); }
  75%      { transform:translate(35px,25px) scale(1.04); }
}

/* ── App Shell ─────────────────────────────────────────── */
.tv-app {
  position: relative; z-index: 1;
  width: 100vw; height: 100vh;
  display: flex; flex-direction: column;
  overflow: hidden;
}

/* ── Timer Bar ─────────────────────────────────────────── */
.slide-timer { height: var(--timer-h); flex-shrink: 0; background: rgba(255,255,255,.06); }
.slide-timer-fill { height: 100%; width: 0%; background: linear-gradient(90deg, var(--c-accent), var(--c-gold)); }

/* ── Shared Header ─────────────────────────────────────── */
.tv-header {
  height: var(--hdr-h);
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--px);
  border-bottom: 1px solid var(--c-border);
  background-color: #061222; /* Tom de azul marinho da logo */
  gap: 20px;
}

.brand { display:flex; align-items:center; gap:13px; min-width:240px; flex-shrink:0; }
.brand-logo-wrap {
  height: 56px;
  background-color: #ffffff;
  padding: 6px 14px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  position: relative;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.brand-logo { 
  width: auto; height: 100%; max-width: 220px; object-fit: contain;
}
.brand-name { font-family:var(--f-display); font-size:20px; font-weight:700; display:block; line-height:1.2; }
.brand-sub  { font-size:11px; color:#ffffff; letter-spacing:.04em; display:block; margin-top:2px; }

.slide-title-wrap { text-align:center; flex:1; min-width:0; }
.slide-title {
  font-family:var(--f-title); font-size:32px; font-weight:700;
  letter-spacing:1px; color:#ffffff;
  line-height:1; white-space:nowrap; transition:opacity .4s ease;
}
.slide-subtitle { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--c-accent-hi); font-weight:500; margin-top:4px; }

.clock { min-width:240px; text-align:right; flex-shrink:0; }
.clock-time { font-family:var(--f-display); font-size:42px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.04em; line-height:1; }
.clock-date { font-size:12px; color:var(--c-text-sub); letter-spacing:.06em; margin-top:3px; }

/* ── Slides ────────────────────────────────────────────── */
.slides-wrap { flex:1; position:relative; overflow:hidden; min-height:0; }

.slide {
  position:absolute; inset:0;
  padding: 0 var(--px);
  opacity:0; pointer-events:none;
  transform:scale(0.985);
  transition:opacity .75s ease, transform .75s ease;
  display:flex; flex-direction:column;
}
.slide.active { opacity:1; pointer-events:auto; transform:scale(1); }

/* ════════════════════════════════════════════════════════
   SLIDE 1 — PÓDIO PRINCIPAL
   ════════════════════════════════════════════════════════ */
#slide-1 { background: radial-gradient(ellipse at 50% -10%, rgba(245,158,11,.06) 0%, transparent 60%); }

.s1-wrap { display:flex; flex-direction:column; height:100%; }

/* ── Podium section ─────── */
.podium-section {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 16px;
  /* Extra top padding so crown emoji never clips */
  padding: 48px 20px 0;
  min-height: 0;
  overflow: visible;
}

.podium-item {
  display: flex; flex-direction: column; align-items: center;
  flex: 1; max-width: 320px;
  opacity: 0; transform: translateY(36px);
  transition: opacity .55s var(--ease-out), transform .55s var(--ease-out);
}
.podium-item.visible { opacity:1; transform:translateY(0); }

.podium-avatar-wrap { position:relative; margin-bottom:9px; }

/* Crown — 1st place only */
.podium-item-1 .podium-avatar-wrap::before {
  content: '👑';
  position: absolute;
  top: -46px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 26px;
  animation: crown-float 2.5s ease-in-out infinite;
  filter: drop-shadow(0 4px 10px rgba(245,158,11,.6));
}
@keyframes crown-float {
  0%,100% { transform:translateX(-50%) translateY(0) rotate(-3deg); }
  50%      { transform:translateX(-50%) translateY(-8px) rotate(3deg); }
}

.podium-avatar {
  border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-display); font-weight:700; color:var(--c-text-sub);
}
.podium-item-1 .podium-avatar {
  width:120px; height:120px; font-size:36px;
  border:4px solid var(--c-gold);
  box-shadow:0 0 36px var(--c-gold-glow), 0 0 72px rgba(245,158,11,.07);
  animation:gold-halo 3s ease-in-out infinite;
}
.podium-item-2 .podium-avatar {
  width:100px; height:100px; font-size:28px;
  border:3px solid var(--c-silver);
  box-shadow:0 0 22px var(--c-silver-glow);
}
.podium-item-3 .podium-avatar {
  width:90px; height:90px; font-size:24px;
  border:3px solid var(--c-bronze);
  box-shadow:0 0 22px var(--c-bronze-glow);
}
.podium-avatar img { width:100%; height:100%; object-fit:cover; display:block; }

@keyframes gold-halo {
  0%,100% { box-shadow:0 0 36px var(--c-gold-glow), 0 0 72px rgba(245,158,11,.07); }
  50%      { box-shadow:0 0 52px var(--c-gold-glow), 0 0 110px rgba(245,158,11,.14), 0 0 0 2px rgba(245,158,11,.18); }
}

.podium-medal { position:absolute; bottom:-4px; right:-6px; font-size:22px; }

.podium-name {
  font-family:var(--f-display); font-size:24px; font-weight:700;
  text-align:center; color:var(--c-text);
  margin-top:9px; margin-bottom:3px;
  white-space:nowrap;
}
.podium-item-1 .podium-name { font-size:30px; }

.podium-value {
  font-family:var(--f-display); font-weight:800; font-variant-numeric:tabular-nums;
  text-align:center; font-size:30px; margin-bottom:3px;
}
.podium-item-1 .podium-value { font-size:40px; color:var(--c-gold); }
.podium-item-2 .podium-value { color:var(--c-silver-hi); }
.podium-item-3 .podium-value { color:var(--c-bronze-hi); }

.podium-vendas { font-size:18px; color:var(--c-text-muted); margin-bottom:12px; }

.podium-base {
  width:100%; display:flex; align-items:center; justify-content:center;
  border-radius:8px 8px 0 0;
  font-family:var(--f-display); font-size:24px; font-weight:800; letter-spacing:.07em;
}
.podium-item-1 .podium-base { height:110px; background:linear-gradient(180deg,rgba(245,158,11,.22),rgba(245,158,11,.06)); border:1px solid rgba(245,158,11,.28); color:var(--c-gold); border-bottom:none; }
.podium-item-2 .podium-base { height:74px;  background:linear-gradient(180deg,rgba(148,163,184,.16),rgba(148,163,184,.04)); border:1px solid rgba(148,163,184,.18); color:var(--c-silver); border-bottom:none; }
.podium-item-3 .podium-base { height:52px;  background:linear-gradient(180deg,rgba(205,127,50,.16),rgba(205,127,50,.04));  border:1px solid rgba(205,127,50,.18); color:var(--c-bronze-hi); border-bottom:none; }

/* ── Chasers (2-column grid for desktop) ────── */
.chaser-section {
  flex-shrink:0;
  padding:10px 12px 12px;
  border-top:1px solid var(--c-border);
  background:rgba(0,0,0,.15);
}

.chaser-header {
  font-size:10.5px; font-weight:700; letter-spacing:.17em;
  color:var(--c-text-muted); text-align:center; margin-bottom:10px;
}

/* 2 columns on desktop → 4 rows for 7 items = much less vertical space */
.chaser-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  max-height:236px;
  overflow:hidden;
}

.chaser-card { min-height:72px; padding-right:14px; border-radius:10px; }
.chaser-card .cap-pos { width:60px; }
.chaser-card .cap-num { font-size:36px; }
.chaser-card .cap-avatar { width:54px; height:54px; margin:0 10px 0 0; }
.chaser-card .cap-info { min-width:138px; }
.chaser-card .cap-name { font-size:20px; }
.chaser-card .cap-badge { display:none; }
.chaser-card .cap-bar-wrap { padding:0 10px; }
.chaser-card .cap-bar-track-inner { height:32px; }
.chaser-card .cap-bar-current-line { height:40px; }
.chaser-card .cap-bar-current-label { font-size:14px; padding:2px 6px; }
.chaser-card .cap-bar-meta-num { font-size:9px; min-width:38px; padding:2px 5px; }
.chaser-card .cap-ratio { font-size:22px; }
.chaser-card .cap-goal-num { font-size:16px; }
.chaser-card .cap-label { font-size:8px; }
.chaser-card .cap-meta-tag { font-size:8px; padding:2px 5px; }

/* Correndo pelo Pódio — tela própria */
#slide-11 {
  background: radial-gradient(ellipse at 70% -10%,rgba(59,130,246,.08) 0%,transparent 60%),
              radial-gradient(ellipse at 15% 90%,rgba(245,158,11,.06) 0%,transparent 50%);
}

.podium-section-solo { padding-bottom:0; }

.corrida-wrap {
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:16px 0;
  overflow:hidden;
}

.corrida-head {
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.corrida-note {
  color:var(--c-text-muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.corrida-board {
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent 0%,black 7%,black 93%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 7%,black 93%,transparent 100%);
}
.corrida-board.no-mask {
  mask-image: none;
  -webkit-mask-image: none;
}
@keyframes apply-mask-anim {
  0%, 99% { 
    mask-image: none; 
    -webkit-mask-image: none; 
  }
  100% { 
    mask-image: linear-gradient(90deg,transparent 0%,black 7%,black 93%,transparent 100%); 
    -webkit-mask-image: linear-gradient(90deg,transparent 0%,black 7%,black 93%,transparent 100%); 
  }
}
.corrida-board.delayed-mask {
  mask-image: none;
  -webkit-mask-image: none;
  animation: apply-mask-anim 4s forwards;
}

.corrida-lane { overflow:hidden; flex-shrink:0; }

.corrida-track {
  display:flex;
  width:max-content;
  gap:14px;
  animation:corrida-scroll 38s linear infinite;
}
.corrida-track.no-scroll {
  animation:none;
}

.corrida-lane.reverse .corrida-track {
  animation-direction:reverse;
  animation-duration:44s;
}

@keyframes corrida-scroll {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

.corrida-card {
  flex: 0 0 calc((100vw - 120px - 28px) / 3);
  min-height:86px;
  padding-right:18px;
}

.corrida-card .cap-info { flex:1; min-width:0; margin-right:12px; }
.corrida-card .cap-name { font-size:22px; }
.corrida-card .cap-badge { display:none; }
.corrida-card .cap-bar-wrap { padding:0 13px; }
.corrida-card .cap-ratio { font-size:28px; }
.corrida-card .cap-goal-num { font-size:20px; }
.corrida-card .cap-meta-tag { font-size:9px; padding:3px 7px; }

/* ════════════════════════════════════════════════════════
   SLIDE 2 — MOTOR DAS VENDAS (CAPTAÇÕES)
   ════════════════════════════════════════════════════════ */
#slide-2 { background:radial-gradient(ellipse at 70% -10%,rgba(59,130,246,.07) 0%,transparent 60%); }

.s2-wrap { display:flex; flex-direction:column; height:100%; padding:14px 0; gap:12px; }
.s2-label { text-align:center; font-size:11.5px; font-weight:700; letter-spacing:.16em; color:var(--c-text-muted); }

.cap-list { flex:1; display:flex; flex-direction:column; gap:10px; justify-content:center; }

.cap-card {
  display:flex; align-items:center;
  padding:0 22px 0 0; min-height:96px;
  background:var(--c-surface); border:1px solid var(--c-border);
  border-radius:var(--r); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  position:relative; overflow:hidden; flex-shrink:0;
  opacity:0; transform:translateX(-26px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);
}
.cap-card.visible { opacity:1; transform:translateX(0); }

.cap-card::before { content:''; position:absolute; left:0;top:18%;bottom:18%; width:3px; border-radius:0 3px 3px 0; background:var(--c-accent); }
.cap-card.rank-1::before { background:linear-gradient(to bottom,#92400e,var(--c-gold),var(--c-gold-hi)); width:4px; }
.cap-card.rank-2::before { background:linear-gradient(to bottom,#334155,var(--c-silver),var(--c-silver-hi)); }
.cap-card.rank-3::before { background:linear-gradient(to bottom,#78350f,var(--c-bronze),var(--c-bronze-hi)); }
.cap-card.rank-1 { border-color:rgba(245,158,11,.22); }
.cap-card.rank-2 { border-color:rgba(148,163,184,.18); }
.cap-card.rank-3 { border-color:rgba(205,127,50,.18); }

.cap-pos { width:80px; text-align:center; flex-shrink:0; }
.cap-medal { font-size:32px; }
.cap-num   { font-family:var(--f-display); font-size:42px; font-weight:900; color:#ffffff; }

.cap-avatar { width:64px;height:64px; border-radius:50%; overflow:hidden; border:2px solid var(--c-border-hi); background:rgba(30,41,59,.8); display:flex;align-items:center;justify-content:center; flex-shrink:0; margin:0 14px 0 6px; font-family:var(--f-display); font-size:18px; font-weight:700; color:var(--c-text-sub); }
.cap-avatar img { width:100%;height:100%;object-fit:cover; }
.cap-card.rank-1 .cap-avatar { border-color:rgba(245,158,11,.5); }
.cap-card.rank-2 .cap-avatar { border-color:rgba(148,163,184,.4); }
.cap-card.rank-3 .cap-avatar { border-color:rgba(205,127,50,.4); }

.cap-info { min-width:168px; flex-shrink:0; }
.cap-name  { font-family:var(--f-display); font-size:24px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cap-badge { display:none; }

.cap-bar-wrap { flex:1; padding:0 16px; min-width:0; }
.cap-bar-row { display:flex; align-items:center; gap:10px; }
.cap-bar-track { position:relative; flex:1; padding-bottom:0; min-width:0; }
.cap-bar-track-inner {
  height:48px; background:rgba(255,255,255,.05); border-radius:100px; overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
}
.cap-bar-fill { height:100%; width:0%; border-radius:100px; transition:width 1.7s var(--ease-spring); position:relative;
  background:linear-gradient(90deg,#1d4ed8,var(--c-accent),var(--c-accent-hi)); opacity:.85; }
.cap-bar-fill::after { content:''; position:absolute; right:0;top:0;bottom:0; width:44px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.35)); }
.cap-bar-fill.meta-hit { background:linear-gradient(90deg,#065f46,var(--c-green),var(--c-green-hi)); }
.cap-card.rank-1 .cap-bar-fill { background:linear-gradient(90deg,#78350f,var(--c-gold),var(--c-gold-hi)); }
.cap-card.rank-1 .cap-bar-fill.meta-hit { background:linear-gradient(90deg,#78350f,var(--c-gold),var(--c-green-hi)); }
.cap-card.rank-2 .cap-bar-fill { background:linear-gradient(90deg,#334155,var(--c-silver),var(--c-silver-hi)); }
.cap-card.rank-2 .cap-bar-fill.meta-hit { background:linear-gradient(90deg,#334155,var(--c-silver),var(--c-green-hi)); }
.cap-card.rank-3 .cap-bar-fill { background:linear-gradient(90deg,#78350f,var(--c-bronze),var(--c-bronze-hi)); }
.cap-card.rank-3 .cap-bar-fill.meta-hit { background:linear-gradient(90deg,#78350f,var(--c-bronze),var(--c-green-hi)); }

.cap-bar-current {
  position:absolute; top:-4px; transform:translateX(-50%);
  display:flex; align-items:center; justify-content:center; z-index:2;
  transition:left 1.7s var(--ease-spring);
}
.cap-bar-current.at-max {
  transform: translateX(-100%);
}
.cap-bar-current.at-max .cap-bar-current-label {
  right: -2px;
}
.cap-bar-current-line {
  display:block; width:4px; height:56px; border-radius:2px;
  background:#fff; box-shadow:0 0 10px rgba(255,255,255,.65), 0 0 4px var(--c-accent-hi);
}
.cap-bar-current-label {
  position:absolute;
  font-family:var(--f-display); font-size:18px; font-weight:800;
  color:var(--c-text); font-variant-numeric:tabular-nums; line-height:1;
  background:rgba(7,9,28,1); padding:4px 8px; border-radius:6px;
  border:2px solid rgba(255,255,255,0.15); box-shadow:0 4px 12px rgba(0,0,0,0.6);
}
.cap-bar-track.meta-hit .cap-bar-current-line {
  box-shadow:0 0 10px rgba(110,231,183,.7), 0 0 4px var(--c-green);
}

.cap-bar-meta-num {
  flex-shrink:0; min-width:28px; text-align:center;
  font-family:var(--f-display); font-size:14px; font-weight:700;
  color:var(--c-gold-hi); font-variant-numeric:tabular-nums;
  padding:2px 6px; border-radius:6px;
  background:rgba(245,158,11,.1); border:1px solid rgba(245,158,11,.25);
}

.cap-legend-item { display:flex; align-items:center; gap:5px; }
.cap-legend-dot { width:8px; height:8px; border-radius:2px; flex-shrink:0; }
.cap-legend-fill { background:linear-gradient(90deg,#1d4ed8,var(--c-accent)); }
.cap-legend-current { background:#fff; box-shadow:0 0 4px rgba(255,255,255,.5); width:3px; height:12px; border-radius:1px; }
.cap-legend-meta { background:rgba(245,158,11,.35); border:1px solid rgba(245,158,11,.5); border-radius:4px; width:10px; height:10px; }

.cap-stat { min-width:118px; text-align:right; flex-shrink:0; }
.cap-ratio {
  font-family:var(--f-display); font-size:36px; font-weight:800;
  display:block; font-variant-numeric:tabular-nums; line-height:1;
}
.cap-achieved { color:var(--c-text); }
.cap-sep { color:var(--c-text-muted); font-weight:500; margin:0 1px; }
.cap-goal-num { color:var(--c-text-sub); font-weight:600; font-size:28px; }
.cap-ratio.meta-hit .cap-achieved { color:var(--c-green-hi); }
.cap-card.rank-1 .cap-achieved { color:var(--c-gold); }
.cap-card.rank-2 .cap-achieved { color:var(--c-silver-hi); }
.cap-card.rank-3 .cap-achieved { color:var(--c-bronze-hi); }
.cap-label { font-size:11px; color:var(--c-text-muted); display:block; margin-top:3px; }
.cap-meta-tag {
  display:inline-block; margin-top:4px; font-size:10px; font-weight:600;
  letter-spacing:.06em; color:var(--c-text-muted);
  padding:2px 7px; border-radius:100px; background:rgba(255,255,255,.04);
}
.cap-meta-tag.meta-hit { color:var(--c-green-hi); background:rgba(16,185,129,.12); }

.cap-total {
  flex-shrink:0; padding:14px 18px 10px;
  background:rgba(255,255,255,.03); border:1px solid var(--c-border);
  border-radius:var(--r);
}
.cap-team-row {
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  margin-bottom:10px;
}
.cap-team-title {
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-text-muted);
}
.cap-team-ratio {
  font-family:var(--f-display); font-size:26px; font-weight:800;
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
.cap-team-ratio.meta-hit .cap-achieved { color:var(--c-green-hi); }
.cap-team-unit { font-size:13px; font-weight:500; color:var(--c-text-muted); margin-left:6px; }
.cap-team-bar { padding:0; max-width:100%; }
.cap-team-track { padding-bottom:18px; }
.cap-team-fill { background:linear-gradient(90deg,#1e3a8a,var(--c-accent),var(--c-accent-hi)); }
.cap-team-fill.meta-hit { background:linear-gradient(90deg,#065f46,var(--c-green),var(--c-green-hi)); }
.cap-team-footer { text-align:center; margin-top:2px; }
.cap-team-footer .cap-meta-tag { font-size:11px; }

.s2-legend {
  display:flex; justify-content:center; gap:20px;
  font-size:10px; color:var(--c-text-muted); letter-spacing:.04em;
}

/* ════════════════════════════════════════════════════════
   SLIDE 3 — VENDAS POR QUANTIDADE
   ════════════════════════════════════════════════════════ */
#slide-3 { background:radial-gradient(ellipse at 30% -10%,rgba(59,130,246,.08) 0%,transparent 60%); }

/* ════════════════════════════════════════════════════════
   SLIDE 4 — VENDAS POR VGV
   ════════════════════════════════════════════════════════ */
#slide-4 { background:radial-gradient(ellipse at 70% -10%,rgba(245,158,11,.08) 0%,transparent 60%); }

/* Metas da equipe — blocos de resumo */
.vnd-team-block { display:flex; flex-direction:column; gap:6px; }
.vnd-team-block-head {
  display:flex; align-items:baseline; justify-content:space-between; gap:10px;
}
.vnd-team-block-title {
  font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--c-text-muted);
}
.vnd-team-block .cap-ratio { font-size:26px; }
.vnd-team-block .cap-goal-num { font-size:20px; }
.vnd-team-block .cap-bar-wrap { padding:0; }
.vnd-team-block .cap-meta-tag { font-size:10px; text-align:center; }

/* ════════════════════════════════════════════════════════
   SLIDE 5 — METAS DA EQUIPE
   ════════════════════════════════════════════════════════ */
#slide-5 {
  background: radial-gradient(ellipse at 40% -10%, rgba(16,185,129,.08) 0%, transparent 55%),
              radial-gradient(ellipse at 80% 100%, rgba(59,130,246,.07) 0%, transparent 50%);
}

.metas-wrap {
  display:flex; flex-direction:column; height:100%;
  padding:8px 0 6px; gap:8px; min-height:0; overflow:hidden;
}
.metas-grid-4 {
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr;
  gap:10px; flex:1; min-height:0;
}
.metas-grid-2 {
  display:grid; grid-template-columns:1fr; grid-template-rows:1fr 1fr;
  gap:20px; flex:1; min-height:0;
}
.metas-section {
  background:var(--c-surface); border:1px solid var(--c-border);
  border-radius:var(--r); padding:12px 14px 10px;
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  opacity:0; transform:translateY(14px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);
  display:flex; flex-direction:column; gap:8px; min-height:0; overflow:hidden;
}
.metas-grid-2 .metas-section { padding: 30px 40px; border-radius: 20px; border-width: 2px; }
.metas-section.visible { opacity:1; transform:translateY(0); }
.metas-section-head {
  display:flex; align-items:center; gap:8px; flex-shrink:0;
  padding-bottom:6px; border-bottom:1px solid var(--c-border);
}
.metas-grid-2 .metas-section-head { padding-bottom:16px; margin-bottom:12px; gap:16px; }
.metas-section-icon { font-size:18px; line-height:1; }
.metas-grid-2 .metas-section-icon { font-size:36px; }
.metas-section-title {
  font-family:var(--f-display); font-size:20px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase;
}
.metas-grid-2 .metas-section-title { font-size:36px; }
.metas-section-body {
  display:flex; flex-direction:column; gap:8px; flex:1; min-height:0; justify-content:center;
}
.metas-grid-2 .metas-section-body { gap: 24px; }
.metas-section .vnd-team-block { gap:4px; }
.metas-section .vnd-team-block-head { gap:8px; }
.metas-section .vnd-team-block-title { font-size:13px; letter-spacing:.1em; flex:1; min-width:0; }
.metas-grid-2 .vnd-team-block-title { font-size:24px; }

.vnd-team-dual-bar { display:flex; flex-direction:column; gap:4px; margin-top:2px; }
.vnd-team-dual-label { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:2px; }
.vnd-dual-name { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--c-text-muted); }
.metas-grid-2 .vnd-dual-name { font-size:16px; }

.metas-section .cap-ratio { font-size:28px; white-space:nowrap; }
.metas-grid-2 .cap-ratio { font-size:64px; }
.metas-section .cap-goal-num { font-size:24px; }
.metas-grid-2 .cap-goal-num { font-size:48px; }

.metas-section .cap-bar-current-label { font-size:16px; padding:0 4px; }
.metas-grid-2 .cap-bar-current-label { font-size:28px; padding:2px 6px; }
.metas-section .cap-bar-meta-num { font-size:10px; min-width:20px; padding:0 4px; }
.metas-grid-2 .cap-bar-meta-num { font-size:18px; min-width:36px; padding:2px 8px; }
.metas-section .cap-meta-tag { font-size:9px; padding:2px 6px; }
.metas-grid-2 .cap-meta-tag { font-size:14px; padding:4px 12px; }

.metas-fill-capt-v  { background:linear-gradient(90deg,#065f46,var(--c-green),var(--c-green-hi)); }
.metas-fill-capt-l  { background:linear-gradient(90deg,#1e3a8a,var(--c-accent),var(--c-accent-hi)); }
.metas-fill-vendas  { background:linear-gradient(90deg,#78350f,var(--c-gold),var(--c-gold-hi)); }
.metas-fill-vgv     { background:linear-gradient(90deg,#78350f,var(--c-gold),var(--c-gold-hi)); }
.metas-fill-vgl     { background:linear-gradient(90deg,#4c1d95,#8b5cf6,#c4b5fd); }
.metas-fill-loc-qtd { background:linear-gradient(90deg,#1e3a8a,#6366f1,#a5b4fc); }

/* ════════════════════════════════════════════════════════
   SLIDE 6 — TERMÔMETRO
   ════════════════════════════════════════════════════════ */
#slide-6 { background:radial-gradient(ellipse at 50% -10%,rgba(16,185,129,.07) 0%,transparent 60%); }

.s3-wrap { display:flex; flex-direction:column; height:100%; padding:18px 0 14px; gap:18px; }

.meta-hero { display:flex; flex-direction:column; gap:12px; flex-shrink:0; padding-bottom:18px; border-bottom:1px solid var(--c-border); }

.meta-numbers-row { display:flex; justify-content:space-between; align-items:flex-end; }
.meta-achieved-label, .meta-pct-label { font-size:11.5px; letter-spacing:.14em; color:var(--c-text-muted); text-transform:uppercase; display:block; margin-bottom:4px; }
.meta-achieved-val { font-family:var(--f-display); font-size:58px; font-weight:900; font-variant-numeric:tabular-nums; line-height:1; color:var(--c-text); }
.meta-pct-block { text-align:right; }
.meta-pct-val { font-family:var(--f-display); font-size:58px; font-weight:900; line-height:1; font-variant-numeric:tabular-nums; }
.meta-pct-val.pct-low    { color:var(--c-red);     }
.meta-pct-val.pct-medium { color:var(--c-amber);   }
.meta-pct-val.pct-good   { color:var(--c-green);   }
.meta-pct-val.pct-great  { color:var(--c-green-hi);}

.meta-goal-note { font-size:13.5px; color:var(--c-text-sub); text-align:center; font-variant-numeric:tabular-nums; }

.meta-giant-wrap { position:relative; }
.meta-giant-track { height:68px; background:rgba(255,255,255,.05); border-radius:100px; overflow:hidden; position:relative; }
.meta-giant-fill { height:100%; width:0%; border-radius:100px; transition:width 2.5s var(--ease-spring); }
.meta-giant-fill.pct-low    { background:linear-gradient(90deg,#7f1d1d,var(--c-red),var(--c-red-hi));             }
.meta-giant-fill.pct-medium { background:linear-gradient(90deg,#78350f,var(--c-amber),#fde68a);                   }
.meta-giant-fill.pct-good   { background:linear-gradient(90deg,#064e3b,var(--c-green),var(--c-green-hi));         }
.meta-giant-fill.pct-great  { background:linear-gradient(90deg,#1e1b4b,#6366f1,var(--c-green),var(--c-green-hi));}
.meta-goal-marker { position:absolute; right:8px;top:50%; transform:translateY(-50%); font-size:10.5px; font-weight:700; letter-spacing:.12em; color:rgba(255,255,255,.3); }

.meta-achieved-badge { display:none; text-align:center; font-family:var(--f-display); font-size:20px; font-weight:800; color:var(--c-green-hi); letter-spacing:.08em; padding:8px 0 0; animation:badge-pop .5s var(--ease-spring) forwards; }
.meta-achieved-badge.show { display:block; }
@keyframes badge-pop { 0%{transform:scale(.7);opacity:0} 100%{transform:scale(1);opacity:1} }

.negocios-section { flex:1; display:flex; flex-direction:column; gap:9px; min-height:0; overflow:hidden; }
.negocios-header { font-size:11px; font-weight:700; letter-spacing:.18em; color:var(--c-text-muted); text-transform:uppercase; display:flex; align-items:center; gap:10px; }
.negocios-header::after { content:''; flex:1; height:1px; background:var(--c-border); }

.negocio-row {
  display:flex; align-items:center; gap:12px;
  padding:10px 16px; background:var(--c-surface); border:1px solid var(--c-border); border-radius:12px;
  backdrop-filter:blur(16px); flex-shrink:0;
  opacity:0; transform:translateY(14px);
  transition:opacity .4s ease, transform .4s ease;
}
.negocio-row.visible { opacity:1; transform:translateY(0); }
.negocio-row.urgencia-alta  { border-left:3px solid var(--c-red);  }
.negocio-row.urgencia-media { border-left:3px solid var(--c-amber);}

.negocio-avatar { width:52px;height:52px; border-radius:50%; overflow:hidden; flex-shrink:0; border:2px solid var(--c-border-hi); background:rgba(30,41,59,.8); display:flex;align-items:center;justify-content:center; font-family:var(--f-display); font-size:16px;font-weight:700;color:var(--c-text-sub); }
.negocio-avatar img { width:100%;height:100%;object-fit:cover; }
.negocio-info { flex:1; min-width:0; }
.negocio-corretor { font-family:var(--f-display); font-size:15px; font-weight:600; }
.negocio-imovel   { font-size:12.5px; color:var(--c-text-sub); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; }
.negocio-valor    { font-family:var(--f-display); font-size:18px; font-weight:700; font-variant-numeric:tabular-nums; flex-shrink:0; }

.negocio-status { padding:4px 12px; border-radius:100px; font-size:11.5px; font-weight:700; letter-spacing:.04em; white-space:nowrap; flex-shrink:0; }
.status-alta  { background:rgba(239,68,68,.14);  color:var(--c-red-hi); border:1px solid rgba(239,68,68,.3); }
.status-media { background:rgba(245,158,11,.14); color:#fde68a;          border:1px solid rgba(245,158,11,.3);}

/* ════════════════════════════════════════════════════════
   SLIDE 7 — MOMENTO GONGO 🎉
   ════════════════════════════════════════════════════════ */
#slide-7 {
  background: radial-gradient(ellipse at 50% 30%,rgba(99,102,241,.2) 0%,transparent 60%),
              radial-gradient(ellipse at 80% 80%,rgba(245,158,11,.1) 0%,transparent 50%);
}

.s4-wrap { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; position:relative; gap:22px; }

.confetti-container { position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.confetti-piece { position:absolute; top:-30px; animation:confetti-fall linear infinite; will-change:transform; }
@keyframes confetti-fall {
  0%   { transform:translateY(0) translateX(0) rotate(0deg); opacity:1; }
  80%  { opacity:.9; }
  100% { transform:translateY(110vh) translateX(var(--drift,0px)) rotate(540deg); opacity:0; }
}

.gongo-header { position:relative; z-index:1; text-align:center; }
.gongo-bells { font-size:42px; display:block; margin-bottom:5px; animation:bell-ring .8s ease-in-out infinite; }
@keyframes bell-ring { 0%,100%{transform:rotate(-12deg)} 50%{transform:rotate(12deg)} }

.gongo-title-text {
  font-family:var(--f-display); font-size:78px; font-weight:900; letter-spacing:.12em;
  background:linear-gradient(135deg,var(--c-gold),#fff 50%,var(--c-gold));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1; animation:gongo-pulse 1.8s ease-in-out infinite;
}
@keyframes gongo-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.04)} }

.gongo-content { position:relative; z-index:1; display:flex; align-items:center; gap:44px; }

.gongo-photo-wrap { position:relative; flex-shrink:0; }
.gongo-photo {
  width:210px; height:210px; border-radius:50%;
  border:4px solid var(--c-gold);
  box-shadow:0 0 50px var(--c-gold-glow), 0 0 100px rgba(245,158,11,.1);
  overflow:hidden; display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display); font-size:46px; font-weight:700; color:var(--c-text-sub);
  background:rgba(30,41,59,.9);
}
.gongo-photo img { width:100%;height:100%;object-fit:cover; }

.gongo-ring  { position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(245,158,11,.35); animation:ring-pulse 2s ease-in-out infinite; }
.gongo-ring-2 { inset:-24px; border-color:rgba(245,158,11,.2); animation-delay:1s; }
@keyframes ring-pulse { 0%{transform:scale(1);opacity:.6} 100%{transform:scale(1.14);opacity:0} }

.gongo-details { display:flex; flex-direction:column; gap:12px; max-width:480px; }
.gongo-message { font-family:var(--f-display); font-size:26px; font-weight:800; color:var(--c-text); line-height:1.25; }

.gongo-stats-row { display:flex; gap:24px; padding-top:12px; border-top:1px solid rgba(255,255,255,.1); flex-wrap:wrap; }
.gongo-stat-item { display:flex; flex-direction:column; gap:3px; }
.gongo-stat-label { font-size:10.5px; letter-spacing:.12em; color:var(--c-text-muted); text-transform:uppercase; }
.gongo-stat-val { font-family:var(--f-display); font-size:16px; font-weight:600; color:var(--c-text); }
.gongo-stat-val.big { font-size:32px; font-weight:900; color:var(--c-gold); font-variant-numeric:tabular-nums; }

.gongo-imovel-photo { width:210px;height:132px; border-radius:11px; overflow:hidden; border:1px solid var(--c-border-hi); flex-shrink:0; }
.gongo-imovel-photo img { width:100%;height:100%;object-fit:cover;display:block; }

/* ════════════════════════════════════════════════════════
   SLIDE 8 — META BATIDA
   ════════════════════════════════════════════════════════ */
#slide-8 {
  background: radial-gradient(ellipse at 50% 20%,rgba(16,185,129,.18) 0%,transparent 58%),
              radial-gradient(ellipse at 82% 86%,rgba(245,158,11,.11) 0%,transparent 50%);
}

.meta-hit-wrap { position:relative; height:100%; display:flex; flex-direction:column; justify-content:center; gap:24px; overflow:hidden; }
.meta-hit-empty { align-items:center; text-align:center; }
.meta-hit-reveal { opacity:0; transform:translateY(22px); transition:opacity .55s var(--ease-out), transform .55s var(--ease-out); }
.meta-hit-reveal.visible { opacity:1; transform:translateY(0); }

.meta-hit-spotlight { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:44px; }
.meta-hit-photo-wrap { position:relative; flex-shrink:0; }
.meta-hit-photo {
  width:230px; height:230px; border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  border:5px solid var(--c-green); background:rgba(30,41,59,.9);
  box-shadow:0 0 60px rgba(16,185,129,.32), 0 0 120px rgba(245,158,11,.08);
  font-family:var(--f-display); font-size:52px; font-weight:800; color:var(--c-text-sub);
}
.meta-hit-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.meta-hit-ring { position:absolute; inset:-14px; border-radius:50%; border:2px solid rgba(16,185,129,.4); animation:ring-pulse 2s ease-in-out infinite; }
.meta-hit-ring-2 { inset:-30px; border-color:rgba(245,158,11,.22); animation-delay:1s; }
.meta-hit-badge {
  position:absolute; right:-18px; bottom:10px; padding:8px 12px; border-radius:999px;
  font-family:var(--f-display); font-size:13px; font-weight:900; letter-spacing:.12em;
  color:#052e16; background:linear-gradient(135deg,var(--c-green-hi),#fff,var(--c-gold-hi));
  box-shadow:0 10px 30px rgba(0,0,0,.36); animation:badge-pop .65s var(--ease-spring) .45s both;
}

.meta-hit-copy { max-width:640px; }
.meta-hit-kicker { font-size:13px; font-weight:800; letter-spacing:.2em; color:var(--c-green-hi); text-transform:uppercase; margin-bottom:8px; }
.meta-hit-title {
  font-family:var(--f-display); font-size:78px; font-weight:900; line-height:.96; letter-spacing:.02em;
  background:linear-gradient(135deg,var(--c-green-hi),#fff 42%,var(--c-gold-hi));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.meta-hit-message { margin-top:12px; font-family:var(--f-display); font-size:26px; font-weight:800; line-height:1.18; color:var(--c-text); }
.meta-hit-sub { max-width:560px; color:var(--c-text-sub); font-size:18px; margin-top:12px; }

.meta-hit-progress {
  position:relative; z-index:1; width:min(920px,100%); align-self:center;
  padding:18px 22px; border:1px solid var(--c-border-hi); border-radius:var(--r);
  background:rgba(12,18,44,.64); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.meta-hit-progress-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:12px; }
.meta-hit-progress-head span { font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--c-text-muted); }
.meta-hit-progress-head strong { font-family:var(--f-display); font-size:44px; line-height:1; color:var(--c-green-hi); }
.meta-hit-track { position:relative; height:50px; border-radius:999px; overflow:hidden; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); }
.meta-hit-fill { width:0%; height:100%; border-radius:999px; background:linear-gradient(90deg,#065f46,var(--c-green),var(--c-green-hi),var(--c-gold-hi)); transition:width 2.1s var(--ease-spring); }
.meta-hit-marker { position:absolute; top:50%; left:80%; transform:translate(-50%,-50%); font-size:10px; font-weight:900; letter-spacing:.14em; color:rgba(5,46,22,.72); }
.meta-hit-numbers { display:flex; justify-content:space-between; gap:18px; margin-top:12px; color:var(--c-text-sub); font-size:14px; }
.meta-hit-numbers strong { font-family:var(--f-display); color:var(--c-text); font-size:18px; }

.meta-hit-actions { position:relative; z-index:1; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:12px; width:min(920px,100%); align-self:center; }
.meta-hit-action {
  min-height:56px; display:flex; align-items:center; justify-content:center; text-align:center;
  padding:10px 16px; border-radius:var(--r); border:1px solid var(--c-border); background:rgba(255,255,255,.045);
  font-family:var(--f-display); font-size:18px; font-weight:800; color:var(--c-text);
}
.meta-hit-action.primary { color:#052e16; background:linear-gradient(135deg,var(--c-green-hi),#fff,var(--c-gold-hi)); border-color:transparent; }

/* ════════════════════════════════════════════════════════
   SLIDE 9 — PREMIAÇÕES
   ════════════════════════════════════════════════════════ */
#slide-9, #slide-11, #slide-11b {
  background: radial-gradient(ellipse at 20% 0%,rgba(255,102,0,.13) 0%,transparent 52%),
              radial-gradient(ellipse at 82% 92%,rgba(6,18,34,.3) 0%,transparent 54%);
}

.premios-wrap { height:100%; display:flex; flex-direction:column; gap:16px; padding:18px 0 16px; min-height:0; }
.premios-empty { align-items:center; justify-content:center; text-align:center; }
.premios-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-shrink:0; }
.premios-kicker { font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--c-gold-hi); margin-bottom:6px; }
.premios-title { font-family:var(--f-display); font-size:42px; font-weight:900; line-height:1; color:var(--c-text); }
.premios-sub { max-width:430px; color:var(--c-text-sub); font-size:15px; line-height:1.35; }

.premios-grid {
  flex:1;
  min-height:0;
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:14px;
}
.premios-grid.podium-grid {
  grid-template-columns: 1fr 1.2fr 1fr;
}
.premio-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  border:1px solid var(--c-border);
  border-radius:var(--r);
  background:rgba(12,18,44,.72);
  overflow:hidden;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  transform:translateY(22px);
  transition:opacity .55s var(--ease-out), transform .55s var(--ease-out), border-color .35s ease;
}
.premio-card.visible { opacity:1; transform:translateY(0); }
.premio-card.featured { border-color:rgba(255,102,0,.32); box-shadow:0 0 50px rgba(255,102,0,.12); }

.premio-img { position:relative; min-height:0; flex:1.15; overflow:hidden; background:rgba(0,0,0,.18); }
.premio-img img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); }
.premio-img::after { content:''; position:absolute; inset:auto 0 0; height:44%; background:linear-gradient(0deg,rgba(7,9,28,.82),transparent); }
.premio-category {
  position:absolute;
  top:12px;
  left:12px;
  z-index:1;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(7,9,28,.74);
  border:1px solid rgba(255,255,255,.14);
  color:var(--c-gold-hi);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.premio-info { flex:.85; display:flex; flex-direction:column; gap:8px; padding:16px; min-height:0; }
.premio-meta { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--c-accent-hi); }
.premio-name { font-family:var(--f-display); font-size:25px; font-weight:900; line-height:1.05; color:var(--c-text); }
.premio-card.featured .premio-name { font-size:32px; }
.premio-desc { color:var(--c-text-sub); font-size:14px; line-height:1.35; flex:1; overflow:hidden; }
.premio-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:10px; border-top:1px solid var(--c-border); }
.premio-footer span { color:var(--c-text-muted); font-size:12px; }
.premio-footer strong { color:var(--c-gold-hi); font-size:12px; text-align:right; }

/* ════════════════════════════════════════════════════════
   SLIDE 10 — HISTÓRICO DE METAS
   ════════════════════════════════════════════════════════ */
#slide-10 {
  background: radial-gradient(ellipse at 50% -10%,rgba(255,102,0,.11) 0%,transparent 58%),
              radial-gradient(ellipse at 88% 88%,rgba(6,18,34,.2) 0%,transparent 52%);
}

.historico-wrap { height:100%; display:flex; flex-direction:column; gap:14px; padding:16px 0; min-height:0; overflow:hidden; }
.historico-empty { align-items:center; justify-content:center; text-align:center; }
.historico-head { flex-shrink:0; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.historico-kicker { font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--c-accent-hi); margin-bottom:6px; }
.historico-title { font-family:var(--f-display); font-size:42px; font-weight:900; line-height:1; color:var(--c-text); }
.historico-sub { max-width:520px; color:var(--c-text-sub); font-size:15px; line-height:1.35; }

.historico-summary { display:grid; grid-template-columns:repeat(3,auto); gap:10px; }
.historico-summary div {
  min-width:110px;
  padding:10px 14px;
  border:1px solid var(--c-border);
  border-radius:var(--r);
  background:rgba(255,255,255,.04);
}
.historico-summary span { display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--c-text-muted); margin-bottom:4px; }
.historico-summary strong { font-family:var(--f-display); font-size:22px; color:var(--c-text); white-space:nowrap; }

.historico-grid {
  flex:1;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.hist-card {
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
  min-height:0;
  padding:16px;
  border:1px solid var(--c-border);
  border-radius:var(--r);
  background:rgba(12,18,44,.72);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  transform:translateY(18px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);
}
.hist-card.visible { opacity:1; transform:translateY(0); }
.hist-card.status-hit { border-color:rgba(16,185,129,.28); }
.hist-card.status-near { border-color:rgba(245,158,11,.28); }
.hist-card.status-open { border-color:rgba(239,68,68,.2); }

.hist-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.hist-period { font-family:var(--f-display); font-size:24px; font-weight:900; line-height:1; color:var(--c-text); }
.hist-status { margin-top:5px; color:var(--c-text-sub); font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.hist-pct { font-family:var(--f-display); font-size:34px; font-weight:900; color:var(--c-green-hi); line-height:1; }
.hist-card.status-near .hist-pct { color:var(--c-gold-hi); }
.hist-card.status-open .hist-pct { color:var(--c-red-hi); }

.hist-metrics { display:flex; flex-direction:column; gap:10px; flex:1; justify-content:center; }
.hist-metric-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.hist-metric-head span { font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--c-text-muted); }
.hist-metric-head strong { font-family:var(--f-display); font-size:19px; color:var(--c-text); font-variant-numeric:tabular-nums; }
.hist-bar { height:9px; border-radius:999px; overflow:hidden; border:1px solid rgba(255,255,255,.06); background:rgba(255,255,255,.05); }
.hist-bar-fill { width:0%; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--c-accent),var(--c-green-hi)); transition:width 1.5s var(--ease-spring); }
.hist-goal { margin-top:3px; color:var(--c-text-muted); font-size:11px; font-variant-numeric:tabular-nums; }

.hist-card-foot { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-top:10px; border-top:1px solid var(--c-border); }
.hist-card-foot span { color:var(--c-accent-hi); font-family:var(--f-display); font-size:15px; font-weight:800; }
.hist-card-foot strong { max-width:62%; color:var(--c-text-sub); font-size:12px; line-height:1.25; text-align:right; }

/* ════════════════════════════════════════════════════════
   OVERLAY — TROCA NO PÓDIO 🏆
   ════════════════════════════════════════════════════════ */
.podium-change-overlay {
  position: fixed; inset: 0; z-index: 100;
  display: flex; align-items: center; justify-content: center;
  background: rgba(4, 6, 18, 0.92);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  opacity: 0; pointer-events: none;
  transition: opacity .6s var(--ease-out);
}
.podium-change-overlay.active {
  opacity: 1; pointer-events: auto;
}

.pc-wrap {
  width: 100%; max-width: 920px;
  padding: 0 var(--px);
  display: flex; flex-direction: column; align-items: center;
  position: relative; gap: 24px;
}

.pc-confetti { position: absolute; inset: -20vh -10vw; pointer-events: none; z-index: 0; overflow: hidden; }

.pc-header { position: relative; z-index: 1; text-align: center; }
.pc-eyebrow {
  font-size: 13px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-gold-hi); font-weight: 600; margin-bottom: 8px;
  opacity: 0; transform: translateY(12px);
  transition: opacity .5s var(--ease-out), transform .5s var(--ease-out);
}
.pc-title {
  font-family: var(--f-display); font-size: 72px; font-weight: 900;
  letter-spacing: .1em; line-height: 1;
  background: linear-gradient(135deg, var(--c-gold), #fff 45%, var(--c-gold));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  opacity: 0; transform: scale(.88);
  transition: opacity .55s var(--ease-out) .1s, transform .55s var(--ease-spring) .1s;
}
.pc-title.rank-silver {
  background: linear-gradient(135deg, var(--c-silver-hi), #fff 45%, var(--c-silver));
  -webkit-background-clip: text; background-clip: text;
}
.pc-title.rank-bronze {
  background: linear-gradient(135deg, var(--c-bronze-hi), #fff 45%, var(--c-bronze));
  -webkit-background-clip: text; background-clip: text;
}

.pc-body {
  position: relative; z-index: 1;
  display: flex; align-items: center; gap: 48px;
  opacity: 0; transform: translateY(28px);
  transition: opacity .6s var(--ease-out) .25s, transform .6s var(--ease-out) .25s;
}

.pc-photo-wrap { position: relative; flex-shrink: 0; }
.pc-photo {
  width: 180px; height: 180px; border-radius: 50%;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
  font-family: var(--f-display); font-size: 50px; font-weight: 700;
  color: var(--c-text-sub); background: rgba(30, 41, 59, .9);
}
.pc-photo.rank-gold   { border: 5px solid var(--c-gold);   box-shadow: 0 0 60px var(--c-gold-glow), 0 0 120px rgba(245,158,11,.12); }
.pc-photo.rank-silver { border: 5px solid var(--c-silver); box-shadow: 0 0 50px var(--c-silver-glow); }
.pc-photo.rank-bronze { border: 5px solid var(--c-bronze); box-shadow: 0 0 50px var(--c-bronze-glow); }
.pc-photo img { width: 100%; height: 100%; object-fit: cover; }

.pc-photo-wrap.rank-gold::before {
  content: '👑'; position: absolute; top: -38px; left: 50%;
  transform: translateX(-50%); font-size: 32px;
  animation: crown-float 2.5s ease-in-out infinite;
  filter: drop-shadow(0 4px 12px rgba(245,158,11,.7));
}

.pc-ring  { position: absolute; inset: -14px; border-radius: 50%; border: 2px solid rgba(245,158,11,.4); animation: ring-pulse 2s ease-in-out infinite; }
.pc-ring-2 { inset: -28px; border-color: rgba(245,158,11,.22); animation-delay: 1s; }
.pc-photo-wrap.rank-silver .pc-ring  { border-color: rgba(148,163,184,.4); }
.pc-photo-wrap.rank-silver .pc-ring-2 { border-color: rgba(148,163,184,.2); }
.pc-photo-wrap.rank-bronze .pc-ring  { border-color: rgba(205,127,50,.4); }
.pc-photo-wrap.rank-bronze .pc-ring-2 { border-color: rgba(205,127,50,.2); }

.pc-medal-badge {
  position: absolute; bottom: -6px; right: -6px;
  font-size: 36px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.5));
  animation: badge-pop .6s var(--ease-spring) .5s both;
}
@keyframes badge-pop {
  0%   { transform: scale(0) rotate(-20deg); opacity: 0; }
  100% { transform: scale(1) rotate(0); opacity: 1; }
}

.pc-details { display: flex; flex-direction: column; gap: 16px; max-width: 460px; }
.pc-name {
  font-family: var(--f-display); font-size: 34px; font-weight: 800;
  color: var(--c-text); line-height: 1.15;
}
.pc-message { font-size: 20px; color: var(--c-text-sub); line-height: 1.35; }

.pc-rank-shift {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 20px; border-radius: var(--r);
  background: rgba(255,255,255,.04); border: 1px solid var(--c-border-hi);
}
.pc-rank-from, .pc-rank-to {
  display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 64px;
}
.pc-rank-label { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-text-muted); }
.pc-rank-num {
  font-family: var(--f-display); font-size: 32px; font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.pc-rank-from .pc-rank-num { color: var(--c-text-muted); text-decoration: line-through; text-decoration-color: rgba(239,68,68,.5); }
.pc-rank-to .pc-rank-num   { color: var(--c-green-hi); }
.pc-rank-to.rank-gold .pc-rank-num   { color: var(--c-gold); }
.pc-rank-to.rank-silver .pc-rank-num { color: var(--c-silver-hi); }
.pc-rank-to.rank-bronze .pc-rank-num { color: var(--c-bronze-hi); }

.pc-arrow {
  font-size: 28px; color: var(--c-green);
  animation: arrow-bounce 1.2s ease-in-out infinite;
}
@keyframes arrow-bounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}

.pc-stats {
  display: flex; gap: 28px; padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.pc-stat { display: flex; flex-direction: column; gap: 3px; }
.pc-stat-label { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-text-muted); }
.pc-stat-val { font-family: var(--f-display); font-size: 22px; font-weight: 700; color: var(--c-text); }
.pc-stat-val.highlight { font-size: 28px; color: var(--c-gold); }

.pc-footer-note {
  position: relative; z-index: 1;
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--c-text-muted); opacity: 0;
  transition: opacity .5s ease .6s;
}

/* Entrance when overlay opens */
.podium-change-overlay.active .pc-eyebrow  { opacity: 1; transform: translateY(0); }
.podium-change-overlay.active .pc-title    { opacity: 1; transform: scale(1); }
.podium-change-overlay.active .pc-body     { opacity: 1; transform: translateY(0); }
.podium-change-overlay.active .pc-footer-note { opacity: 1; }

/* ── Footer ────────────────────────────────────────────── */
.tv-footer {
  height:var(--ftr-h); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; gap:20px;
  border-top:1px solid var(--c-border); padding:0 var(--px);
}

.slide-dots { display:flex; gap:9px; }
.slide-dot { width:9px;height:9px; border-radius:100px; background:rgba(255,255,255,.2); border:none; cursor:pointer; transition:all .35s var(--ease-out); padding:0; }
.slide-dot.active { background:white; width:26px; }

.live-indicator { display:flex;align-items:center;gap:7px;padding:5px 13px;border:1px solid rgba(16,185,129,.22);border-radius:100px;background:rgba(16,185,129,.06); }
.live-dot { width:7px;height:7px;border-radius:50%;background:var(--c-green);box-shadow:0 0 9px var(--c-green);animation:dot-pulse 2s ease-in-out infinite; }
.live-text { font-size:10.5px;font-weight:700;letter-spacing:.15em;color:var(--c-green); }
@keyframes dot-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.85)} }

/* ══════════════════════════════════════════════════════════
   TV FULLSCREEN — (≥ 1400px × ≥ 900px)
   Escala tudo para cima para preencher a tela da TV 1080p
   ══════════════════════════════════════════════════════════ */
@media (min-width: 1400px) and (min-height: 900px) {
  :root { --px:64px; --hdr-h:100px; --ftr-h:56px; }

  .brand-name { font-size:24px; }
  .slide-title { font-size:42px; }
  .clock-time  { font-size:52px; }
  .clock-date  { font-size:13px; }

  /* Podium — avatares e bases grandes */
  .podium-section { padding:54px 40px 0; gap:20px; }

  .podium-item-1 .podium-avatar { width:140px; height:140px; font-size:42px; border-width:5px; }
  .podium-item-2 .podium-avatar { width:112px; height:112px; font-size:32px; }
  .podium-item-3 .podium-avatar { width:100px; height:100px; font-size:28px; }

  .podium-item-1 .podium-avatar-wrap::before { top:-46px; font-size:36px; }

  .podium-medal { font-size:28px; }

  .podium-item-1 .podium-name { font-size:42px; }
  .podium-name { font-size:32px; }
  .podium-item-1 .podium-value { font-size:56px; }
  .podium-value { font-size:42px; }
  .podium-vendas { font-size:24px; }
  .podium-base { font-size:26px; }
  .podium-item-1 .podium-base { height:180px; font-size:28px; border-radius:12px 12px 0 0; }
  .podium-item-2 .podium-base { height:120px; }
  .podium-item-3 .podium-base { height:85px; }

  /* Chasers — volta pra 1 coluna na TV */
  .chaser-list  { grid-template-columns: 1fr; }
  .chaser-section { padding:16px 40px 20px; }
  .chaser-card { min-height:86px; }
  .chaser-card .cap-name { font-size:26px; }
  .chaser-card .cap-ratio { font-size:22px; }
  .chaser-card .cap-goal-num { font-size:16px; }
  .corrida-card { flex-basis:620px; min-height:140px; }
  .corrida-card .cap-name { font-size:28px; }
  .corrida-card .cap-ratio { font-size:28px; }
  .corrida-card .cap-goal-num { font-size:20px; }

  /* Captações */
  .cap-name  { font-size:30px; }
  .cap-ratio { font-size:32px; }
  .cap-goal-num { font-size:26px; }
  .cap-card  { min-height:90px; }



  /* Termômetro */
  .meta-achieved-val { font-size:68px; }
  .meta-pct-val      { font-size:68px; }
  .meta-giant-track  { height:54px; }

  /* Gongo */
  .gongo-title-text { font-size:140px; }
  .gongo-bells      { font-size:64px; }
  .gongo-content    { gap:64px; }
  .gongo-photo      { width:300px; height:300px; font-size:72px; }
  .gongo-message    { font-size:44px; }
  .gongo-stat-label { font-size:15px; }
  .gongo-stat-val   { font-size:26px; }
  .gongo-stat-val.big { font-size:58px; }
  .gongo-imovel-photo { width:360px; height:226px; }
  .gongo-ring       { inset:-16px; border-width:3px; }
  .gongo-ring-2     { inset:-32px; border-width:3px; }
  .meta-hit-photo { width:230px; height:230px; font-size:64px; }
  .meta-hit-title { font-size:94px; }
  .meta-hit-message { font-size:32px; }
  .meta-hit-progress-head strong { font-size:54px; }
  .premios-title { font-size:52px; }
  .premio-name { font-size:30px; }
  .premio-card.featured .premio-name { font-size:40px; }
  .premio-desc { font-size:16px; }
  .historico-title { font-size:52px; }
  .hist-period { font-size:30px; }
  .hist-pct { font-size:42px; }
  .hist-metric-head strong { font-size:23px; }

  /* Troca no Pódio */
  .pc-title  { font-size: 88px; }
  .pc-photo  { width: 220px; height: 220px; font-size: 60px; }
  .pc-name   { font-size: 40px; }
  .pc-message { font-size: 24px; }
  .pc-stat-val.highlight { font-size: 34px; }
}

/* ══════════════════════════════════════════════════════════
   MOBILE (≤ 599px)
   ══════════════════════════════════════════════════════════ */
@media (max-width: 599px) {
  :root { --px:12px; --hdr-h:auto; }

  .tv-header { flex-wrap:wrap; padding:10px var(--px); height:auto; gap:7px; }
  .brand { min-width:unset; }
  .brand-icon { font-size:26px; }
  .brand-name { font-size:14px; }
  .brand-sub { display:none; }
  .slide-title-wrap { order:3; width:100%; text-align:left; }
  .slide-title  { font-size:16px; letter-spacing:.06em; }
  .slide-subtitle { font-size:10px; }
  .clock { min-width:unset; }
  .clock-time { font-size:26px; }
  .clock-date { font-size:9.5px; }

  /* Podium mobile — 3 columns, smaller */
  .podium-section { padding:38px 6px 0; gap:6px; }
  .podium-item-1 .podium-avatar { width:72px;height:72px;font-size:20px;border-width:3px; }
  .podium-item-2 .podium-avatar { width:58px;height:58px;font-size:16px; }
  .podium-item-3 .podium-avatar { width:52px;height:52px;font-size:14px; }
  .podium-item-1 .podium-avatar-wrap::before { top:-26px;font-size:20px; }
  .podium-item-1 .podium-name { font-size:13px; } .podium-name { font-size:11px; }
  .podium-item-1 .podium-value { font-size:18px; } .podium-value { font-size:13px; }
  .podium-vendas { font-size:10px; margin-bottom:8px; }
  .podium-item-1 .podium-base { height:72px;font-size:12px; }
  .podium-item-2 .podium-base { height:48px;font-size:11px; }
  .podium-item-3 .podium-base { height:36px;font-size:11px; }

  /* Chasers mobile — 1 coluna, fonte menor */
  .chaser-list { grid-template-columns:1fr; }
  .chaser-section { padding:8px 6px 10px; }
  .chaser-card { min-height:58px; padding-right:8px; }
  .chaser-card .cap-pos { width:40px; }
  .chaser-card .cap-num { font-size:24px; }
  .chaser-card .cap-avatar { width:30px; height:30px; margin-right:7px; }
  .chaser-card .cap-info { min-width:110px; }
  .chaser-card .cap-name { font-size:12px; }
  .chaser-card .cap-badge { font-size:9px; }
  .chaser-card .cap-bar-wrap { display:block; padding:0 7px; }
  .chaser-card .cap-ratio { font-size:15px; }
  .chaser-card .cap-goal-num { font-size:11px; }
  .corrida-wrap { padding:10px 0; gap:8px; }
  .corrida-head { align-items:flex-start; flex-direction:column; gap:4px; }
  .corrida-note { font-size:9px; white-space:normal; }
  .corrida-board { gap:9px; mask-image:none; -webkit-mask-image:none; }
  .corrida-track { gap:9px; animation-duration:32s; }
  .corrida-card { flex-basis:330px; min-height:92px; padding-right:9px; }
  .corrida-card .cap-pos { width:38px; }
  .corrida-card .cap-avatar { width:34px; height:34px; margin-right:8px; }
  .corrida-card .cap-info { min-width:116px; }
  .corrida-card .cap-name { font-size:13px; }
  .corrida-card .cap-badge { font-size:9px; }
  .corrida-card .cap-bar-wrap { display:block; padding:0 7px; }
  .corrida-card .cap-ratio { font-size:15px; }
  .corrida-card .cap-goal-num { font-size:11px; }

  /* Captações mobile */
  .cap-bar-wrap { display:none; }
  .s2-legend { display:none; }
  .cap-name  { font-size:14px; }
  .cap-ratio { font-size:20px; }
  .cap-goal-num { font-size:16px; }
  .cap-info  { min-width:130px; }
  .cap-meta-tag { font-size:9px; }
  .cap-team-ratio { font-size:20px; }

  /* Metas mobile */
  .metas-grid-4 { grid-template-columns:1fr; grid-template-rows:auto; gap:8px; overflow-y:auto; }
  .metas-section { padding:10px 12px; }

  /* Termômetro mobile */
  .meta-achieved-val { font-size:36px; }
  .meta-pct-val      { font-size:36px; }
  .meta-giant-track  { height:28px; }

  /* Gongo mobile */
  .gongo-content { flex-direction:column; gap:14px; }
  .gongo-photo   { width:110px;height:110px;font-size:30px; }
  .gongo-title-text { font-size:48px; }
  .gongo-message { font-size:16px; }
  .gongo-imovel-photo { display:none; }
  .gongo-stat-val.big { font-size:24px; }
  .meta-hit-wrap { gap:12px; padding:10px 0; justify-content:center; }
  .meta-hit-spotlight { flex-direction:column; gap:12px; text-align:center; }
  .meta-hit-photo { width:112px; height:112px; font-size:30px; border-width:3px; }
  .meta-hit-ring { inset:-8px; }
  .meta-hit-ring-2 { inset:-16px; }
  .meta-hit-badge { right:-12px; bottom:2px; font-size:10px; padding:6px 8px; }
  .meta-hit-kicker { font-size:10px; letter-spacing:.14em; margin-bottom:5px; }
  .meta-hit-title { font-size:38px; line-height:1; }
  .meta-hit-message { font-size:15px; margin-top:8px; }
  .meta-hit-sub { font-size:14px; }
  .meta-hit-progress { padding:12px; }
  .meta-hit-progress-head strong { font-size:30px; }
  .meta-hit-track { height:24px; }
  .meta-hit-numbers { flex-direction:column; gap:4px; font-size:12px; }
  .meta-hit-numbers strong { font-size:15px; }
  .meta-hit-actions { grid-template-columns:1fr; gap:7px; }
  .meta-hit-action { min-height:38px; font-size:14px; padding:7px 10px; }
  .premios-wrap { padding:10px 0; gap:10px; overflow-y:auto; }
  .premios-head { flex-direction:column; align-items:flex-start; gap:4px; }
  .premios-kicker { font-size:10px; letter-spacing:.14em; margin-bottom:3px; }
  .premios-title { font-size:28px; }
  .premios-sub { font-size:12px; max-width:none; }
  .premios-grid { grid-template-columns:1fr; gap:10px; overflow:visible; }
  .premio-card { min-height:310px; }
  .premio-img { flex:1; min-height:145px; }
  .premio-info { flex:unset; padding:12px; gap:6px; }
  .premio-name, .premio-card.featured .premio-name { font-size:22px; }
  .premio-desc { font-size:12px; }
  .premio-footer { align-items:flex-start; flex-direction:column; gap:4px; }
  .historico-wrap { padding:10px 0; gap:10px; overflow-y:auto; }
  .historico-head { flex-direction:column; align-items:flex-start; gap:8px; }
  .historico-kicker { font-size:10px; letter-spacing:.14em; margin-bottom:3px; }
  .historico-title { font-size:28px; }
  .historico-summary { grid-template-columns:repeat(3,1fr); width:100%; gap:6px; }
  .historico-summary div { min-width:0; padding:8px; }
  .historico-summary span { font-size:8px; }
  .historico-summary strong { font-size:15px; }
  .historico-grid { grid-template-columns:1fr; gap:10px; overflow:visible; }
  .hist-card { padding:12px; gap:9px; }
  .hist-period { font-size:22px; }
  .hist-pct { font-size:28px; }
  .hist-metric-head strong { font-size:16px; }
  .hist-card-foot { flex-direction:column; gap:4px; }
  .hist-card-foot strong { max-width:none; text-align:left; }

  /* Troca no Pódio mobile */
  .pc-body { flex-direction: column; gap: 20px; text-align: center; }
  .pc-photo { width: 120px; height: 120px; font-size: 34px; }
  .pc-title { font-size: 40px; }
  .pc-name  { font-size: 22px; }
  .pc-message { font-size: 15px; }
  .pc-rank-shift { justify-content: center; }
  .pc-stats { justify-content: center; flex-wrap: wrap; gap: 16px; }
  .pc-stat-val.highlight { font-size: 22px; }
}

/* ── Broadcast Live Indicator Overrides ── */
.tv-footer .live-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: rgba(220, 38, 38, 0.15) !important;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid rgba(220, 38, 38, 0.4) !important;
}
.tv-footer .live-dot {
  width: 10px !important;
  height: 10px !important;
  background-color: #ef4444 !important;
  border-radius: 50%;
  animation: pulse-red-live 1.5s infinite !important;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.9) !important;
}
.tv-footer .live-text {
  color: #ef4444 !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  font-size: 13px !important;
}
@keyframes pulse-red-live {
  0% { opacity: 1; transform: scale(1); box-shadow: 0 0 10px rgba(239, 68, 68, 0.9); }
  50% { opacity: 0.4; transform: scale(0.85); box-shadow: 0 0 2px rgba(239, 68, 68, 0.3); }
  100% { opacity: 1; transform: scale(1); box-shadow: 0 0 10px rgba(239, 68, 68, 0.9); }
}
