*{box-sizing:border-box}body{margin:0;background:#03100c;color:#eef7f1;font:16px Arial,sans-serif;overflow:hidden}main{width:100vw;height:100vh;padding:12px;background:radial-gradient(circle at 50% 0,#0b3a28,#03100c 55%)}header{height:9vh;display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;border-bottom:2px solid #18c879}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:4.8vw;height:4.8vw;object-fit:contain;filter:drop-shadow(0 0 9px #000);transform:translateY(-4px)}.brand b,.title{font-size:1.75vw}.brand span,.title span{color:#2be47f}.brand small,.title small,.live small{display:block;font-size:.6vw;letter-spacing:2px}.title{text-align:center;font-weight:900}.live{text-align:right;color:#fff;font-weight:bold;font-size:1.2vw;transform:translateY(-5px)}.live-badge{display:inline-flex;align-items:center;gap:7px;background:#e51e2a;border-radius:5px;padding:6px 10px}.live small{margin-top:7px}.live-badge i,.live-status i{width:9px;height:9px;background:#fff;border-radius:50%;display:inline-block}.cards{height:12vh;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 0}.card,.panel{border:1px solid #15955e;border-radius:10px;background:rgba(3,25,18,.9);box-shadow:inset 0 0 20px #062d20}.card{padding:10px;text-align:center}.card b{display:block;font-size:2.2vw;color:#f4d64c}.card:nth-child(2) b,.card:nth-child(3) b{color:#35e486}.card small{font-weight:bold}.grid{height:51vh;display:grid;grid-template-columns:60% 40%;gap:8px}.right{display:grid;grid-template-rows:56% 44%;gap:8px}.panel{padding:8px;overflow:hidden}.panel h2{font-size:1vw;margin:0 0 6px;border-bottom:1px solid #166845;padding-bottom:5px}table{width:100%;border-collapse:collapse;font-size:.72vw}th,td{padding:4.5px;border-bottom:1px solid #174b38}th{color:#b9d4c7}.match-row.is-live{background:linear-gradient(90deg,rgba(229,30,42,.20),rgba(229,30,42,.05))}.match-row.is-closed{background:rgba(18,185,101,.035)}.match-row.is-half{background:rgba(255,211,78,.10)}.match-row.is-wait{opacity:.78}.res{font-weight:900;text-align:center;border-radius:4px;min-width:25px}.r1{background:#12b965}.rX{background:#e2b72b;color:#111}.r2{background:#e64040}.match-status{display:inline-flex;align-items:center;gap:5px;font-size:.58vw;font-weight:900;white-space:nowrap}.match-status i{width:8px;height:8px;border-radius:50%;display:inline-block}.live-status{color:#ff4c57}.live-status i{background:#ff2f3c;box-shadow:0 0 8px #ff2f3c;animation:pulse 1.15s infinite}.closed-status{color:#48de8f}.closed-status i{background:#25d47a}.half-status{color:#ffd34e}.half-status i{background:#ffd34e;box-shadow:0 0 8px #ffd34e}.wait-status{color:#aab7b1}.wait-status i{background:#7c8a84}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.38;transform:scale(.72)}}.pool{display:grid;grid-template-columns:44px 1.15fr repeat(3,.62fr);align-items:center;gap:4px;border:1px solid #174b38;border-radius:7px;padding:5px;min-height:72px}#pools{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pool .badge{font-size:1.2vw;padding:7px}.pool .num{font-size:.9vw}.pool small{font-size:.58vw}.badge{font-size:1.4vw;font-weight:900;text-align:center;border-radius:7px;padding:8px;background:#1670c5}.badge1{background:#18a85f}.badge2{background:#d68919}.badge3{background:#d93648}.pool b{color:#42e68b}.pool .num{text-align:center;font-size:1.15vw;font-weight:900}.single{display:grid;grid-template-columns:90px repeat(14,1fr);gap:3px;margin:5px 0;align-items:center;font-size:.65vw}.pick{text-align:center;padding:5px 1px;border-radius:3px;background:#30423b}.ok{background:#13b866}.bad{background:#d33b46}.wait{background:#43534d}.bottom{height:22vh;display:grid;grid-template-columns:27% 32% 41%;gap:8px;padding-top:8px}.rankrow,.barrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px;font-size:.72vw}.bar{height:13px;background:#243c32;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:#31ce78}.need{text-align:center}.need .game{font-size:1.15vw;font-weight:bold;margin:8px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.choice{padding:8px;border:1px solid #277a58;border-radius:6px}.choice b{font-size:1.2vw;color:#f4d64c}footer{height:5vh;display:flex;align-items:center;justify-content:space-between;font-size:.8vw;font-weight:bold;color:#d9eee3}.footer-brand{display:flex;align-items:center;gap:6px}.footer-brand img{height:3.2vh;width:3.2vh;object-fit:contain}footer>span:nth-child(2){font-size:1vw;color:#fff}@media(max-width:1000px){body{overflow:auto}main{height:auto}.grid,.bottom{height:auto;grid-template-columns:1fr}.cards{height:auto}.right{grid-template-rows:auto}.brand b,.title{font-size:20px}.brand-logo{width:58px;height:58px}table{font-size:12px}.match-status{font-size:10px}}

#dist{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;align-content:start}.barrow{grid-template-columns:.55fr 1.3fr .8fr;padding:2px 3px;font-size:.66vw}.bar{height:11px}.pool.inactive{opacity:.55;grid-template-columns:44px 1fr .6fr}.empty-pool{font-size:1.4vw;text-align:center}.inactive-single{opacity:.55}.notfilled{grid-column:2/16;text-align:center;padding:6px;border:1px dashed #456;border-radius:4px;color:#aab7b1}.target{font-size:.75vw;color:#b9d4c7;margin:-3px 0 6px}

.history-line{display:block;margin-top:-1px;transform:translateY(-2px);color:#f4d64c;font-style:normal;font-size:.57vw;letter-spacing:.6px;white-space:nowrap}.history-line b{color:#fff}
.goal-banner{position:fixed;z-index:9999;top:9.4vh;left:50%;transform:translate(-50%,-150%);width:min(860px,62vw);padding:12px 24px;border:2px solid #36e78c;border-radius:14px;background:linear-gradient(135deg,rgba(5,43,30,.98),rgba(1,17,12,.98));box-shadow:0 12px 45px #000,0 0 35px rgba(54,231,140,.35);text-align:center;opacity:0;pointer-events:none}
.goal-banner.show{animation:goalInOut 6s ease forwards}.goal-kicker{font-size:1.6vw;font-weight:1000;color:#ffe05c;text-shadow:0 0 12px rgba(255,224,92,.45)}.goal-team{font-size:1.3vw;font-weight:1000;color:#42ef94;margin-top:1px}.goal-score{font-size:1vw;margin-top:2px}.goal-score b{font-size:1.25vw;color:#fff}.goal-impact{margin-top:6px;font-size:.78vw;color:#d9eee3}.goal-impact b{color:#ffe05c}
@keyframes goalInOut{0%{opacity:0;transform:translate(-50%,-140%) scale(.94)}7%{opacity:1;transform:translate(-50%,0) scale(1.02)}13%{transform:translate(-50%,0) scale(1)}86%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-130%)}}

/* V2.5 — marcador de GOL na própria linha por aproximadamente 10 s */
.status-wrap{display:flex;align-items:center;gap:7px;white-space:nowrap}
.goal-row-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:linear-gradient(90deg,#ef233c,#b8071f);color:#fff;font-size:.56vw;font-weight:1000;letter-spacing:.6px;box-shadow:0 0 10px rgba(239,35,60,.55);animation:goalPill 1s ease-in-out infinite}
.goal-row-badge i{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 7px #fff}
@keyframes goalPill{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.25)}}
@media(max-width:1000px){.goal-row-badge{font-size:9px}}


/* V2.7 — alinhamento fixo da tabela */
#matchesTable{table-layout:fixed}
#matchesTable th:nth-child(1),#matchesTable td:nth-child(1){width:5%;text-align:center}
#matchesTable th:nth-child(2),#matchesTable td:nth-child(2){width:27%;text-align:center}
#matchesTable th:nth-child(3),#matchesTable td:nth-child(3){width:14%;text-align:center}
#matchesTable th:nth-child(4),#matchesTable td:nth-child(4){width:27%;text-align:center}
#matchesTable th:nth-child(5),#matchesTable td:nth-child(5){width:10%;text-align:center}
#matchesTable th:nth-child(6),#matchesTable td:nth-child(6){width:17%;text-align:center}
#matchesTable td:nth-child(2),#matchesTable td:nth-child(4){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#matchesTable td:nth-child(3) b{display:block;width:100%;text-align:center}
#matchesTable td:nth-child(5) .res{margin:0 auto}
#matchesTable td:nth-child(6) .status-wrap{justify-content:center}

/* V2.7 — rodada encerrada / premiação */
.round-banner{position:fixed;z-index:9998;left:50%;top:17vh;transform:translate(-50%,-160%);opacity:0;width:min(900px,68vw);padding:16px 24px;border-radius:14px;text-align:center;pointer-events:none;background:linear-gradient(135deg,rgba(18,42,31,.98),rgba(3,16,11,.98));border:2px solid #35e486;box-shadow:0 14px 50px #000,0 0 35px rgba(53,228,134,.28)}
.round-banner.show{animation:roundIn .7s ease forwards}.round-banner .round-title{font-size:1.6vw;font-weight:1000;color:#fff}.round-banner .round-prize{font-size:1.25vw;font-weight:1000;color:#ffe05c;margin-top:5px}.round-banner .round-detail{font-size:.82vw;color:#d9eee3;margin-top:5px}
@keyframes roundIn{to{opacity:1;transform:translate(-50%,0)}}
.live.auto .live-badge{background:#15995e}.live.auto small{color:#72eda6}


/* V3.0 FINAL — alertas sonoros e visuais */
.sound-toggle{margin-top:5px;padding:3px 7px;border:1px solid #2b7657;border-radius:5px;background:#0b2a1d;color:#bdebd2;font-size:.52vw;font-weight:900;cursor:pointer}.sound-toggle.on{color:#78f2ad;border-color:#26c778}.sound-toggle.off{color:#ffcf6a;border-color:#a16d18}.sound-toggle.blocked{color:#ff8f98;border-color:#b93d48}
.event-banner{position:fixed;z-index:9997;top:10vh;left:50%;transform:translate(-50%,-150%);width:min(760px,58vw);padding:12px 20px;border-radius:13px;text-align:center;opacity:0;pointer-events:none;background:linear-gradient(135deg,rgba(10,36,27,.98),rgba(2,15,11,.98));border:2px solid #ffd34e;box-shadow:0 12px 42px #000,0 0 30px rgba(255,211,78,.25)}
.event-banner.show{animation:eventInOut 5s ease forwards}.event-banner.red{border-color:#ff4454;box-shadow:0 12px 42px #000,0 0 34px rgba(255,68,84,.35)}.event-banner.final{border-color:#35e486}.event-title{font-size:1.35vw;font-weight:1000;color:#ffe16a}.event-banner.red .event-title{color:#ff6673}.event-banner.final .event-title{color:#5bf0a0}.event-game{font-size:.92vw;font-weight:900;margin-top:3px}.event-score{font-size:.8vw;margin-top:2px;color:#d8ebe1}
@keyframes eventInOut{0%{opacity:0;transform:translate(-50%,-140%) scale(.95)}8%{opacity:1;transform:translate(-50%,0) scale(1.02)}15%{transform:translate(-50%,0) scale(1)}86%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-130%)}}
@media(max-width:1000px){.sound-toggle{font-size:9px}.event-title{font-size:20px}.event-game{font-size:14px}.event-score{font-size:12px}}

.redcard-row-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:rgba(210,28,44,.18);border:1px solid rgba(255,75,89,.45);color:#ff7a86;font-size:.50vw;font-weight:900;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1000px){.redcard-row-badge{font-size:8px}}

/* AJUSTE 8772: somente preenchimento interno da coluna direita.
   IMPORTANTE: nenhuma altura externa de .grid, .right, .matches ou .bottom foi alterada. */
.right > .panel{display:flex;flex-direction:column}
.right > .panel > h2{flex:0 0 auto}
#pools{flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));align-items:stretch}
#pools .pool{min-height:0;height:100%}
#singles{flex:1;min-height:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));align-items:stretch}
#singles .single{margin:0;min-height:0;height:100%;align-items:center}

/* Read-only portal integration */
.focus-stage{display:none}.focus-live .focus-stage{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;margin:16px 0}.focus-live-games{display:grid;gap:12px}.live-match-card{background:#111e36;border:1px solid #405472;border-radius:12px;padding:15px}.live-match-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-team{display:flex;gap:10px;align-items:center}.crest{width:40px;height:40px;object-fit:contain}.focus-pools{display:grid;gap:10px}.focus-pool{display:flex;gap:15px;align-items:center;padding:12px;background:#18243a;border-radius:8px}.live-big-score{font-size:38px;font-weight:900}.live-match-head{display:flex;justify-content:space-between;margin-bottom:12px}.focus-side>.panel{margin-bottom:14px}
