/* Torneios e projeção revisados. */
.timer-hero h3, .tournament-clean-hero h3 { max-width: 820px; }
.rola-timer-panel { overflow: hidden; }
.timer-stage { display: grid; grid-template-columns: 360px 1fr; gap: 26px; align-items: center; }
.timer-ring { min-height: 360px; border-radius: 50%; display: grid; place-items: center; text-align: center; padding: 28px; background: radial-gradient(circle, rgba(225,6,0,.2), rgba(0,0,0,.98) 62%); border: 2px solid rgba(225,6,0,.48); box-shadow: inset 0 0 60px rgba(225,6,0,.2), 0 22px 80px rgba(0,0,0,.45); }
.timer-ring span { color: #fbbf24; font-weight: 1000; letter-spacing: .18em; font-size: .78rem; }
.timer-ring strong { font-size: clamp(4rem, 9vw, 7rem); line-height: .9; letter-spacing: -.07em; color: #fff; }
.timer-ring small { color: var(--muted); font-weight: 900; letter-spacing: .18em; }
.timer-config { display: grid; gap: 18px; }
.compact-form { grid-template-columns: repeat(2, minmax(0, 180px)); }
.timer-progress { width: 100%; height: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; overflow: hidden; }
.timer-progress div { height: 100%; width: 0%; background: linear-gradient(90deg, #e10600, #fbbf24); transition: width .35s ease; }
.timer-actions .xl-button { min-width: 140px; min-height: 54px; }
.tournament-shell { display: grid; grid-template-columns: 320px 1fr; gap: 18px; align-items: start; }
.tournament-side { position: sticky; top: 100px; }
.compact-stack { display: grid; gap: 12px; }
.full-button { width: 100%; }
.side-list { display: grid; gap: 10px; margin-top: 16px; max-height: 420px; overflow: auto; padding-right: 4px; }
.tournament-pill { width: 100%; text-align: left; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: #fff; border-radius: 16px; padding: 14px; display: grid; gap: 4px; }
.tournament-pill.active { border-color: rgba(225,6,0,.7); background: linear-gradient(90deg, rgba(225,6,0,.24), rgba(255,255,255,.04)); }
.tournament-pill strong { font-size: .95rem; letter-spacing: .04em; }
.tournament-pill span { color: var(--muted); font-size: .82rem; }
.tournament-main { display: grid; gap: 18px; }
.tournament-header-card { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.tournament-category-card { border-color: rgba(225,6,0,.25); }
.tournament-form-clean { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.slim-choice { max-height: 170px; overflow:auto; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: rgba(0,0,0,.18); }
.tournament-grid { display:grid; grid-template-columns: minmax(280px, .9fr) minmax(420px, 1.2fr); gap:18px; }
.category-tabs { display:grid; gap:10px; }
.category-card { width:100%; text-align:left; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:15px; background:rgba(255,255,255,.035); display:grid; gap:5px; }
.category-card.active { border-color:rgba(225,6,0,.7); box-shadow: inset 4px 0 0 var(--primary); background:linear-gradient(90deg, rgba(225,6,0,.22), rgba(255,255,255,.035)); }
.category-card strong { letter-spacing:.06em; }
.category-card span, .category-card small { color:var(--muted); }
.live-fight-card { position: relative; overflow:hidden; }
.clean-scoreboard .score-time { font-size: clamp(3.5rem, 7vw, 6.5rem); text-align:center; color:#fff; font-weight:1000; letter-spacing:-.08em; text-shadow:0 0 25px rgba(225,6,0,.32); margin: 8px 0 16px; }
.fight-status-line { display:flex; justify-content:center; align-items:center; gap:10px; margin-bottom:14px; color:var(--muted); }
.clean-scoreboard .score-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:14px; }
.score-athlete { border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:16px; background:rgba(255,255,255,.035); display:grid; gap:10px; }
.score-athlete strong { min-height:42px; font-size:1rem; letter-spacing:.05em; }
.score-athlete b { font-size:4.5rem; line-height:.9; color:#fff; }
.score-actions { display:flex; gap:7px; flex-wrap:wrap; }
.score-actions button { border:1px solid rgba(255,255,255,.14); background:#17191f; color:#fff; border-radius:11px; padding:9px 12px; font-weight:1000; }
.score-actions.mini button { color:#fbbf24; }
.main-clock-actions { justify-content:center; margin-top:18px; }
.bracket-section { margin-top:18px; overflow:hidden; }
.simplified-bracket { display:flex; gap:16px; overflow-x:auto; padding-bottom:8px; }
.bracket-round { min-width: 250px; display:grid; gap:10px; }
.bracket-round h4 { margin:0; color:#fff; letter-spacing:.12em; }
.bracket-open { width:100%; border:1px solid rgba(255,255,255,.13); border-radius:16px; background:rgba(255,255,255,.04); color:#fff; padding:12px; display:grid; gap:6px; text-align:left; }
.active-fight .bracket-open { border-color:rgba(225,6,0,.8); box-shadow:0 0 0 1px rgba(225,6,0,.25); }
.bracket-open span { display:flex; justify-content:space-between; color:#e5e7eb; }
.bracket-open small { color:var(--muted); }
.projection-overlay { position:fixed; inset:0; background:radial-gradient(circle at top,#2b0606,#050505 55%,#000); z-index:9999; color:#fff; padding:42px; box-sizing:border-box; overflow:auto; }
.projection-close, .projection-full { position:fixed; top:18px; border:0; border-radius:12px; padding:12px 16px; font-weight:1000; color:#fff; z-index:10000; }
.projection-close { right:18px; background:#e10600; }
.projection-full { right:110px; background:#22252d; }
.projection-stage h1 { margin:0 0 24px; font-size:clamp(2.4rem,5vw,5.5rem); text-transform:uppercase; letter-spacing:.08em; }
.projection-fight { display:grid; grid-template-columns:1fr 260px 1fr; gap:30px; align-items:center; min-height:60vh; }
.projection-athlete { border:1px solid rgba(255,255,255,.14); border-radius:28px; padding:32px; background:rgba(255,255,255,.05); display:grid; gap:16px; }
.projection-athlete span { color:#aaa; font-weight:900; letter-spacing:.16em; }
.projection-athlete strong { font-size:clamp(2rem,4vw,4.4rem); text-transform:uppercase; line-height:1; }
.projection-athlete b { font-size:clamp(5rem,10vw,10rem); line-height:.85; color:#fff; }
.projection-clock { color:#ff2018; font-size:clamp(4rem,8vw,9rem); font-weight:1000; text-align:center; letter-spacing:-.08em; }
.projection-status { font-size:1.4rem; color:#ccc; text-transform:uppercase; }
.projection-bracket { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }
.projection-bracket-fight { border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:16px; display:grid; gap:8px; background:rgba(255,255,255,.04); }
.projection-bracket-fight span { display:flex; justify-content:space-between; }
@media (max-width: 1100px) { .timer-stage, .tournament-shell, .tournament-grid { grid-template-columns: 1fr; } .tournament-side { position: static; } .tournament-form-clean { grid-template-columns: repeat(2, minmax(0,1fr)); } .projection-fight { grid-template-columns:1fr; } }
@media (max-width: 640px) { .timer-ring { min-height:260px; } .tournament-form-clean { grid-template-columns:1fr; } .clean-scoreboard .score-grid { grid-template-columns:1fr; } }

/* Torneios e Timer do Rola. */
.v25-tournament { align-items: start; }
.v25-head-card { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.v25-operational-grid { grid-template-columns: minmax(360px, 1fr) minmax(300px, .8fr); align-items:start; }
.v25-fight-grid { grid-template-columns: minmax(380px, .85fr) minmax(460px, 1.15fr); align-items:start; margin-top:18px; }
.v25-category-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v25-category-tabs { max-height: 520px; overflow:auto; padding-right:4px; }
.v25-category-tabs .category-card { width:100%; text-align:left; }
.v25-scoreboard .score-time { font-size: clamp(3.6rem, 8vw, 7.5rem); line-height:.9; }
.v25-scoreboard .score-athlete { min-height: 270px; display:flex; flex-direction:column; justify-content:space-between; }
.v25-scoreboard .score-athlete strong { min-height:42px; display:block; }
.v25-scoreboard .score-actions button { min-width:48px; min-height:42px; }
.v25-bracket .bracket-open { cursor:pointer; }
.projection-overlay { position:fixed; inset:0; z-index:9999; background:radial-gradient(circle at top,#310606 0%, #060606 52%, #000 100%); color:#fff; overflow:auto; padding:44px; }
.projection-close, .projection-full { position:fixed; top:18px; border:0; border-radius:14px; padding:12px 16px; font-weight:900; color:#fff; z-index:10000; }
.projection-close { right:18px; background:#e10600; }
.projection-full { right:118px; background:#20242b; border:1px solid rgba(255,255,255,.16); }
.projection-stage { min-height:calc(100vh - 88px); display:flex; flex-direction:column; justify-content:center; gap:28px; }
.projection-stage h1 { margin:0; font-size:clamp(2.2rem,5vw,5.8rem); text-transform:uppercase; letter-spacing:.08em; }
.projection-fight { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; }
.projection-athlete { border:1px solid rgba(255,255,255,.15); background:linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border-radius:28px; padding:34px; min-height:320px; display:grid; align-content:center; gap:12px; text-align:center; }
.projection-athlete span, .projection-athlete small { color:#b9bdc7; font-weight:900; letter-spacing:.12em; }
.projection-athlete strong { font-size:clamp(2rem,4vw,4.7rem); text-transform:uppercase; }
.projection-athlete b { font-size:clamp(5rem,10vw,10rem); color:#fff; line-height:.9; }
.projection-clock { min-width:220px; text-align:center; color:#ff251d; font-size:clamp(4rem,9vw,10rem); font-weight:1000; text-shadow:0 0 32px rgba(225,6,0,.35); }
.projection-status { text-align:center; font-size:clamp(1.2rem,2vw,2rem); font-weight:900; letter-spacing:.08em; color:#fbbf24; text-transform:uppercase; }
.projection-bracket { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px; }
.projection-bracket h2 { color:#ff3b32; font-size:2rem; }
.projection-bracket-fight { border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); border-radius:18px; padding:16px; margin:10px 0; display:grid; gap:8px; font-size:1.05rem; }
.projection-bracket-fight span { display:flex; justify-content:space-between; gap:18px; text-transform:uppercase; font-weight:900; }
@media (max-width: 1000px) { .v25-operational-grid, .v25-fight-grid, .projection-fight { grid-template-columns:1fr; } .v25-head-card { display:grid; } .v25-category-form { grid-template-columns:1fr 1fr; } }
@media (max-width: 640px) { .v25-category-form { grid-template-columns:1fr; } .projection-overlay { padding:24px 14px; } .projection-full { right:104px; } }

/* Torneios premium, projeção e chave estilo campeonato. */
.tournament-pill-row,.category-card-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch;margin-bottom:8px}.icon-mini{min-width:38px;padding:8px 10px;border-radius:12px;font-size:18px;line-height:1}.compact-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.v26-tournament .tournament-side{position:sticky;top:92px;align-self:start}.v26-scoreboard .score-time{font-size:clamp(42px,8vw,92px);font-weight:1000;letter-spacing:.04em;text-shadow:0 0 28px rgba(225,6,0,.35)}
.bracket-tree{display:flex;gap:28px;overflow:auto;padding:18px 6px 24px;align-items:center}.bracket-tree-round{display:grid;gap:18px;min-width:230px;position:relative}.bracket-tree-round h4,.bracket-tree-round h2{margin:0;text-transform:uppercase;letter-spacing:.12em;color:#fff;font-size:12px;background:linear-gradient(90deg,rgba(225,6,0,.28),rgba(255,255,255,.03));border:1px solid rgba(225,6,0,.22);border-radius:999px;padding:8px 12px;text-align:center}.tree-match{position:relative;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(18,19,24,.95),rgba(7,8,12,.96));border-radius:18px;padding:10px;box-shadow:0 16px 30px rgba(0,0,0,.28);min-height:112px}.tree-match::after{content:"";position:absolute;right:-29px;top:50%;width:29px;height:2px;background:linear-gradient(90deg,rgba(225,6,0,.65),rgba(255,255,255,.15));display:block}.bracket-tree-round:last-child .tree-match::after{display:none}.tree-match.active-fight{border-color:rgba(225,6,0,.85);box-shadow:0 0 0 2px rgba(225,6,0,.16),0 18px 36px rgba(225,6,0,.12)}.tree-match.done{border-color:rgba(34,197,94,.32)}.tree-fighter{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);background:#0a0b0f;color:#d8dbe2;padding:11px 12px;border-radius:12px;text-align:left;font-weight:800;margin-bottom:8px}.tree-fighter span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-fighter b{color:#fff}.tree-fighter.winner{background:linear-gradient(90deg,rgba(34,197,94,.22),rgba(255,255,255,.03));border-color:rgba(34,197,94,.42);color:#fff}.tree-match small{display:block;color:var(--muted);font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase;text-align:center}.bracket-tree-tv{width:100%;height:100%;align-items:stretch;justify-content:center;gap:40px;padding:10px 20px}.bracket-tree-tv .bracket-tree-round{min-width:min(270px,22vw);align-content:center}.bracket-tree-tv .tree-match{min-height:130px;background:rgba(6,7,11,.82);backdrop-filter:blur(10px);border-color:rgba(255,255,255,.18)}
.projection-overlay.premium-projection{position:fixed;inset:0;z-index:1000;background:#030305;color:#fff;overflow:auto;isolation:isolate}.projection-wallpaper{position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 18% 20%,rgba(225,6,0,.38),transparent 28%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.08),transparent 24%),linear-gradient(135deg,#030305,#0d0e13 48%,#1b0505);}.projection-wallpaper::before{content:"";position:absolute;inset:-30%;background:repeating-linear-gradient(60deg,rgba(255,255,255,.04) 0 1px,transparent 1px 28px),repeating-linear-gradient(-60deg,rgba(225,6,0,.055) 0 2px,transparent 2px 48px);transform:rotate(4deg)}.projection-wallpaper::after{content:"JIUSYSTEM";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) rotate(-8deg);font-size:16vw;font-weight:1000;letter-spacing:.08em;color:rgba(255,255,255,.025);white-space:nowrap}.premium-projection .projection-close,.premium-projection .projection-full{position:fixed;top:20px;z-index:1002;border:1px solid rgba(255,255,255,.16);background:rgba(8,9,14,.76);color:#fff;border-radius:14px;padding:12px 15px;font-weight:1000;backdrop-filter:blur(8px)}.premium-projection .projection-close{right:20px}.premium-projection .projection-full{right:116px}.premium-stage{min-height:100vh;display:grid;grid-template-rows:auto 1fr;align-items:center;padding:58px 48px 40px}.projection-event-header{display:grid;gap:8px;text-align:center;margin:0 auto 26px;max-width:1100px}.projection-event-header span{color:#ff332a;font-weight:1000;letter-spacing:.24em;text-transform:uppercase}.projection-event-header strong{font-size:clamp(30px,5vw,76px);line-height:.95;text-transform:uppercase;letter-spacing:.03em}.projection-event-header small{color:#d5d7df;font-weight:800;letter-spacing:.08em}.premium-fight-proj{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr) minmax(0,1fr);gap:26px;align-items:center;width:min(1500px,96vw);margin:0 auto}.premium-fight-proj .projection-athlete{min-height:420px;display:grid;grid-template-rows:auto 1fr auto auto;align-items:center;padding:32px;border-radius:28px;background:linear-gradient(180deg,rgba(16,18,25,.86),rgba(4,5,9,.92));border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 80px rgba(0,0,0,.45)}.premium-fight-proj .projection-athlete span{color:#ff332a;font-weight:1000;letter-spacing:.14em}.premium-fight-proj .projection-athlete strong{font-size:clamp(28px,4vw,62px);line-height:1;text-transform:uppercase;text-align:center}.premium-fight-proj .projection-athlete b{font-size:clamp(80px,13vw,180px);line-height:.85;text-align:center;color:#fff;text-shadow:0 0 40px rgba(225,6,0,.3)}.premium-fight-proj .projection-athlete small{text-align:center;color:#d6d8de;font-weight:900}.projection-center{display:grid;gap:18px;justify-items:center}.projection-center .projection-clock{font-size:clamp(64px,10vw,150px);font-weight:1000;letter-spacing:.04em;color:#fff;text-shadow:0 0 48px rgba(225,6,0,.42);padding:22px 30px;border-radius:30px;border:1px solid rgba(225,6,0,.42);background:rgba(225,6,0,.11)}.projection-status{margin:0;text-align:center;padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.projection-bracket{display:flex;gap:28px;overflow:auto;width:100%;padding-bottom:14px}@media(max-width:900px){.premium-fight-proj{grid-template-columns:1fr}.premium-fight-proj .projection-athlete{min-height:230px}.projection-center{order:-1}.premium-stage{padding:72px 18px 30px}.bracket-tree{gap:18px}.tree-match::after{display:none}}

/* Projeções, chave responsiva e timer de luta. */
.projection-overlay.projection-v27 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  overflow: hidden !important;
  background: #030306 !important;
  color: #fff !important;
  padding: 0 !important;
  isolation: isolate;
}
.projection-v27-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 10% 15%, rgba(255, 20, 16, .36), transparent 32%),
    radial-gradient(circle at 85% 78%, rgba(255, 255, 255, .09), transparent 30%),
    linear-gradient(135deg, #050508 0%, #0f1118 46%, #230505 100%);
}
.projection-v27-bg::before {
  content: "";
  position: absolute;
  inset: -22%;
  background:
    repeating-linear-gradient(60deg, rgba(255,255,255,.045) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(-60deg, rgba(225,6,0,.065) 0 1px, transparent 1px 46px),
    linear-gradient(90deg, transparent, rgba(225,6,0,.10), transparent);
  transform: rotate(3deg);
}
.projection-v27-bg::after {
  content: "JIUSYSTEM";
  position: absolute;
  right: -3vw;
  bottom: 2vh;
  font-size: clamp(80px, 18vw, 300px);
  font-weight: 1000;
  letter-spacing: .08em;
  color: rgba(255,255,255,.026);
  line-height: .75;
}
.projection-v27-actions {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 10003;
  display: flex;
  gap: 8px;
}
.projection-v27 .projection-close,
.projection-v27 .projection-full {
  position: static !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(7,8,13,.78) !important;
  color: #fff !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
  font-weight: 1000 !important;
  letter-spacing: .04em;
  backdrop-filter: blur(12px);
}
.projection-v27 .projection-close { background: rgba(225,6,0,.82) !important; }
.projection-stage-v27 {
  width: 100vw;
  height: 100vh;
  padding: clamp(28px, 4vw, 62px);
  display: grid;
  place-items: stretch;
}
.fight-broadcast-v27,
.bracket-broadcast-v27 {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: clamp(14px, 2vw, 26px);
}
.fight-broadcast-head,
.bracket-broadcast-head {
  text-align: center;
  display: grid;
  gap: 8px;
  padding-top: 18px;
}
.fight-broadcast-head span,
.bracket-broadcast-head span {
  color: #ff2a22;
  font-weight: 1000;
  letter-spacing: .32em;
  font-size: clamp(10px, 1.2vw, 18px);
}
.fight-broadcast-head h1,
.bracket-broadcast-head h1 {
  margin: 0;
  font-size: clamp(42px, 7vw, 112px);
  line-height: .88;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-shadow: 0 18px 60px rgba(0,0,0,.38);
}
.fight-broadcast-head p,
.bracket-broadcast-head p {
  margin: 0;
  color: #d9dce4;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: clamp(11px, 1.2vw, 18px);
}
.fight-broadcast-main {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(16px, 2.4vw, 38px);
  width: min(1720px, 96vw);
  margin: 0 auto;
}
.broadcast-athlete {
  position: relative;
  min-width: 0;
  min-height: 0;
  border-radius: clamp(22px, 2vw, 34px);
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(145deg, rgba(18,21,30,.92), rgba(5,6,10,.93)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 1px, transparent 1px 14px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 24px 80px rgba(0,0,0,.5);
  padding: clamp(22px, 3vw, 46px);
  display: grid;
  grid-template-rows: auto minmax(64px, auto) 1fr auto;
  align-items: center;
  text-align: center;
  overflow: hidden;
}
.broadcast-athlete::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 12%, rgba(255,255,255,.08), transparent 42%);
  pointer-events: none;
}
.broadcast-athlete small {
  position: relative;
  z-index: 1;
  color: #ff332b;
  font-weight: 1000;
  letter-spacing: .28em;
  font-style: normal;
}
.broadcast-athlete strong {
  position: relative;
  z-index: 1;
  font-size: clamp(32px, 4.2vw, 72px);
  line-height: 1;
  word-break: break-word;
  text-transform: uppercase;
  color: #fff;
}
.broadcast-athlete b {
  position: relative;
  z-index: 1;
  font-size: clamp(95px, 18vw, 240px);
  line-height: .78;
  letter-spacing: -.06em;
  color: #fff;
  text-shadow: 0 0 52px rgba(225,6,0,.28);
}
.broadcast-athlete em {
  position: relative;
  z-index: 1;
  color: #d4d7df;
  font-style: normal;
  font-weight: 1000;
  letter-spacing: .16em;
  font-size: clamp(12px, 1vw, 17px);
}
.athlete-a { border-left: 6px solid rgba(255,42,34,.7); }
.athlete-b { border-right: 6px solid rgba(255,42,34,.7); }
.broadcast-center {
  align-self: center;
  display: grid;
  gap: 16px;
  justify-items: center;
}
.broadcast-round {
  color: #ff3028;
  font-weight: 1000;
  letter-spacing: .24em;
  border: 1px solid rgba(255,48,40,.28);
  border-radius: 999px;
  padding: 8px 18px;
  background: rgba(255,48,40,.08);
}
.broadcast-clock {
  width: 100%;
  max-width: 480px;
  text-align: center;
  color: #fff;
  font-size: clamp(72px, 11vw, 180px);
  line-height: .88;
  font-weight: 1000;
  letter-spacing: .04em;
  padding: clamp(18px, 2vw, 30px);
  border-radius: 30px;
  border: 1px solid rgba(255,48,40,.45);
  background: linear-gradient(145deg, rgba(225,6,0,.18), rgba(0,0,0,.42));
  box-shadow: 0 0 60px rgba(225,6,0,.16), inset 0 0 40px rgba(0,0,0,.30);
}
.broadcast-status {
  width: min(460px, 100%);
  text-align: center;
  color: #fbbf24;
  font-weight: 1000;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(0,0,0,.42);
  border: 1px solid rgba(255,255,255,.12);
}
.bracket-fit-wrap {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  display: block;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  padding: clamp(10px, 1.4vw, 22px);
}
.bracket-fit-inner {
  display: flex;
  gap: clamp(16px, 2vw, 34px);
  align-items: center;
  width: max-content;
  min-height: 100%;
  padding: 8px;
}
.bracket-v27-round {
  display: grid;
  gap: clamp(10px, 1vw, 18px);
  min-width: clamp(210px, 18vw, 330px);
  position: relative;
}
.bracket-v27-round h2 {
  margin: 0;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: clamp(11px, 1vw, 18px);
  border-radius: 999px;
  padding: 8px 12px;
  background: linear-gradient(90deg, rgba(225,6,0,.45), rgba(255,255,255,.06));
  border: 1px solid rgba(225,6,0,.28);
}
.bracket-v27-match {
  position: relative;
  display: grid;
  gap: 7px;
  min-height: 96px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.15);
  background: linear-gradient(145deg, rgba(9,11,17,.94), rgba(3,4,8,.94));
  box-shadow: 0 18px 36px rgba(0,0,0,.28);
}
.bracket-v27-match::after {
  content: "";
  position: absolute;
  right: calc(clamp(16px, 2vw, 34px) * -1 - 1px);
  top: 50%;
  width: clamp(16px, 2vw, 34px);
  height: 2px;
  background: linear-gradient(90deg, rgba(225,6,0,.75), rgba(255,255,255,.15));
}
.bracket-v27-round:last-child .bracket-v27-match::after { display: none; }
.bracket-v27-match.done { border-color: rgba(34,197,94,.34); }
.bracket-v27-fighter {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  min-height: 34px;
  padding: 9px 11px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  color: #fff;
  font-weight: 1000;
  text-transform: uppercase;
  font-size: clamp(11px, .95vw, 15px);
}
.bracket-v27-fighter span {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bracket-v27-fighter b { color: #fff; }
.bracket-v27-fighter.winner {
  border-color: rgba(34,197,94,.48);
  background: linear-gradient(90deg, rgba(34,197,94,.22), rgba(255,255,255,.04));
}
.bracket-v27-match small {
  text-align: center;
  color: #b9bdc7;
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .09em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .fight-broadcast-main { grid-template-columns: 1fr; }
  .broadcast-center { order: -1; }
  .broadcast-athlete { min-height: 220px; }
  .broadcast-athlete b { font-size: clamp(82px, 28vw, 150px); }
}

/* Torneios: chave legível, cadastro atleta por atleta e projeção premium sem vazamento. */
.v28-tournament .tournament-main { min-width: 0; }
.v28-operational-grid { grid-template-columns: minmax(420px, 1.15fr) minmax(300px, .85fr); align-items: start; }
.v28-fight-grid { grid-template-columns: minmax(380px, .95fr) minmax(520px, 1.3fr); align-items: start; }
.v28-category-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v28-category-form .full { grid-column: 1 / -1; }
.athlete-add-panel-v28 {
  display: grid;
  grid-template-columns: 1.2fr 1.5fr .9fr .8fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(225,6,0,.05));
}
.athlete-add-panel-v28 input,
.athlete-add-panel-v28 select {
  min-height: 46px;
  border-radius: 14px;
  background: #090b0f;
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  padding: 0 12px;
}
.hint-v28 { display:block; margin-top:8px; color:#a1a1aa; font-size:.82rem; }
.draft-athletes-v28 { display:flex; flex-wrap:wrap; gap:10px; }
.draft-athlete-chip-v28 {
  display:flex; align-items:center; gap:12px; justify-content:space-between;
  min-width: 220px; max-width: 100%; padding:10px 12px;
  border-radius:16px; background:rgba(0,0,0,.28); border:1px solid rgba(225,6,0,.22);
}
.draft-athlete-chip-v28 span { display:grid; gap:2px; }
.draft-athlete-chip-v28 strong { color:#fff; letter-spacing:.04em; }
.draft-athlete-chip-v28 small { color:#a1a1aa; font-size:.72rem; text-transform:uppercase; }
.draft-athlete-chip-v28 button { width:28px; height:28px; border-radius:10px; border:1px solid rgba(239,68,68,.35); background:rgba(239,68,68,.14); color:#fff; font-weight:900; }
.compact-empty { padding: 12px !important; }

.v28-app-bracket { gap: 18px; padding-bottom: 8px; }
.v28-app-bracket .bracket-tree-round { min-width: 220px; }
.v28-app-bracket .tree-match { min-width: 210px; }
.v28-app-bracket .tree-fighter { min-height: 38px; }

/* Projection shell — forced clean viewport */
.projection-v28 {
  position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100vh !important;
  z-index: 99999 !important; overflow: hidden !important; background:#050507 !important; color:#fff !important;
}
.projection-v28-wallpaper {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 16% 20%, rgba(225,6,0,.33), transparent 28%),
    radial-gradient(circle at 86% 78%, rgba(225,6,0,.16), transparent 26%),
    linear-gradient(135deg, #120407 0%, #07080d 44%, #1b0506 100%);
}
.projection-v28-wallpaper:before {
  content:""; position:absolute; inset:-20%; opacity:.22;
  background-image: linear-gradient(60deg, rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(120deg, rgba(225,6,0,.16) 1px, transparent 1px);
  background-size: 54px 54px;
  transform: rotate(0deg);
}
.projection-v28-wallpaper:after {
  content:"JIUSYSTEM"; position:absolute; left:50%; bottom:-5vh; transform:translateX(-50%);
  font-size:18vw; font-weight:1000; letter-spacing:.05em; color:rgba(255,255,255,.035); white-space:nowrap;
}
.projection-v28-actions { position:absolute; right:22px; top:18px; display:flex; gap:10px; z-index:10; }
.projection-v28-actions button { border:1px solid rgba(255,255,255,.18); border-radius:14px; padding:13px 18px; color:#fff; font-weight:1000; letter-spacing:.04em; background:rgba(9,11,15,.78); backdrop-filter:blur(10px); }
.projection-v28-actions .projection-close { background:linear-gradient(135deg,#ff1a12,#b80400); border-color:rgba(255,255,255,.08); }
.projection-stage-v28 { position:relative; z-index:2; height:100vh; width:100vw; overflow:hidden; display:grid; place-items:center; padding:18px; }

/* Fight TV */
.fight-tv-v28 { width:min(96vw, 1680px); height:min(92vh, 920px); display:grid; grid-template-rows:auto 1fr; gap:22px; }
.fight-tv-head { text-align:center; padding-top:14px; }
.fight-tv-head span { color:#ff3434; letter-spacing:.55em; font-weight:1000; font-size:clamp(12px,1.2vw,18px); }
.fight-tv-head h1 { margin:10px 0 4px; font-size:clamp(44px,6.3vw,106px); line-height:.92; letter-spacing:.07em; text-transform:uppercase; color:#fff; text-shadow:0 18px 42px rgba(0,0,0,.5); }
.fight-tv-head p { margin:0; font-size:clamp(13px,1.3vw,22px); letter-spacing:.18em; text-transform:uppercase; color:#d4d4d8; font-weight:900; }
.fight-tv-main { display:grid; grid-template-columns: 1fr minmax(300px, .62fr) 1fr; align-items:stretch; gap:22px; min-height:0; }
.fight-tv-athlete { position:relative; min-width:0; border-radius:32px; border:1px solid rgba(255,255,255,.12); background:linear-gradient(145deg, rgba(12,14,20,.94), rgba(3,4,7,.86)); box-shadow:0 30px 80px rgba(0,0,0,.55); padding:32px; display:grid; grid-template-rows:auto auto auto 1fr auto; align-items:center; overflow:hidden; }
.fight-tv-athlete:before { content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(225,6,0,.18), transparent 38%); opacity:.9; }
.fight-tv-athlete.side-B:before { background:linear-gradient(240deg, rgba(225,6,0,.18), transparent 38%); }
.fight-tv-athlete > * { position:relative; z-index:1; }
.fight-tv-athlete small { color:#ff3434; font-size:clamp(12px,1.1vw,17px); font-weight:1000; letter-spacing:.42em; text-align:center; }
.fight-tv-athlete strong { display:block; min-width:0; margin-top:18px; color:#fff; text-align:center; font-size:clamp(34px,4.4vw,76px); line-height:1.02; letter-spacing:.03em; text-transform:uppercase; overflow-wrap:anywhere; }
.fight-tv-athlete span { text-align:center; color:#c9cbd1; margin-top:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.fight-tv-athlete b { align-self:center; justify-self:center; font-size:clamp(96px,13vw,220px); line-height:.82; color:#fff; text-shadow:0 0 30px rgba(255,255,255,.12); }
.fight-tv-athlete em { text-align:center; color:#fff; font-style:normal; letter-spacing:.14em; font-weight:900; }
.fight-tv-center { align-self:center; justify-self:center; width:100%; display:grid; gap:18px; align-content:center; text-align:center; }
.fight-tv-clock { border-radius:28px; padding:28px 18px; border:1px solid rgba(225,6,0,.45); background:linear-gradient(135deg, rgba(225,6,0,.27), rgba(0,0,0,.64)); font-size:clamp(70px,9vw,150px); line-height:.88; letter-spacing:.03em; font-weight:1000; color:#fff; box-shadow:0 0 70px rgba(225,6,0,.14); }
.fight-tv-status { border-radius:999px; padding:16px 20px; background:rgba(0,0,0,.38); border:1px solid rgba(255,255,255,.12); color:#ffdd55; font-size:clamp(16px,1.6vw,28px); font-weight:1000; letter-spacing:.12em; text-transform:uppercase; }

/* Bracket TV two-sided */
.bracket-tv-v28 { width:96vw; height:93vh; display:grid; grid-template-rows:auto 1fr; gap:12px; }
.bracket-tv-head { text-align:center; }
.bracket-tv-head span { color:#ff3434; letter-spacing:.55em; font-weight:1000; font-size:clamp(10px,1vw,16px); }
.bracket-tv-head h1 { margin:6px 0 2px; font-size:clamp(34px,5.2vw,86px); line-height:.92; letter-spacing:.07em; text-transform:uppercase; color:#fff; }
.bracket-tv-head p { margin:0; color:#d4d4d8; font-size:clamp(11px,1vw,18px); font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.bracket-tv-fit { position:relative; height:100%; width:100%; display:grid; place-items:center; overflow:hidden; border-radius:28px; border:1px solid rgba(255,255,255,.10); background:rgba(0,0,0,.16); }
.bracket-tv-board { display:grid; grid-template-columns:auto minmax(230px, 320px) auto; align-items:center; justify-content:center; gap:34px; padding:24px; transform-origin:center center; }
.bracket-side { display:flex; align-items:center; gap:22px; }
.left-side { justify-content:flex-end; }
.right-side { justify-content:flex-start; }
.bracket-round-v28 { display:grid; gap:12px; align-content:center; min-width:180px; }
.bracket-round-v28 h2, .bracket-final-v28 h2 { margin:0 0 2px; text-align:center; color:#ff3434; background:rgba(225,6,0,.18); border:1px solid rgba(225,6,0,.22); border-radius:999px; padding:6px 12px; font-size:12px; letter-spacing:.15em; text-transform:uppercase; }
.bracket-match-v28 { position:relative; width:180px; border-radius:14px; border:1px solid rgba(255,255,255,.12); background:rgba(8,10,14,.88); box-shadow:0 12px 28px rgba(0,0,0,.32); overflow:visible; }
.bracket-match-v28:after { content:""; position:absolute; top:50%; width:22px; height:1px; background:rgba(225,6,0,.45); }
.left-side .bracket-match-v28:after { right:-22px; }
.right-side .bracket-match-v28:after { left:-22px; }
.bracket-final-v28 .bracket-match-v28:after { display:none; }
.bracket-fighter-v28 { display:grid; grid-template-columns:minmax(0,1fr) 28px; gap:8px; align-items:center; min-height:30px; padding:7px 9px; color:#fff; }
.bracket-fighter-v28 + .bracket-fighter-v28 { border-top:1px solid rgba(255,255,255,.08); }
.bracket-fighter-v28 span { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; font-weight:1000; letter-spacing:.04em; text-transform:uppercase; }
.bracket-fighter-v28 b { text-align:right; font-size:12px; }
.bracket-fighter-v28.winner { background:rgba(34,197,94,.18); color:#d7ffe3; }
.bracket-match-v28 small { display:block; padding:5px 8px; border-top:1px solid rgba(255,255,255,.06); text-align:center; color:#a1a1aa; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.bracket-final-v28 { display:grid; gap:16px; place-items:center; min-width:260px; }
.bracket-final-v28 .bracket-match-v28 { width:260px; border-color:rgba(225,6,0,.45); box-shadow:0 0 48px rgba(225,6,0,.16); }
.bracket-final-v28 .bracket-fighter-v28 { min-height:40px; padding:10px 13px; }
.bracket-final-v28 .bracket-fighter-v28 span { font-size:16px; }
.champion-v28 { width:260px; border-radius:18px; padding:14px; text-align:center; background:linear-gradient(135deg, rgba(255,215,0,.16), rgba(225,6,0,.10)); border:1px solid rgba(255,215,0,.28); }
.champion-v28 span { display:block; color:#facc15; font-size:11px; letter-spacing:.22em; font-weight:1000; }
.champion-v28 strong { display:block; margin-top:4px; color:#fff; font-size:18px; text-transform:uppercase; overflow-wrap:anywhere; }

@media (max-width: 1100px) {
  .v28-operational-grid, .v28-fight-grid { grid-template-columns:1fr; }
  .athlete-add-panel-v28 { grid-template-columns:1fr 1fr; }
}

.torneio-hero-v29 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-color:rgba(225,6,0,.22);
  background:
    radial-gradient(circle at 15% 0%, rgba(225,6,0,.18), transparent 34%),
    linear-gradient(135deg, rgba(17,19,24,.98), rgba(7,8,11,.98));
}
.torneio-hero-v29 span { color:#ff3434; letter-spacing:.32em; font-weight:1000; font-size:.76rem; }
.torneio-hero-v29 h3 { margin:8px 0 5px; font-size:clamp(1.35rem,2vw,2.1rem); color:#fff; text-transform:uppercase; letter-spacing:.06em; }
.torneio-hero-v29 p { margin:0; color:#c9cbd1; }
.torneio-tabs-v29 {
  margin:18px 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.torneio-tabs-v29 button {
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:16px 18px;
  background:linear-gradient(135deg, rgba(18,20,25,.94), rgba(7,8,11,.92));
  color:#fff;
  text-align:left;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:"num title" "num sub";
  gap:2px 12px;
  min-height:78px;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
.torneio-tabs-v29 button:disabled { opacity:.36; cursor:not-allowed; }
.torneio-tabs-v29 button strong {
  grid-area:num;
  width:38px;height:38px;
  border-radius:14px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#ff4b45;
}
.torneio-tabs-v29 button span { grid-area:title; font-weight:1000; letter-spacing:.08em; }
.torneio-tabs-v29 button small { grid-area:sub; color:#a1a1aa; }
.torneio-tabs-v29 button.active {
  background:linear-gradient(135deg, rgba(225,6,0,.25), rgba(18,20,25,.96));
  border-color:rgba(225,6,0,.45);
  box-shadow:0 0 0 1px rgba(225,6,0,.18), 0 24px 48px rgba(225,6,0,.12);
}
.torneio-tabs-v29 button.active strong { background:#e10600; color:#fff; border-color:#ff3434; }
.torneio-shell-v29 { display:grid; grid-template-columns:320px minmax(0,1fr); gap:18px; align-items:start; }
.torneio-events-v29, .torneio-workspace-v29 { min-width:0; }
.torneio-events-v29 {
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  padding:16px;
  background:linear-gradient(180deg, rgba(16,18,23,.95), rgba(7,8,11,.94));
  box-shadow:0 18px 40px rgba(0,0,0,.25);
  position:sticky;
  top:104px;
}
.torneio-event-list-v29 { display:grid; gap:10px; }
.torneio-event-v29 {
  width:100%;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:14px;
  background:rgba(0,0,0,.20);
  color:#fff;
  text-align:left;
  display:grid;
  gap:4px;
}
.torneio-event-v29 strong { letter-spacing:.06em; text-transform:uppercase; }
.torneio-event-v29 span { color:#a1a1aa; font-size:.85rem; }
.torneio-event-v29.active { border-color:rgba(225,6,0,.45); background:linear-gradient(135deg, rgba(225,6,0,.18), rgba(0,0,0,.28)); }
.tournament-panel-v29 { margin-bottom:18px; }
.tournament-form-v29 .full { grid-column:1/-1; }
.category-builder-v29 { display:grid; gap:18px; }
.category-grid-v29 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.athlete-builder-v29 {
  display:grid;
  grid-template-columns:1.35fr 1.35fr 1fr .85fr auto;
  gap:12px;
  align-items:end;
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(225,6,0,.18);
  background:linear-gradient(135deg, rgba(225,6,0,.07), rgba(255,255,255,.025));
}
.athlete-builder-v29 .actions { align-items:end; }
.draft-panel-v29 {
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  padding:14px;
  background:rgba(0,0,0,.18);
}
.draft-athletes-v29 { display:flex; flex-wrap:wrap; gap:10px; }
.draft-athlete-chip-v29 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:235px;
  max-width:100%;
  border-radius:16px;
  padding:11px 12px;
  background:linear-gradient(135deg, rgba(19,21,27,.98), rgba(8,9,12,.98));
  border:1px solid rgba(255,255,255,.10);
}
.draft-athlete-chip-v29 strong { color:#fff; letter-spacing:.05em; }
.draft-athlete-chip-v29 small { display:block; color:#a1a1aa; font-size:.72rem; margin-top:2px; }
.draft-athlete-chip-v29 button { width:30px;height:30px;border-radius:11px;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.16);color:#fff;font-weight:1000; }
.category-list-v29 { display:grid; gap:10px; }
.category-card-v29 {
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:14px;
  background:rgba(0,0,0,.18);
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}
.category-card-v29.active { border-color:rgba(225,6,0,.45); background:linear-gradient(135deg, rgba(225,6,0,.14), rgba(0,0,0,.20)); }
.category-card-v29 strong { display:block; color:#fff; letter-spacing:.07em; }
.category-card-v29 span { color:#a1a1aa; font-size:.86rem; }
.category-switcher-v29 { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.category-switcher-v29 button { border:1px solid rgba(255,255,255,.10); border-radius:14px; padding:10px 12px; color:#fff; background:rgba(0,0,0,.20); display:grid; gap:3px; text-align:left; font-weight:900; }
.category-switcher-v29 button small { color:#a1a1aa; font-weight:700; }
.category-switcher-v29 button.active { border-color:rgba(225,6,0,.50); background:rgba(225,6,0,.18); }
.fight-work-grid-v29 { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr); gap:18px; align-items:start; }
.app-bracket-v29 {
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:12px 4px 18px;
  min-height:420px;
}
.app-round-v29 { min-width:210px; display:grid; align-content:center; gap:12px; }
.app-round-v29 h4 { margin:0; color:#ff3434; letter-spacing:.16em; font-size:.75rem; text-align:center; }
.app-match-v29 {
  width:100%;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  padding:10px;
  background:rgba(7,8,11,.90);
  color:#fff;
  display:grid;
  gap:5px;
  text-align:left;
}
.app-match-v29.active { border-color:rgba(225,6,0,.62); box-shadow:0 0 0 1px rgba(225,6,0,.18); }
.app-match-v29.done { border-color:rgba(34,197,94,.32); }
.app-match-v29 > span { display:flex; justify-content:space-between; gap:8px; font-weight:900; min-width:0; }
.app-match-v29 > span:first-child { border-bottom:1px solid rgba(255,255,255,.06); padding-bottom:5px; }
.app-match-v29 > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.app-match-v29 b { flex:0 0 auto; }
.app-match-v29 small { color:#a1a1aa; text-align:center; font-size:.68rem; letter-spacing:.06em; }
.fight-panel-v29 { border-radius:24px; border:1px solid rgba(225,6,0,.18); background:linear-gradient(180deg, rgba(19,21,27,.96), rgba(7,8,11,.96)); padding:18px; display:grid; gap:16px; }
.fight-top-v29 { text-align:center; border-radius:20px; padding:16px; background:linear-gradient(135deg, rgba(225,6,0,.16), rgba(0,0,0,.22)); border:1px solid rgba(225,6,0,.22); }
.fight-top-v29 span { color:#ff3434; letter-spacing:.18em; font-weight:1000; font-size:.78rem; }
.fight-top-v29 strong { display:block; color:#fff; font-size:clamp(2.4rem,5vw,4.8rem); line-height:1; margin:8px 0; }
.fight-top-v29 small { color:#facc15; font-weight:1000; letter-spacing:.08em; }
.scoreboard-v29 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.score-side-v29 { border:1px solid rgba(255,255,255,.10); border-radius:20px; padding:14px; background:rgba(0,0,0,.20); display:grid; gap:8px; }
.score-side-v29 small { color:#ff3434; letter-spacing:.18em; font-weight:1000; font-size:.72rem; }
.score-side-v29 h4 { color:#fff; margin:0; font-size:1.2rem; line-height:1.1; }
.score-side-v29 p { color:#a1a1aa; margin:0; font-size:.78rem; min-height:18px; }
.score-side-v29 strong { font-size:4rem; color:#fff; line-height:.9; text-align:center; }
.score-side-v29 span { color:#d4d4d8; text-align:center; font-size:.78rem; font-weight:900; }
.score-buttons-v29 { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.score-buttons-v29 button { border:1px solid rgba(255,255,255,.10); border-radius:11px; background:#171a20; color:#fff; padding:9px 8px; font-weight:1000; }
.score-buttons-v29 .winner-btn { grid-column:1/-1; background:linear-gradient(135deg, rgba(34,197,94,.28), rgba(11,42,25,.86)); border-color:rgba(34,197,94,.35); }
.fight-actions-v29 button:disabled { opacity:.45; cursor:not-allowed; }

/* Projeção de torneio. */
.projection-v29 { position:fixed; inset:0; z-index:99999; background:#050507; color:#fff; overflow:hidden; }
.projection-v29-bg { position:absolute; inset:0; background:radial-gradient(circle at 12% 20%, rgba(225,6,0,.35), transparent 28%), radial-gradient(circle at 86% 70%, rgba(255,255,255,.055), transparent 28%), linear-gradient(135deg,#150306,#07080d 45%,#120304); }
.projection-v29-bg:before { content:""; position:absolute; inset:-12%; opacity:.22; background-image:linear-gradient(60deg, rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(120deg, rgba(225,6,0,.13) 1px, transparent 1px); background-size:56px 56px; }
.projection-v29-bg:after { content:"JIUSYSTEM"; position:absolute; left:50%; bottom:-6vh; transform:translateX(-50%); font-size:18vw; font-weight:1000; letter-spacing:.06em; color:rgba(255,255,255,.035); }
.projection-v29-actions { position:absolute; right:22px; top:18px; z-index:5; display:flex; gap:10px; }
.projection-v29-actions button { border:1px solid rgba(255,255,255,.16); border-radius:14px; padding:12px 16px; background:rgba(10,12,16,.86); color:#fff; font-weight:1000; letter-spacing:.05em; }
.projection-v29-actions button:last-child { background:linear-gradient(135deg,#ff1a12,#b80400); }
.projection-v29-stage { position:relative; z-index:1; width:100vw; height:100vh; overflow:hidden; padding:18px; }
.tv2-header { text-align:center; padding:6px 120px 8px; }
.tv2-header span { color:#ff3434; letter-spacing:.55em; font-weight:1000; font-size:clamp(10px,1vw,16px); }
.tv2-header h1 { margin:6px 0 2px; color:#fff; text-transform:uppercase; letter-spacing:.08em; line-height:.9; font-size:clamp(34px,5.2vw,86px); }
.tv2-header p { margin:0; color:#d4d4d8; font-weight:900; letter-spacing:.14em; text-transform:uppercase; font-size:clamp(11px,1vw,18px); }
.tv2-header.compact h1 { font-size:clamp(38px,5.8vw,96px); }
.tv2-bracket-screen { height:100%; display:grid; grid-template-rows:auto 1fr; gap:12px; }
.tv2-bracket-stage { min-height:0; height:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,280px) minmax(0,1fr); gap:18px; align-items:center; padding:10px 20px 26px; }
.tv2-side { min-width:0; height:100%; display:grid; grid-auto-flow:column; grid-auto-columns:minmax(130px,1fr); gap:12px; align-items:stretch; }
.tv2-side.left { direction:ltr; }
.tv2-side.right { direction:rtl; }
.tv2-side.right .tv2-round { direction:ltr; }
.tv2-round { min-width:0; display:grid; grid-template-rows:auto 1fr; gap:8px; align-items:stretch; }
.tv2-round h3, .tv2-final h3 { margin:0; color:#ff3434; background:rgba(225,6,0,.18); border:1px solid rgba(225,6,0,.24); border-radius:999px; text-align:center; padding:6px 8px; font-size:clamp(8px,.78vw,13px); letter-spacing:.12em; }
.tv2-round-stack { display:flex; flex-direction:column; justify-content:space-around; gap:6px; min-height:0; }
.tv2-match { border:1px solid rgba(255,255,255,.11); border-radius:12px; background:rgba(6,8,12,.86); overflow:hidden; box-shadow:0 12px 26px rgba(0,0,0,.26); }
.tv2-match.done { border-color:rgba(34,197,94,.32); }
.tv2-fighter { display:grid; grid-template-columns:minmax(0,1fr) 28px; gap:6px; align-items:center; min-height:27px; padding:6px 8px; color:#fff; }
.tv2-fighter + .tv2-fighter { border-top:1px solid rgba(255,255,255,.07); }
.tv2-fighter.winner { background:rgba(34,197,94,.18); }
.tv2-fighter span { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:clamp(8px,.78vw,13px); font-weight:1000; letter-spacing:.03em; }
.tv2-fighter b { text-align:right; font-size:clamp(8px,.78vw,13px); }
.tv2-match small { display:block; border-top:1px solid rgba(255,255,255,.06); color:#a1a1aa; padding:4px 6px; text-align:center; font-size:clamp(7px,.62vw,10px); font-weight:900; }
.tv2-placeholder { display:grid; place-items:center; border:1px dashed rgba(255,255,255,.12); color:#777; border-radius:12px; min-height:50px; }
.tv2-final { display:grid; place-items:center; gap:16px; }
.tv2-final .tv2-match { width:100%; max-width:280px; border-color:rgba(225,6,0,.48); box-shadow:0 0 50px rgba(225,6,0,.16); }
.tv2-final .tv2-fighter { min-height:40px; }
.tv2-final .tv2-fighter span { font-size:clamp(12px,1.2vw,18px); }
.tv2-champ { width:100%; max-width:280px; text-align:center; border-radius:18px; padding:12px; background:linear-gradient(135deg, rgba(250,204,21,.16), rgba(225,6,0,.08)); border:1px solid rgba(250,204,21,.26); }
.tv2-champ span { display:block; color:#facc15; letter-spacing:.18em; font-weight:1000; font-size:.72rem; }
.tv2-champ strong { display:block; color:#fff; margin-top:4px; text-transform:uppercase; overflow-wrap:anywhere; }
.tv2-fight-screen { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr); gap:18px; }
.tv2-fight-stage { min-height:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,440px) minmax(0,1fr); gap:24px; align-items:stretch; padding:8px 20px 30px; }
.tv2-athlete { border:1px solid rgba(255,255,255,.12); border-radius:34px; background:linear-gradient(145deg, rgba(13,15,21,.95), rgba(3,4,7,.90)); padding:clamp(20px,2.4vw,38px); display:grid; grid-template-rows:auto auto auto 1fr auto; align-items:center; text-align:center; overflow:hidden; box-shadow:0 32px 90px rgba(0,0,0,.55); }
.tv2-athlete.red { border-left:8px solid #e10600; }
.tv2-athlete.blue { border-right:8px solid #3b82f6; }
.tv2-athlete small { color:#ff3434; letter-spacing:.40em; font-weight:1000; font-size:clamp(12px,1vw,18px); }
.tv2-athlete h2 { margin:16px 0 2px; color:#fff; text-transform:uppercase; letter-spacing:.04em; font-size:clamp(34px,4.5vw,78px); line-height:1; overflow-wrap:anywhere; }
.tv2-athlete p { margin:0; min-height:24px; color:#c9cbd1; font-weight:900; letter-spacing:.10em; text-transform:uppercase; }
.tv2-athlete b { align-self:center; color:#fff; font-size:clamp(90px,13vw,230px); line-height:.8; text-shadow:0 0 34px rgba(255,255,255,.14); }
.tv2-athlete em { color:#fff; font-style:normal; font-weight:1000; letter-spacing:.12em; }
.tv2-center { align-self:center; display:grid; gap:18px; text-align:center; }
.tv2-round-pill { justify-self:center; border-radius:999px; padding:12px 30px; border:1px solid rgba(225,6,0,.35); color:#ff3434; font-weight:1000; letter-spacing:.20em; }
.tv2-clock { border-radius:30px; border:1px solid rgba(225,6,0,.44); background:linear-gradient(135deg, rgba(225,6,0,.24), rgba(0,0,0,.60)); padding:30px 22px; color:#fff; font-size:clamp(76px,10vw,170px); line-height:.85; font-weight:1000; box-shadow:0 0 80px rgba(225,6,0,.13); }
.tv2-status { border-radius:999px; padding:16px 22px; background:rgba(0,0,0,.44); border:1px solid rgba(255,255,255,.12); color:#facc15; font-weight:1000; letter-spacing:.12em; font-size:clamp(14px,1.4vw,26px); }
@media (max-width: 1150px) {
  .torneio-shell-v29, .fight-work-grid-v29 { grid-template-columns:1fr; }
  .torneio-events-v29 { position:relative; top:auto; }
  .category-grid-v29 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .athlete-builder-v29 { grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px) {
  .torneio-tabs-v29, .category-grid-v29, .scoreboard-v29 { grid-template-columns:1fr; }
  .category-card-v29, .torneio-hero-v29 { flex-direction:column; align-items:stretch; }
}

/* Identidade visual de atletas no torneio. */
.athlete-builder-v30 {
  grid-template-columns: 1.3fr 1.25fr 1fr .85fr .8fr auto;
}
.tournament-athlete-id {
  min-width: 0;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  align-items: center;
  gap: 10px;
}
.tournament-athlete-id img {
  width: 58px;
  height: 19px;
  object-fit: contain;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.42));
}
.tournament-athlete-id div { min-width: 0; }
.tournament-athlete-id strong {
  display: block;
  color: #fff;
  letter-spacing: .04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
}
.tournament-athlete-id small {
  display: block;
  color: #a1a1aa;
  font-size: .70rem;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
}
.tournament-athlete-id.compact {
  grid-template-columns: 42px minmax(0,1fr);
  gap: 7px;
}
.tournament-athlete-id.compact img { width: 42px; height: 14px; }
.tournament-athlete-id.compact small { font-size: .58rem; }
.free-belt-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  color: #d4d4d8;
  font-size: .58rem;
  font-weight: 1000;
  letter-spacing: .08em;
}
.tournament-athlete-id.compact .free-belt-pill { width: 42px; height: 18px; font-size: .48rem; }
.draft-athlete-chip-v30 { min-width: 310px; padding: 12px; }
.match-athlete-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) 26px;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.match-athlete-row + .match-athlete-row {
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 6px;
}
.app-match-v30 span { display: initial; }
.score-side-v30 .tournament-athlete-id {
  grid-template-columns: 72px minmax(0,1fr);
  padding: 8px 0 4px;
}
.score-side-v30 .tournament-athlete-id img { width: 72px; height: 24px; }
.score-side-v30 .free-belt-pill { width: 72px; }
.tv2-athlete-visual {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 0;
  margin: 14px 0 6px;
}
.tv2-athlete-visual img {
  width: min(220px, 52%);
  height: auto;
  max-height: 54px;
  object-fit: contain;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.45));
}
.tv2-athlete-visual em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: #d4d4d8;
  font-style: normal;
  font-weight: 1000;
  letter-spacing: .12em;
}
.tv2-athlete-visual span {
  max-width: 100%;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: clamp(32px,4.2vw,72px);
  font-weight: 1000;
  line-height: 1;
  text-align: center;
  overflow-wrap: anywhere;
}
.tv2-athlete-visual small {
  color: #c9cbd1;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  text-align: center;
}
.tv2-athlete-visual.compact {
  grid-template-columns: 34px minmax(0,1fr);
  display: grid;
  justify-items: stretch;
  align-items: center;
  gap: 6px;
  margin: 0;
}
.tv2-athlete-visual.compact img { width: 34px; max-height: 13px; }
.tv2-athlete-visual.compact em { padding: 3px 5px; font-size: .48rem; }
.tv2-athlete-visual.compact span {
  font-size: clamp(8px,.78vw,13px);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tv2-fighter { grid-template-columns: minmax(0,1fr) 28px; }
@media (max-width: 1150px) {
  .athlete-builder-v30 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .athlete-builder-v30 { grid-template-columns: 1fr; }
  .draft-athlete-chip-v30 { min-width: 100%; }
}

/* Inscrição contínua em categorias de torneio. */
.category-live-add-v31 {
  border-color: rgba(225,6,0,.26);
  background:
    linear-gradient(135deg, rgba(225,6,0,.10), rgba(0,0,0,.22) 42%, rgba(255,255,255,.025));
}
.athlete-builder-v31 {
  margin-top: 8px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(0,0,0,.20);
}
.live-athletes-panel-v31 { margin-top: 16px; }
.live-athletes-v31 { align-items: stretch; }
.live-athlete-chip-v31 {
  border-color: rgba(255,255,255,.13);
  background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(0,0,0,.20));
}
.live-athlete-chip-v31:hover { border-color: rgba(225,6,0,.42); }

/* Projeção de chaves em fila infinita e legibilidade de TV. */
.projection-v32 .projection-v29-stage { padding: 14px 18px; }
.projection-v32 .tv2-header { padding: 2px 120px 8px; }
.projection-v32 .tv2-header span { font-size: clamp(12px, 1.05vw, 18px); letter-spacing: .46em; }
.projection-v32 .tv2-header h1 { font-size: clamp(42px, 5.8vw, 94px); letter-spacing: .06em; }
.projection-v32 .tv2-header p { font-size: clamp(13px, 1.05vw, 20px); }
.projection-v32 .tv2-bracket-stage {
  grid-template-columns: minmax(0, 1.16fr) minmax(260px, 360px) minmax(0, 1.16fr);
  gap: clamp(18px, 2vw, 34px);
  padding: 8px clamp(20px, 3vw, 56px) 28px;
}
.projection-v32 .tv2-side { grid-auto-columns: minmax(210px, 1fr); gap: clamp(14px, 1.4vw, 24px); }
.projection-v32 .tv2-round h3,
.projection-v32 .tv2-final h3 { font-size: clamp(11px, .95vw, 16px); padding: 7px 10px; }
.projection-v32 .tv2-round-stack { gap: clamp(8px, .8vw, 14px); }
.projection-v32 .tv2-match { border-radius: 15px; border-color: rgba(255,255,255,.18); background: rgba(5,7,12,.92); box-shadow: 0 18px 44px rgba(0,0,0,.32); }
.projection-v32 .tv2-fighter { min-height: 38px; padding: 8px 10px; grid-template-columns: minmax(0,1fr) 34px; }
.projection-v32 .tv2-fighter span { font-size: clamp(13px, 1.05vw, 18px); letter-spacing: .035em; }
.projection-v32 .tv2-fighter b { font-size: clamp(12px, 1vw, 18px); }
.projection-v32 .tv2-match small { font-size: clamp(9px, .72vw, 12px); padding: 5px 6px; }
.projection-v32 .tv2-athlete-visual.compact { grid-template-columns: 44px minmax(0,1fr); gap: 9px; }
.projection-v32 .tv2-athlete-visual.compact img { width: 44px; max-height: 17px; }
.projection-v32 .tv2-athlete-visual.compact em { font-size: .62rem; padding: 4px 7px; }
.projection-v32 .tv2-final .tv2-match { max-width: 360px; }
.projection-v32 .tv2-final .tv2-fighter { min-height: 50px; padding: 10px 14px; }
.projection-v32 .tv2-final .tv2-fighter span { font-size: clamp(16px, 1.4vw, 24px); }
.projection-v32 .tv2-champ { max-width: 360px; padding: 14px; }
.projection-v32 .tv2-champ strong { font-size: clamp(18px, 1.6vw, 28px); }

.projection-v32 .tv2-bracket-screen.size-32 .tv2-header h1,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-header h1 { font-size: clamp(32px, 4.2vw, 70px); }
.projection-v32 .tv2-bracket-screen.size-32 .tv2-bracket-stage,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-bracket-stage { grid-template-columns: minmax(0,1.22fr) minmax(220px,300px) minmax(0,1.22fr); gap: 14px; padding-left: 20px; padding-right: 20px; }
.projection-v32 .tv2-bracket-screen.size-32 .tv2-side,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-side { grid-auto-columns: minmax(150px, 1fr); gap: 9px; }
.projection-v32 .tv2-bracket-screen.size-32 .tv2-fighter,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-fighter { min-height: 27px; padding: 5px 7px; grid-template-columns:minmax(0,1fr) 24px; }
.projection-v32 .tv2-bracket-screen.size-32 .tv2-athlete-visual.compact,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-athlete-visual.compact { grid-template-columns: 30px minmax(0,1fr); gap:5px; }
.projection-v32 .tv2-bracket-screen.size-32 .tv2-athlete-visual.compact img,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-athlete-visual.compact img { width:30px; max-height:12px; }
.projection-v32 .tv2-bracket-screen.size-32 .tv2-fighter span,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-fighter span { font-size: clamp(9px, .74vw, 13px); }
.projection-v32 .tv2-bracket-screen.size-32 .tv2-match small,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-match small { font-size: 8px; padding: 3px 5px; }
.projection-v32 .tv2-bracket-screen.size-64 .tv2-side { grid-auto-columns: minmax(116px, 1fr); gap:6px; }
.projection-v32 .tv2-bracket-screen.size-64 .tv2-fighter { min-height: 20px; padding: 3px 5px; }
.projection-v32 .tv2-bracket-screen.size-64 .tv2-fighter span { font-size: 8px; }
.projection-v32 .tv2-bracket-screen.size-64 .tv2-athlete-visual.compact { grid-template-columns: 0 minmax(0,1fr); }
.projection-v32 .tv2-bracket-screen.size-64 .tv2-athlete-visual.compact img,
.projection-v32 .tv2-bracket-screen.size-64 .tv2-athlete-visual.compact em { display:none; }

.tv2-carousel-screen { height:100%; overflow:hidden; position:relative; }
.tv2-carousel-screen:before {
  content:"TRANSMISSÃO DE CHAVES";
  position:absolute; left:28px; top:20px; z-index:3;
  color:#ff3434; font-weight:1000; letter-spacing:.28em; font-size:12px;
}
.tv2-carousel-track {
  height: calc(200% * var(--slides));
  animation: tv2BracketRoll var(--duration) linear infinite;
  will-change: transform;
}
.tv2-carousel-track:hover { animation-play-state: paused; }
.tv2-category-slide { height:100vh; min-height:100vh; padding-top: 20px; box-sizing:border-box; }
@keyframes tv2BracketRoll {
  from { transform: translateY(0); }
  to { transform: translateY(calc(-100vh * var(--slides))); }
}

@media (max-width: 900px) {
  .projection-v32 .tv2-bracket-stage { grid-template-columns: 1fr; overflow:auto; align-items:start; }
  .projection-v32 .tv2-side { grid-auto-flow: row; grid-auto-columns:auto; }
  .tv2-carousel-track { animation: none; height:auto; }
  .tv2-category-slide { height:auto; min-height:100vh; }
}

/* Ajustes visuais pontuais da base de torneios. */
.app-match-v30 .tournament-athlete-id.compact {
  grid-template-columns: 54px minmax(150px, 1fr);
  width: 100%;
  max-width: none;
  overflow: visible;
}
.app-match-v30 .tournament-athlete-id.compact img {
  width: 54px;
  height: 18px;
}
.app-match-v30 .tournament-athlete-id.compact strong,
.score-side-v30 .tournament-athlete-id strong {
  white-space: normal;
  overflow: visible;
  text-overflow: initial;
  overflow-wrap: anywhere;
  line-height: 1.1;
}
.app-match-v30 .tournament-athlete-id.compact small,
.score-side-v30 .tournament-athlete-id small {
  white-space: normal;
  overflow: visible;
  text-overflow: initial;
}
.match-athlete-row {
  grid-template-columns: minmax(0, 1fr) 38px;
}
.score-side-v30 .tournament-athlete-id {
  grid-template-columns: 86px minmax(0,1fr);
}
.score-side-v30 .tournament-athlete-id img,
.score-side-v30 .free-belt-pill {
  width: 86px;
}
@media (max-width: 720px) {
  .app-match-v30 .tournament-athlete-id.compact {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .app-match-v30 .tournament-athlete-id.compact img {
    width: 48px;
  }
}

.tournament-fight-stack-v37,
.fight-work-grid-v29.tournament-fight-stack-v37 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 22px !important;
  align-items: stretch !important;
}
.tournament-bracket-area-v37,
.tournament-operator-area-v37 {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(9,10,14,.72), rgba(0,0,0,.18));
  padding: 14px;
}
.mini-section-head-v37 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.mini-section-head-v37 strong {
  color: #fff;
  letter-spacing: .12em;
  font-weight: 1000;
  text-transform: uppercase;
}
.mini-section-head-v37 span {
  color: #a1a1aa;
  font-size: .82rem;
  text-align: right;
}
.tournament-fight-stack-v37 .app-bracket-v29 {
  min-height: 260px;
  padding: 10px 4px 14px;
  align-items: center;
}
.tournament-fight-stack-v37 .app-round-v29 {
  min-width: 250px;
}
.tournament-fight-stack-v37 .app-match-v29 {
  min-height: 88px;
}
.tournament-fight-stack-v37 .match-athlete-row {
  grid-template-columns: minmax(0, 1fr) 44px !important;
}
.tournament-fight-stack-v37 .app-match-v30 .tournament-athlete-id.compact {
  grid-template-columns: 54px minmax(0,1fr) !important;
}
.tournament-fight-stack-v37 .app-match-v30 .tournament-athlete-id.compact strong {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.tournament-fight-stack-v37 .fight-panel-v29 {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
}
.tournament-fight-stack-v37 .scoreboard-v29 {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 16px;
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id {
  grid-template-columns: 72px minmax(0,1fr) !important;
  align-items: center;
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id img,
.tournament-fight-stack-v37 .score-side-v30 .free-belt-pill {
  width: 72px !important;
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id strong {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: clamp(1rem, 2.2vw, 1.45rem);
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id small {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.tournament-fight-stack-v37 .score-side-v29 strong[id^="score"] {
  font-size: clamp(3.4rem, 8vw, 5.8rem);
}
@media (max-width: 860px) {
  .tournament-fight-stack-v37 .scoreboard-v29 { grid-template-columns: 1fr; }
  .mini-section-head-v37 { flex-direction: column; align-items: flex-start; }
  .mini-section-head-v37 span { text-align: left; }
}

.tournament-fight-stack-v37 .score-side-v30 {
  text-align: center !important;
  justify-items: center !important;
  align-items: stretch !important;
  overflow: hidden !important;
}
.tournament-fight-stack-v37 .score-side-v30 > small {
  width: 100% !important;
  text-align: center !important;
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 8px 0 2px !important;
  min-width: 0 !important;
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id img,
.tournament-fight-stack-v37 .score-side-v30 .free-belt-pill {
  width: min(132px, 78%) !important;
  height: 30px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  flex: 0 0 auto !important;
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id div {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  justify-items: center !important;
  text-align: center !important;
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id strong {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
  line-height: 1.08 !important;
  font-size: clamp(1.05rem, 2vw, 1.55rem) !important;
}
.tournament-fight-stack-v37 .score-side-v30 .tournament-athlete-id small {
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 1.16 !important;
  font-size: .72rem !important;
}
.tournament-fight-stack-v37 .score-side-v29 strong[id^="score"] {
  width: 100% !important;
  text-align: center !important;
  margin-top: 2px !important;
}

/* Ações oficiais da projeção no painel de lutas. */
.torneio-lutas-title-v55 { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:14px !important; flex-wrap:wrap !important; }
.torneio-projection-actions-v55 { display:flex !important; align-items:center !important; justify-content:flex-end !important; gap:8px !important; flex-wrap:wrap !important; visibility:visible !important; opacity:1 !important; }
.torneio-projection-actions-v55 #printCategoriaBtn { display:inline-flex !important; align-items:center !important; justify-content:center !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
.torneio-projection-actions-v55 #projectBracketBtn,
.torneio-projection-actions-v55 #projectFightBtn { display:inline-flex !important; align-items:center !important; justify-content:center !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
@media (max-width: 760px) { .torneio-lutas-title-v55 { display:grid !important; } .torneio-projection-actions-v55 { display:flex !important; gap:4px !important; } .torneio-projection-actions-v55 #projectBracketBtn, .torneio-projection-actions-v55 #projectFightBtn { display:none !important; } .torneio-projection-actions-v55 button { flex:1; min-width:0; } .torneio-projection-actions-v55 #printCategoriaBtn { flex:1; } }

.tournament-fight-stack-v37 .app-match-v30 .tournament-athlete-id.compact.bracket-preview-athlete-v621,
.app-match-v30 .tournament-athlete-id.compact.bracket-preview-athlete-v621 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  justify-items: start !important;
  align-items: start !important;
  gap: 3px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.app-match-v30 .tournament-athlete-id.compact.bracket-preview-athlete-v621 img,
.tournament-fight-stack-v37 .app-match-v30 .tournament-athlete-id.compact.bracket-preview-athlete-v621 img {
  display: block !important;
  width: 54px !important;
  height: 16px !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 !important;
}
.app-match-v30 .tournament-athlete-id.compact.bracket-preview-athlete-v621 .free-belt-pill,
.tournament-fight-stack-v37 .app-match-v30 .tournament-athlete-id.compact.bracket-preview-athlete-v621 .free-belt-pill {
  width: 48px !important;
  height: 18px !important;
  font-size: .52rem !important;
  margin: 0 !important;
}
.app-match-v30 .tournament-athlete-id.compact.bracket-preview-athlete-v621 strong,
.tournament-fight-stack-v37 .app-match-v30 .tournament-athlete-id.compact.bracket-preview-athlete-v621 strong {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  color: #fff !important;
  font-size: .74rem !important;
  line-height: 1.08 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.app-match-v30 .tournament-athlete-id.compac