:root{
  --provider-primary:#249b45;
  --provider-primary-rgb:36,155,69;
  --focus-color:var(--provider-primary);
}

/* v1.0.18 - grade esportiva em escala de TV, inspirada no painel original. */
#sportsWebview .sports-header{
  height:118px!important;
  min-height:118px!important;
  padding:18px 32px!important;
  grid-template-columns:190px minmax(0,1fr) 210px!important;
  gap:28px!important;
}
#sportsWebview .sports-header h1{font-size:42px!important;line-height:1!important;letter-spacing:-1px!important}
#sportsWebview .sports-header p{font-size:15px!important;margin-top:7px!important}
#sportsWebview .sports-back,#sportsWebview #sportsTotal{min-height:62px!important;font-size:18px!important;border-radius:14px!important}
#sportsWebview .sports-layout{
  grid-template-columns:330px minmax(0,1fr)!important;
  gap:24px!important;
  padding:22px 28px 26px!important;
  height:calc(100vh - 118px)!important;
}
#sportsWebview .sports-competitions{padding:0 10px 20px 0!important}
#sportsWebview .sports-filter{
  min-height:104px!important;
  padding:14px 18px!important;
  margin-bottom:12px!important;
  border-radius:15px!important;
  grid-template-columns:64px minmax(0,1fr) 36px!important;
  gap:15px!important;
}
#sportsWebview .sports-filter>span{width:58px!important;height:58px!important;font-size:29px!important;border-radius:50%!important}
#sportsWebview .sports-filter>strong{font-size:19px!important;line-height:1.2!important;white-space:normal!important}
#sportsWebview .sports-filter>small{font-size:18px!important}
#sportsWebview .sports-games{padding:0 8px 28px 0!important}
#sportsWebview .sports-game{
  min-height:142px!important;
  padding:14px 20px!important;
  margin-bottom:14px!important;
  border-radius:18px!important;
  grid-template-columns:130px 112px minmax(120px,1fr) 64px 102px 64px minmax(120px,1fr) 190px!important;
  gap:13px!important;
}
#sportsWebview .sports-league img{width:68px!important;height:68px!important}
#sportsWebview .sports-league small{font-size:12px!important;line-height:1.15!important;max-width:120px!important}
#sportsWebview .sports-time{font-size:18px!important;line-height:1.35!important}
#sportsWebview .sports-team{font-size:20px!important;line-height:1.18!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
#sportsWebview .sports-crest{width:58px!important;height:58px!important;object-fit:contain!important}
#sportsWebview .sports-score strong{font-size:28px!important}
#sportsWebview .sports-score small{font-size:12px!important;min-width:88px!important;padding:6px 8px!important}
#sportsWebview .sports-watch{min-height:62px!important;padding:10px 14px!important;border-radius:14px!important;gap:10px!important}
#sportsWebview .sports-watch b{font-size:25px!important}
#sportsWebview .sports-watch span{font-size:17px!important}
#sportsWebview .sports-watch small{font-size:11px!important;margin-top:3px!important}

@media (max-width:1399px){
  #sportsWebview .sports-header{height:104px!important;min-height:104px!important;padding:14px 20px!important;grid-template-columns:150px minmax(0,1fr) 170px!important;gap:18px!important}
  #sportsWebview .sports-header h1{font-size:34px!important}
  #sportsWebview .sports-header p{font-size:12px!important}
  #sportsWebview .sports-back,#sportsWebview #sportsTotal{min-height:54px!important;font-size:15px!important}
  #sportsWebview .sports-layout{grid-template-columns:258px minmax(0,1fr)!important;gap:18px!important;padding:16px 18px 20px!important;height:calc(100vh - 104px)!important}
  #sportsWebview .sports-filter{min-height:88px!important;padding:11px 13px!important;margin-bottom:10px!important;grid-template-columns:52px minmax(0,1fr) 28px!important;gap:11px!important}
  #sportsWebview .sports-filter>span{width:48px!important;height:48px!important;font-size:24px!important}
  #sportsWebview .sports-filter>strong{font-size:16px!important}
  #sportsWebview .sports-filter>small{font-size:15px!important}
  #sportsWebview .sports-game{min-height:112px!important;padding:10px 13px!important;margin-bottom:10px!important;grid-template-columns:91px 76px minmax(78px,1fr) 48px 76px 48px minmax(78px,1fr) 142px!important;gap:8px!important}
  #sportsWebview .sports-league img{width:52px!important;height:52px!important}
  #sportsWebview .sports-league small{font-size:9px!important;max-width:86px!important}
  #sportsWebview .sports-time{font-size:14px!important}
  #sportsWebview .sports-team{font-size:16px!important}
  #sportsWebview .sports-crest{width:44px!important;height:44px!important}
  #sportsWebview .sports-score strong{font-size:23px!important}
  #sportsWebview .sports-score small{font-size:9px!important;min-width:66px!important;padding:4px 5px!important}
  #sportsWebview .sports-watch{min-height:52px!important;padding:7px 9px!important}
  #sportsWebview .sports-watch b{font-size:20px!important}
  #sportsWebview .sports-watch span{font-size:14px!important}
  #sportsWebview .sports-watch small{font-size:9px!important}
}

/* v1.0.16 - paridade visual com a grade esportiva de referencia */
#sportsWebview{overflow:hidden!important}
#sportsWebview .sports-header{
  height:clamp(88px,12vh,118px)!important;
  padding:clamp(12px,1.8vh,22px) clamp(18px,2vw,36px)!important;
  grid-template-columns:clamp(120px,13vw,190px) minmax(0,1fr) clamp(130px,15vw,210px)!important;
  gap:clamp(10px,1.5vw,24px)!important;
}
#sportsWebview .sports-layout{
  height:calc(100vh - clamp(88px,12vh,118px))!important;
  grid-template-columns:clamp(180px,16vw,230px) minmax(0,1fr)!important;
  gap:clamp(6px,2vw,34px)!important;
  padding:clamp(10px,2vh,22px) clamp(8px,2vw,30px) 28px!important;
}
#sportsWebview .sports-competitions{
  padding:10px 8px!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
#sportsWebview .sports-content{
  min-width:0!important;
  padding:4px 0 28px!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
#sportsWebview .sports-competitions::-webkit-scrollbar,
#sportsWebview .sports-content::-webkit-scrollbar,
#sportsWebview .sports-games::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
#sportsWebview .sports-filter{
  min-height:clamp(54px,6.8vw,86px)!important;
  grid-template-columns:clamp(40px,3.6vw,56px) minmax(0,1fr) 30px!important;
  gap:clamp(6px,.75vw,12px)!important;
  padding:clamp(8px,1vw,14px)!important;
  border-radius:14px!important;
}
#sportsWebview .sports-filter>span{
  width:clamp(38px,3.4vw,52px)!important;
  height:clamp(38px,3.4vw,52px)!important;
  font-size:clamp(19px,1.8vw,28px)!important;
}
#sportsWebview .sports-filter>strong{font-size:clamp(10px,1.05vw,16px)!important}
#sportsWebview .sports-games{display:grid!important;gap:10px!important;height:auto!important;overflow:visible!important}
#sportsWebview .sports-game{
  min-height:clamp(76px,10vw,140px)!important;
  margin:0!important;
  padding:clamp(8px,1.2vw,16px) clamp(6px,1vw,14px)!important;
  grid-template-columns:clamp(46px,9vw,140px) clamp(40px,7.5vw,116px) minmax(42px,1fr) clamp(26px,4.8vw,68px) clamp(52px,8vw,124px) clamp(26px,4.8vw,68px) minmax(42px,1fr) clamp(68px,14vw,220px)!important;
  gap:clamp(3px,.7vw,10px)!important;
  border-radius:16px!important;
}
#sportsWebview .sports-league{width:auto!important;min-width:0!important}
#sportsWebview .sports-league img{width:clamp(30px,4.4vw,68px)!important;height:clamp(30px,4.4vw,68px)!important}
#sportsWebview .sports-league small{font-size:clamp(7px,.62vw,11px)!important}
#sportsWebview .sports-time{font-size:clamp(9px,1vw,15px)!important}
#sportsWebview .sports-team{min-width:0!important;font-size:clamp(9px,1.38vw,19px)!important;font-weight:850!important}
#sportsWebview .sports-crest{width:clamp(28px,3.8vw,56px)!important;height:clamp(28px,3.8vw,56px)!important}
#sportsWebview .sports-score strong{font-size:clamp(16px,1.8vw,27px)!important}
#sportsWebview .sports-score small{font-size:clamp(7px,.66vw,11px)!important}
#sportsWebview .sports-watch{
  width:auto!important;
  min-height:clamp(42px,6vw,66px)!important;
  padding:clamp(6px,.8vw,12px)!important;
  font-size:clamp(9px,1vw,15px)!important;
}
#sportsWebview .sports-watch small{font-size:clamp(7px,.65vw,11px)!important}

/* v1.0.20 - grade esportiva ampliada para leitura a distancia na TV */
#sportsWebview .sports-header{
  height:118px!important;padding:20px 42px!important;
  grid-template-columns:230px minmax(0,1fr) 240px!important;gap:28px!important;
}
#sportsWebview .sports-header h1{font-size:42px!important;line-height:1!important}
#sportsWebview .sports-header p,#sportsWebview .sports-header small{font-size:15px!important}
#sportsWebview .sports-layout{
  height:calc(100vh - 118px)!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:24px!important;padding:20px 34px 30px!important;
}
#sportsWebview .sports-filter{
  min-height:94px!important;grid-template-columns:64px minmax(0,1fr) 38px!important;
  gap:14px!important;padding:14px 16px!important;border-radius:18px!important;
}
#sportsWebview .sports-filter>span{width:60px!important;height:60px!important;font-size:31px!important}
#sportsWebview .sports-filter>strong{font-size:18px!important;line-height:1.2!important}
#sportsWebview .sports-games{gap:14px!important}
#sportsWebview .sports-game{
  min-height:132px!important;padding:16px 20px!important;
  grid-template-columns:112px 94px minmax(120px,1fr) 66px 104px 66px minmax(120px,1fr) 184px!important;
  gap:12px!important;border-radius:20px!important;
}
#sportsWebview .sports-league img{width:66px!important;height:66px!important}
#sportsWebview .sports-league small{font-size:11px!important}
#sportsWebview .sports-time{font-size:17px!important;line-height:1.25!important}
#sportsWebview .sports-team{font-size:20px!important;line-height:1.15!important}
#sportsWebview .sports-crest{width:62px!important;height:62px!important}
#sportsWebview .sports-score strong{font-size:28px!important}
#sportsWebview .sports-score small{font-size:11px!important}
#sportsWebview .sports-watch{min-height:68px!important;padding:12px 16px!important;font-size:17px!important}
#sportsWebview .sports-watch small{font-size:11px!important}

@media(max-width:1399px){
  #sportsWebview .sports-header{height:104px!important;padding:16px 28px!important;grid-template-columns:190px minmax(0,1fr) 190px!important}
  #sportsWebview .sports-header h1{font-size:36px!important}
  #sportsWebview .sports-layout{height:calc(100vh - 104px)!important;grid-template-columns:258px minmax(0,1fr)!important;gap:18px!important;padding:15px 22px 24px!important}
  #sportsWebview .sports-filter{min-height:82px!important;grid-template-columns:54px minmax(0,1fr) 32px!important;padding:11px 13px!important}
  #sportsWebview .sports-filter>span{width:50px!important;height:50px!important;font-size:26px!important}
  #sportsWebview .sports-filter>strong{font-size:15px!important}
  #sportsWebview .sports-game{min-height:120px!important;padding:13px 15px!important;grid-template-columns:86px 76px minmax(90px,1fr) 54px 82px 54px minmax(90px,1fr) 144px!important;gap:9px!important}
  #sportsWebview .sports-league img{width:54px!important;height:54px!important}
  #sportsWebview .sports-time{font-size:15px!important}
  #sportsWebview .sports-team{font-size:17px!important}
  #sportsWebview .sports-crest{width:50px!important;height:50px!important}
  #sportsWebview .sports-watch{min-height:60px!important;font-size:15px!important}
}

/* v1.0.19 - escala legível de TV para a grade de Esportes */
#sportsWebview .sports-header{height:118px!important;padding:20px 42px!important;grid-template-columns:230px minmax(0,1fr) 240px!important;gap:28px!important}
#sportsWebview .sports-header h1{font-size:42px!important;line-height:1!important}
#sportsWebview .sports-header p,#sportsWebview .sports-header small{font-size:17px!important}
#sportsWebview .sports-header>strong{min-height:58px!important;font-size:17px!important;border-radius:14px!important}
#sportsWebview .sports-layout{height:calc(100vh - 118px)!important;grid-template-columns:330px minmax(0,1fr)!important;gap:26px!important;padding:18px 34px 28px!important}
#sportsWebview .sports-filter{min-height:104px!important;margin-bottom:14px!important;padding:14px 18px!important;grid-template-columns:64px minmax(0,1fr) 42px!important;gap:16px!important;border-radius:18px!important}
#sportsWebview .sports-filter>span{width:60px!important;height:60px!important;font-size:32px!important}
#sportsWebview .sports-filter>strong{font-size:19px!important}
#sportsWebview .sports-filter>small{font-size:16px!important}
#sportsWebview .sports-games{gap:14px!important}
#sportsWebview .sports-game{min-height:142px!important;padding:14px 20px!important;grid-template-columns:112px 100px minmax(150px,1fr) 68px 100px 68px minmax(150px,1fr) 190px!important;gap:13px!important;border-radius:19px!important}
#sportsWebview .sports-league{width:112px!important}
#sportsWebview .sports-league img{width:66px!important;height:66px!important}
#sportsWebview .sports-league small{font-size:12px!important}
#sportsWebview .sports-time{font-size:18px!important}
#sportsWebview .sports-team{font-size:21px!important}
#sportsWebview .sports-crest{width:64px!important;height:64px!important}
#sportsWebview .sports-score strong{font-size:29px!important}
#sportsWebview .sports-score small{font-size:12px!important}
#sportsWebview .sports-watch{width:190px!important;min-height:70px!important;font-size:18px!important}
#sportsWebview .sports-watch small{font-size:12px!important}
@media (max-width:1399px){
  #sportsWebview .sports-header{height:104px!important;padding:16px 24px!important;grid-template-columns:170px minmax(0,1fr) 170px!important;gap:18px!important}
  #sportsWebview .sports-header h1{font-size:34px!important}
  #sportsWebview .sports-header p,#sportsWebview .sports-header small{font-size:14px!important}
  #sportsWebview .sports-layout{height:calc(100vh - 104px)!important;grid-template-columns:258px minmax(0,1fr)!important;gap:18px!important;padding:14px 20px 22px!important}
  #sportsWebview .sports-filter{min-height:88px!important;margin-bottom:11px!important;padding:11px 14px!important;grid-template-columns:52px minmax(0,1fr) 34px!important;gap:12px!important}
  #sportsWebview .sports-filter>span{width:50px!important;height:50px!important;font-size:26px!important}
  #sportsWebview .sports-filter>strong{font-size:16px!important}
  #sportsWebview .sports-filter>small{font-size:13px!important}
  #sportsWebview .sports-game{min-height:112px!important;padding:10px 13px!important;grid-template-columns:84px 72px minmax(105px,1fr) 48px 76px 48px minmax(105px,1fr) 130px!important;gap:8px!important}
  #sportsWebview .sports-league{width:84px!important}
  #sportsWebview .sports-league img{width:48px!important;height:48px!important}
  #sportsWebview .sports-time{font-size:14px!important}
  #sportsWebview .sports-team{font-size:16px!important}
  #sportsWebview .sports-crest{width:46px!important;height:46px!important}
  #sportsWebview .sports-watch{width:130px!important;min-height:56px!important;font-size:14px!important}
}

/* v1.0.17 - Grade esportiva na escala do layout original para TV. */
#sportsWebview{
  background:
    linear-gradient(90deg,rgba(2,18,11,.96),rgba(2,22,13,.88)),
    radial-gradient(circle at 68% 38%,rgba(41,113,62,.22),transparent 44%),
    #020d08!important;
}
#sportsWebview .sports-field{opacity:.2!important;background-size:cover!important}
#sportsWebview .sports-header{
  height:112px!important;
  padding:18px 36px!important;
  grid-template-columns:230px minmax(0,1fr) 210px!important;
  gap:24px!important;
  border-bottom:1px solid rgba(139,255,62,.18)!important;
}
#sportsWebview .sports-back{
  min-height:58px!important;
  border-radius:14px!important;
  font-size:17px!important;
}
#sportsWebview .sports-header h1{
  font-size:38px!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}
#sportsWebview .sports-header p{font-size:14px!important;letter-spacing:.14em!important}
#sportsWebview .sports-header small{font-size:14px!important}
#sportsWebview .sports-header>strong{
  min-height:58px!important;
  border-radius:14px!important;
  font-size:16px!important;
}
#sportsWebview .sports-layout{
  height:calc(100vh - 112px)!important;
  grid-template-columns:252px minmax(0,1fr)!important;
  gap:24px!important;
  padding:18px 28px 24px!important;
}
#sportsWebview .sports-competitions{padding:0 4px 24px!important}
#sportsWebview .sports-filter{
  min-height:92px!important;
  margin-bottom:10px!important;
  padding:12px 14px!important;
  grid-template-columns:58px minmax(0,1fr) 34px!important;
  gap:12px!important;
  border-radius:15px!important;
  background:rgba(5,20,12,.92)!important;
}
#sportsWebview .sports-filter>span{
  width:54px!important;
  height:54px!important;
  font-size:28px!important;
}
#sportsWebview .sports-filter>strong{
  font-size:16px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#sportsWebview .sports-filter>small{font-size:14px!important}
#sportsWebview .sports-filter.active,
#sportsWebview .sports-filter:focus{
  background:linear-gradient(135deg,rgba(42,106,18,.74),rgba(10,43,22,.96))!important;
  box-shadow:0 0 0 2px #a7ff35,0 0 24px rgba(128,255,36,.22)!important;
}
#sportsWebview .sports-content{padding:0 2px 28px!important}
#sportsWebview .sports-games{gap:12px!important}
#sportsWebview .sports-game{
  min-height:118px!important;
  padding:12px 18px!important;
  grid-template-columns:92px 92px minmax(110px,1fr) 52px 90px 52px minmax(110px,1fr) 150px!important;
  gap:11px!important;
  border-radius:18px!important;
  background:linear-gradient(90deg,rgba(3,20,11,.97),rgba(3,27,15,.9))!important;
  border:1px solid rgba(135,180,148,.2)!important;
  box-shadow:inset 4px 0 0 rgba(111,255,35,.42)!important;
}
#sportsWebview .sports-game:focus{
  border-color:#a8ff38!important;
  box-shadow:inset 5px 0 0 #a8ff38,0 0 0 2px #9336ed,0 0 24px rgba(147,54,237,.26)!important;
}
#sportsWebview .sports-league{width:92px!important}
#sportsWebview .sports-league img{width:58px!important;height:58px!important;object-fit:contain!important}
#sportsWebview .sports-league small{
  font-size:10px!important;
  line-height:1.1!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#sportsWebview .sports-time{font-size:15px!important;line-height:1.25!important;font-weight:850!important}
#sportsWebview .sports-team{
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:850!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#sportsWebview .sports-crest{width:50px!important;height:50px!important;object-fit:contain!important}
#sportsWebview .sports-score strong{font-size:24px!important}
#sportsWebview .sports-score small{
  max-width:86px!important;
  padding:5px 7px!important;
  font-size:9px!important;
  white-space:normal!important;
  line-height:1.05!important;
}
#sportsWebview .sports-watch{
  width:150px!important;
  min-height:60px!important;
  padding:9px 12px!important;
  border-radius:14px!important;
  font-size:15px!important;
  border:1px solid rgba(154,55,233,.85)!important;
}
#sportsWebview .sports-watch b{font-size:22px!important}
#sportsWebview .sports-watch small{font-size:9px!important;line-height:1.1!important}

@media (min-width:1600px){
  #sportsWebview .sports-header{height:126px!important;grid-template-columns:270px minmax(0,1fr) 240px!important;padding:20px 52px!important}
  #sportsWebview .sports-header h1{font-size:44px!important}
  #sportsWebview .sports-layout{height:calc(100vh - 126px)!important;grid-template-columns:290px minmax(0,1fr)!important;gap:34px!important;padding:22px 46px 30px!important}
  #sportsWebview .sports-filter{min-height:104px!important;grid-template-columns:66px minmax(0,1fr) 38px!important}
  #sportsWebview .sports-filter>span{width:62px!important;height:62px!important;font-size:32px!important}
  #sportsWebview .sports-filter>strong{font-size:19px!important}
  #sportsWebview .sports-game{min-height:136px!important;grid-template-columns:108px 108px minmax(145px,1fr) 64px 104px 64px minmax(145px,1fr) 190px!important;gap:15px!important;padding:15px 24px!important}
  #sportsWebview .sports-league{width:108px!important}
  #sportsWebview .sports-league img{width:68px!important;height:68px!important}
  #sportsWebview .sports-time{font-size:18px!important}
  #sportsWebview .sports-team{font-size:22px!important}
  #sportsWebview .sports-crest{width:62px!important;height:62px!important}
  #sportsWebview .sports-watch{width:190px!important;min-height:70px!important;font-size:18px!important}
}

@media (max-width:1100px){
  #sportsWebview .sports-header{height:98px!important;padding:14px 20px!important;grid-template-columns:180px minmax(0,1fr) 160px!important}
  #sportsWebview .sports-header h1{font-size:30px!important}
  #sportsWebview .sports-layout{height:calc(100vh - 98px)!important;grid-template-columns:210px minmax(0,1fr)!important;gap:14px!important;padding:12px 16px 20px!important}
  #sportsWebview .sports-filter{min-height:76px!important;grid-template-columns:46px minmax(0,1fr) 28px!important;padding:9px 10px!important}
  #sportsWebview .sports-filter>span{width:42px!important;height:42px!important;font-size:22px!important}
  #sportsWebview .sports-filter>strong{font-size:13px!important}
  #sportsWebview .sports-game{min-height:92px!important;grid-template-columns:64px 60px minmax(75px,1fr) 38px 64px 38px minmax(75px,1fr) 105px!important;gap:6px!important;padding:8px 10px!important}
  #sportsWebview .sports-league{width:64px!important}
  #sportsWebview .sports-league img{width:40px!important;height:40px!important}
  #sportsWebview .sports-time{font-size:12px!important}
  #sportsWebview .sports-team{font-size:13px!important}
  #sportsWebview .sports-crest{width:36px!important;height:36px!important}
  #sportsWebview .sports-watch{width:105px!important;min-height:48px!important;font-size:12px!important}
}

/* Provider identity and legacy webOS layout compatibility */
:root{--provider-logo:url("brand-logo.png")}
.brand-mark{background-image:var(--provider-logo)!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}
.focusable:focus,.nav-item:focus,.group-button:focus,.browser-channel:focus,.media-card:focus,.sports-filter:focus,.sports-game:focus,.settings-options button:focus{
  border-color:var(--provider-primary)!important;
  box-shadow:0 0 0 3px rgba(var(--provider-primary-rgb),.72),0 0 24px rgba(var(--provider-primary-rgb),.4)!important;
  outline:0!important;
}
.nav-item.active,.group-button.active,.browser-channel.active,.sports-filter.active,.settings-options button.active{
  border-color:var(--provider-primary)!important;
  background:linear-gradient(100deg,rgba(var(--provider-primary-rgb),.34),rgba(var(--provider-primary-rgb),.10))!important;
  color:#fff!important;
}
.primary,.provider-live,.sports-game:before,.loading-bar>i{background-color:var(--provider-primary)!important}

#sportsWebview .sports-layout{display:flex!important;width:100%!important;height:calc(100vh - 116px)!important;min-height:0!important;overflow:hidden!important}
#sportsWebview .sports-competitions{flex:0 0 260px!important;width:260px!important;min-width:260px!important;padding:14px!important;box-sizing:border-box!important;overflow-y:auto!important}
#sportsWebview .sports-content{flex:1 1 auto!important;width:auto!important;min-width:0!important;padding:14px 18px!important;box-sizing:border-box!important;overflow-y:auto!important}
#sportsWebview .sports-filter{display:flex!important;align-items:center!important;width:100%!important;min-height:68px!important;padding:10px 12px!important;gap:12px!important;box-sizing:border-box!important;border-radius:14px!important;text-align:left!important}
#sportsWebview .sports-filter>span{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 46px!important;width:46px!important;height:46px!important;margin:0!important;border-radius:50%!important;background:rgba(var(--provider-primary-rgb),.18)!important;color:#fff!important;font-size:23px!important;line-height:1!important}
#sportsWebview .sports-filter>strong{flex:1 1 auto!important;min-width:0!important;white-space:normal!important;line-height:1.15!important}
#sportsWebview .sports-filter>small{flex:0 0 30px!important;width:30px!important;text-align:center!important;color:#fff!important}
#sportsWebview .sports-game{display:flex!important;align-items:center!important;width:100%!important;min-height:92px!important;margin:0 0 10px!important;padding:10px 12px!important;gap:10px!important;box-sizing:border-box!important;border-radius:16px!important;overflow:hidden!important;text-align:left!important}
#sportsWebview .sports-league{display:flex!important;flex:0 0 82px!important;width:82px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;text-align:center!important}
#sportsWebview .sports-league img{width:42px!important;height:42px!important;object-fit:contain!important}
#sportsWebview .sports-league small{display:block!important;width:80px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:9px!important}
#sportsWebview .sports-time{flex:0 0 64px!important;width:64px!important;text-align:center!important;font-weight:800!important}
#sportsWebview .sports-team{flex:1 1 100px!important;min-width:70px!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:15px!important}
#sportsWebview .sports-team.home{text-align:right!important}
#sportsWebview .sports-crest{flex:0 0 42px!important;width:42px!important;height:42px!important;object-fit:contain!important}
#sportsWebview .sports-score{display:flex!important;flex:0 0 72px!important;width:72px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;text-align:center!important}
#sportsWebview .sports-score strong{font-size:22px!important;line-height:1!important}
#sportsWebview .sports-score small{margin-top:5px!important;padding:3px 6px!important;border-radius:8px!important;background:rgba(var(--provider-primary-rgb),.22)!important;color:#fff!important;font-size:8px!important;text-transform:uppercase!important}
#sportsWebview .sports-watch{display:flex!important;flex:0 0 112px!important;width:112px!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:1px solid rgba(var(--provider-primary-rgb),.65)!important;border-radius:12px!important;padding:8px!important;box-sizing:border-box!important;color:#fff!important}
#sportsWebview .sports-watch small{display:block!important;font-size:8px!important;white-space:normal!important}

#environmentLabel,#forecastDay1,#forecastDay2,#accountLabel{color:#fff!important;text-shadow:0 2px 7px #000!important;font-weight:800!important}
#forecastDay1,#forecastDay2{font-size:18px!important;line-height:1.18!important;white-space:pre-line!important;min-width:112px!important;text-align:center!important}
#environmentLabel{font-size:17px!important;min-width:120px!important;text-align:center!important}
#accountLabel{font-size:17px!important}

.app-settings-card{border-color:rgba(var(--provider-primary-rgb),.72)!important}
.settings-options button.active{background:var(--provider-primary)!important;color:#fff!important}
@media(max-width:1350px){
  #sportsWebview .sports-competitions{flex-basis:220px!important;width:220px!important;min-width:220px!important}
  #sportsWebview .sports-game{gap:5px!important;padding:8px 7px!important}
  #sportsWebview .sports-league{flex-basis:62px!important;width:62px!important}
  #sportsWebview .sports-league small{width:60px!important}
  #sportsWebview .sports-time{flex-basis:50px!important;width:50px!important;font-size:11px!important}
  #sportsWebview .sports-team{font-size:12px!important}
  #sportsWebview .sports-crest{flex-basis:34px!important;width:34px!important;height:34px!important}
  #sportsWebview .sports-score{flex-basis:55px!important;width:55px!important}
  #sportsWebview .sports-watch{flex-basis:90px!important;width:90px!important}
  #forecastDay1,#forecastDay2{font-size:15px!important;min-width:90px!important}
}

/* A cor escolhida pelo provider é a única cor de seleção do aplicativo. */
.focusable:focus,.focusable.focused,
.nav-item:focus,.provider-live:focus,.group-button:focus,.browser-channel:focus,
.media-card:focus,.sports-filter:focus,.sports-game:focus,.settings-options button:focus{
  outline:0!important;
  border-color:var(--provider-primary)!important;
  box-shadow:0 0 0 3px rgba(var(--provider-primary-rgb),.94),0 0 24px rgba(var(--provider-primary-rgb),.58)!important;
}
.nav-item.active,.group-button.active,.browser-channel.active,.sports-filter.active,
.settings-options button.active,[aria-selected="true"]{
  border-color:var(--provider-primary)!important;
  color:var(--provider-primary)!important;
  box-shadow:inset 0 0 0 2px var(--provider-primary),0 0 18px rgba(var(--provider-primary-rgb),.38)!important;
}
.provider-live{
  background:linear-gradient(155deg,rgba(var(--provider-primary-rgb),.96),rgba(var(--provider-primary-rgb),.68))!important;
  border-color:rgba(var(--provider-primary-rgb),.95)!important;
}
.primary,.editor-submit,.refresh-button{background:var(--provider-primary)!important}

/* Cabeçalho: impede reticências na previsão e mantém os graus legíveis. */
#catalogApp .catalog-status .forecast-day{
  white-space:pre-line!important;
  text-overflow:clip!important;
  overflow:visible!important;
  color:#fff!important;
  font-weight:800!important;
  font-size:1.25vw!important;
  line-height:1.22!important;
  text-transform:uppercase!important;
}
#catalogApp .catalog-status #environmentLabel,
#catalogApp .catalog-status #accountLabel{color:#fff!important;font-weight:700!important}

/* Grade esportiva estável em 1280x720 e 1920x1080. */
#sportsWebview{overflow:hidden!important;padding:0!important}
#sportsWebview .sports-header{
  height:13vh!important;padding:2.2vh 2.4vw!important;box-sizing:border-box!important;
  display:grid!important;grid-template-columns:180px minmax(0,1fr) 180px!important;align-items:center!important;gap:1.4vw!important;
}
#sportsWebview .sports-header>div{min-width:0!important;text-align:left!important}
#sportsWebview .sports-header h1{margin:.25vh 0!important;font-size:2.15vw!important}
#sportsWebview .sports-header>strong{justify-self:end!important;white-space:nowrap!important}
#sportsWebview .sports-layout{
  display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;
  gap:1.25vw!important;height:87vh!important;padding:1.6vh 1.5vw 2vh!important;box-sizing:border-box!important;overflow:hidden!important;
}
#sportsWebview .sports-competitions{
  display:block!important;width:auto!important;min-width:0!important;height:100%!important;padding:.4vh .45vw!important;overflow-y:auto!important;overflow-x:hidden!important;
}
#sportsWebview .sports-competition-list,#sportsCompetitionList{display:block!important;width:100%!important}
#sportsWebview .sports-filter{
  width:100%!important;min-width:0!important;min-height:68px!important;margin:0 0 1.15vh!important;padding:9px 12px!important;
  display:grid!important;grid-template-columns:50px minmax(0,1fr) 30px!important;align-items:center!important;gap:10px!important;
  border-radius:14px!important;box-sizing:border-box!important;text-align:left!important;overflow:hidden!important;
}
#sportsWebview .sports-filter>span{
  width:44px!important;height:44px!important;margin:0!important;display:grid!important;place-items:center!important;
  border-radius:50%!important;background:rgba(var(--provider-primary-rgb),.14)!important;font-size:24px!important;line-height:1!important;
}
#sportsWebview .sports-filter>strong{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#sportsWebview .sports-filter>small{justify-self:end!important;text-align:center!important}
#sportsWebview .sports-content{width:auto!important;min-width:0!important;height:100%!important;overflow-y:auto!important;overflow-x:hidden!important}
#sportsWebview .sports-games{width:100%!important;min-width:0!important;padding:0!important;box-sizing:border-box!important}
#sportsWebview .sports-game{
  width:100%!important;min-width:0!important;min-height:88px!important;margin:0 0 1.3vh!important;padding:8px 12px!important;
  display:grid!important;grid-template-columns:72px 68px minmax(90px,1fr) 44px 72px 44px minmax(90px,1fr) 116px!important;
  align-items:center!important;gap:8px!important;border-radius:15px!important;box-sizing:border-box!important;overflow:hidden!important;
}
#sportsWebview .sports-league{width:72px!important;min-width:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}
#sportsWebview .sports-league img{width:38px!important;height:38px!important;object-fit:contain!important;margin:0 auto 3px!important}
#sportsWebview .sports-league small{width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:8px!important}
#sportsWebview .sports-time{width:auto!important;text-align:center!important;font-size:12px!important;font-weight:800!important}
#sportsWebview .sports-team{min-width:0!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:13px!important}
#sportsWebview .sports-team.home{text-align:right!important}
#sportsWebview .sports-crest{width:40px!important;height:40px!important;object-fit:contain!important;margin:auto!important}
#sportsWebview .sports-score{text-align:center!important;min-width:0!important}
#sportsWebview .sports-score strong{font-size:18px!important}
#sportsWebview .sports-score small{display:block!important;max-width:72px!important;margin:3px auto 0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:8px!important;text-transform:uppercase!important}
#sportsWebview .sports-watch{width:112px!important;min-width:0!important;justify-self:end!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
#sportsWebview .sports-watch span{min-width:0!important}.sports-watch small{display:block!important;font-size:8px!important}

/* Configurações. */
.app-settings{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;padding:4vh 4vw;background:rgba(0,0,0,.78);box-sizing:border-box}
.app-settings.hidden{display:none!important}
.app-settings-card{position:relative;width:min(1120px,88vw);max-height:88vh;overflow:auto;padding:4.5vh 3.5vw;border:1px solid rgba(var(--provider-primary-rgb),.55);border-radius:24px;background:linear-gradient(135deg,#0b1712,#12121d);box-shadow:0 30px 90px rgba(0,0,0,.65);box-sizing:border-box}
.app-settings-card h2{margin:.3vh 0;font-size:2.4vw}.settings-intro{color:#aebdb5;margin-bottom:3vh}.settings-close{position:absolute;right:2vw;top:2vh;width:52px;height:52px;border-radius:50%;font-size:22px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3vw}
.settings-grid>article{display:grid;grid-template-columns:60px 1fr;gap:1.1vw;padding:2.2vh 1.5vw;border:1px solid #35473e;border-radius:16px;background:rgba(15,22,20,.75)}
.settings-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--provider-primary);border-radius:50%;color:var(--provider-primary);font-size:22px}.settings-grid h3{margin:0 0 .6vh;font-size:1.35vw}.settings-grid p{margin:0 0 1.5vh;color:#9fb0a7}.settings-options{display:flex;gap:.65vw}.settings-options button{padding:1vh .85vw;border-radius:10px;background:#111a16;color:#fff;border:1px solid #41574b}.settings-link{min-height:78px;display:flex;align-items:center;gap:1vw;padding:1.5vh 1.4vw;border-radius:15px;text-align:left}.settings-link span{display:flex;flex-direction:column}.settings-link small{color:#9fb0a7;margin-top:.4vh}

@media (max-width:1350px){
  #sportsWebview .sports-header{grid-template-columns:150px minmax(0,1fr) 150px!important}
  #sportsWebview .sports-layout{grid-template-columns:220px minmax(0,1fr)!important}
  #sportsWebview .sports-game{grid-template-columns:58px 55px minmax(75px,1fr) 36px 58px 36px minmax(75px,1fr) 96px!important;gap:5px!important;padding:6px 8px!important}
  #sportsWebview .sports-league{width:58px!important}.sports-watch{font-size:10px!important}
  .app-settings-card h2{font-size:30px}.settings-grid h3{font-size:18px}
}

/* Identidade do provider somente na Home. Playlist e telas auxiliares ficam no tema padrão. */
#accountsScreen,#accountMenu,#accountEditor,#activation,#expiredScreen,#catalogLoading,
#sportsWebview,#playerModal,#channelsModal,#dialog,#appSettings,#mediaDetail,
#seasonsView,#resumeConfirm,#stopConfirm,#exitConfirm{
  --provider-primary:#249b45!important;
  --provider-primary-rgb:36,155,69!important;
  --accent:#249b45!important;
  --accent-rgb:36,155,69!important;
  --focus-color:#249b45!important;
  --provider-logo:url("brand-logo.png")!important;
  --provider-bg:url("splashBackground.png")!important;
}
#accountsScreen .brand-mark{background-image:url("brand-logo.png")!important}

/* v1.0.15 - Esportes em tela cheia, legíveis e proporcionais em HD e Full HD. */
#sportsWebview .sports-header{
  height:clamp(92px,13vh,140px)!important;
  padding:clamp(15px,2.2vh,26px) clamp(22px,2.5vw,48px)!important;
  grid-template-columns:clamp(145px,12vw,220px) minmax(0,1fr) clamp(155px,14vw,250px)!important;
  gap:clamp(14px,1.5vw,30px)!important;
}
#sportsWebview .sports-header h1{
  font-size:clamp(30px,2.25vw,44px)!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}
#sportsWebview .sports-header p,
#sportsWebview .sports-header small{font-size:clamp(13px,.9vw,18px)!important}
#sportsWebview .sports-header>strong{
  min-height:52px!important;
  padding:0 clamp(14px,1.2vw,24px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  font-size:clamp(13px,.95vw,18px)!important;
}
#sportsWebview .sports-layout{
  height:calc(100vh - clamp(92px,13vh,140px))!important;
  grid-template-columns:clamp(230px,19vw,350px) minmax(0,1fr)!important;
  gap:clamp(14px,1.35vw,26px)!important;
  padding:clamp(12px,1.6vh,22px) clamp(18px,1.7vw,34px) clamp(16px,2vh,28px)!important;
}
#sportsWebview .sports-competitions{padding:4px 5px 20px!important}
#sportsWebview .sports-filter{
  min-height:clamp(70px,8.8vh,96px)!important;
  margin-bottom:clamp(9px,1.2vh,14px)!important;
  padding:clamp(10px,1.2vh,15px) clamp(12px,1vw,20px)!important;
  grid-template-columns:clamp(48px,3.4vw,62px) minmax(0,1fr) clamp(30px,2.2vw,42px)!important;
  gap:clamp(10px,.9vw,17px)!important;
  border-radius:16px!important;
}
#sportsWebview .sports-filter>span{
  width:clamp(44px,3.1vw,58px)!important;
  height:clamp(44px,3.1vw,58px)!important;
  font-size:clamp(23px,1.7vw,32px)!important;
}
#sportsWebview .sports-filter>strong{font-size:clamp(14px,1.02vw,20px)!important}
#sportsWebview .sports-filter>small{font-size:clamp(12px,.9vw,17px)!important;font-weight:800!important}
#sportsWebview .sports-content{padding:0 4px 24px!important}
#sportsWebview .sports-game{
  min-height:clamp(78px,10.5vh,114px)!important;
  margin-bottom:clamp(9px,1.25vh,15px)!important;
  padding:clamp(8px,1.1vh,14px) clamp(11px,1vw,20px)!important;
  grid-template-columns:
    clamp(68px,5.5vw,105px)
    clamp(62px,4.8vw,92px)
    minmax(105px,1fr)
    clamp(40px,3.2vw,60px)
    clamp(64px,4.8vw,90px)
    clamp(40px,3.2vw,60px)
    minmax(105px,1fr)
    clamp(112px,9.5vw,180px)!important;
  gap:clamp(7px,.7vw,14px)!important;
  border-radius:17px!important;
}
#sportsWebview .sports-league{width:clamp(68px,5.5vw,105px)!important}
#sportsWebview .sports-league img{
  width:clamp(40px,3.1vw,58px)!important;
  height:clamp(40px,3.1vw,58px)!important;
}
#sportsWebview .sports-league small{font-size:clamp(9px,.62vw,12px)!important}
#sportsWebview .sports-time{font-size:clamp(12px,.92vw,18px)!important;line-height:1.22!important}
#sportsWebview .sports-team{font-size:clamp(14px,1.05vw,20px)!important;font-weight:750!important}
#sportsWebview .sports-crest{
  width:clamp(38px,3vw,58px)!important;
  height:clamp(38px,3vw,58px)!important;
}
#sportsWebview .sports-score strong{font-size:clamp(19px,1.45vw,28px)!important}
#sportsWebview .sports-score small{
  max-width:clamp(64px,5vw,96px)!important;
  padding:4px 7px!important;
  font-size:clamp(8px,.58vw,11px)!important;
}
#sportsWebview .sports-watch{
  width:clamp(112px,9.5vw,180px)!important;
  min-height:clamp(48px,6vh,66px)!important;
  padding:8px 10px!important;
  border-radius:13px!important;
  font-size:clamp(12px,.9vw,17px)!important;
}
#sportsWebview .sports-watch small{font-size:clamp(8px,.58vw,11px)!important}

/* A resolução 1280x720 não deve cair numa versão miniatura. */
@media (max-width:1399px){
  #sportsWebview .sports-header{
    height:96px!important;
    padding:15px 28px!important;
    grid-template-columns:145px minmax(0,1fr) 155px!important;
  }
  #sportsWebview .sports-header h1{font-size:31px!important}
  #sportsWebview .sports-layout{
    height:calc(100vh - 96px)!important;
    grid-template-columns:230px minmax(0,1fr)!important;
    gap:15px!important;
    padding:13px 20px 18px!important;
  }
  #sportsWebview .sports-filter{
    min-height:72px!important;
    grid-template-columns:48px minmax(0,1fr) 30px!important;
    padding:9px 12px!important;
  }
  #sportsWebview .sports-filter>span{width:44px!important;height:44px!important;font-size:23px!important}
  #sportsWebview .sports-filter>strong{font-size:14px!important}
  #sportsWebview .sports-game{
    min-height:78px!important;
    grid-template-columns:68px 62px minmax(95px,1fr) 40px 64px 40px minmax(95px,1fr) 112px!important;
    gap:7px!important;
    padding:8px 11px!important;
  }
  #sportsWebview .sports-league{width:68px!important}
  #sportsWebview .sports-league img{width:40px!important;height:40px!important}
  #sportsWebview .sports-time{font-size:12px!important}
  #sportsWebview .sports-team{font-size:14px!important}
  #sportsWebview .sports-crest{width:38px!important;height:38px!important}
  #sportsWebview .sports-watch{width:112px!important;min-height:48px!important;font-size:12px!important}
}

/* v1.0.16 FINAL - manter estas regras por ultimo */
#sportsWebview{overflow:hidden!important}
#sportsWebview .sports-header{
  height:clamp(88px,12vh,118px)!important;
  padding:clamp(12px,1.8vh,22px) clamp(18px,2vw,36px)!important;
  grid-template-columns:clamp(120px,13vw,190px) minmax(0,1fr) clamp(130px,15vw,210px)!important;
  gap:clamp(10px,1.5vw,24px)!important;
}
#sportsWebview .sports-layout{
  display:grid!important;
  width:100%!important;
  height:calc(100vh - clamp(88px,12vh,118px))!important;
  grid-template-columns:clamp(180px,16vw,230px) minmax(0,1fr)!important;
  gap:clamp(6px,2vw,34px)!important;
  padding:clamp(10px,2vh,22px) clamp(8px,2vw,30px) 28px!important;
  overflow:hidden!important;
}
#sportsWebview .sports-competitions{
  width:auto!important;min-width:0!important;padding:10px 8px!important;
  overflow-y:auto!important;scrollbar-width:none!important;
}
#sportsWebview .sports-content{
  width:auto!important;min-width:0!important;padding:4px 0 28px!important;
  overflow-y:auto!important;scrollbar-width:none!important;
}
#sportsWebview .sports-competitions::-webkit-scrollbar,
#sportsWebview .sports-content::-webkit-scrollbar,
#sportsWebview .sports-games::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
#sportsWebview .sports-filter{
  display:grid!important;width:100%!important;
  min-height:clamp(54px,6.8vw,86px)!important;
  grid-template-columns:clamp(40px,3.6vw,56px) minmax(0,1fr) 30px!important;
  gap:clamp(6px,.75vw,12px)!important;padding:clamp(8px,1vw,14px)!important;
  border-radius:14px!important;
}
#sportsWebview .sports-filter>span{
  flex:none!important;width:clamp(38px,3.4vw,52px)!important;
  height:clamp(38px,3.4vw,52px)!important;font-size:clamp(19px,1.8vw,28px)!important;
}
#sportsWebview .sports-filter>strong{font-size:clamp(10px,1.05vw,16px)!important}
#sportsWebview .sports-games{display:grid!important;gap:10px!important;height:auto!important;overflow:visible!important}
#sportsWebview .sports-game{
  display:grid!important;width:100%!important;
  min-height:clamp(76px,10vw,140px)!important;margin:0!important;
  padding:clamp(8px,1.2vw,16px) clamp(6px,1vw,14px)!important;
  grid-template-columns:clamp(46px,9vw,140px) clamp(40px,7.5vw,116px) minmax(42px,1fr) clamp(26px,4.8vw,68px) clamp(52px,8vw,124px) clamp(26px,4.8vw,68px) minmax(42px,1fr) clamp(68px,14vw,220px)!important;
  gap:clamp(3px,.7vw,10px)!important;border-radius:16px!important;
}
#sportsWebview .sports-league{flex:none!important;width:auto!important;min-width:0!important}
#sportsWebview .sports-league img{width:clamp(30px,4.4vw,68px)!important;height:clamp(30px,4.4vw,68px)!important}
#sportsWebview .sports-league small{width:100%!important;font-size:clamp(7px,.62vw,11px)!important}
#sportsWebview .sports-time{flex:none!important;width:auto!important;font-size:clamp(9px,1vw,15px)!important}
#sportsWebview .sports-team{flex:none!important;min-width:0!important;font-size:clamp(9px,1.38vw,19px)!important;font-weight:850!important}
#sportsWebview .sports-crest{flex:none!important;width:clamp(28px,3.8vw,56px)!important;height:clamp(28px,3.8vw,56px)!important}
#sportsWebview .sports-score{flex:none!important;width:auto!important}
#sportsWebview .sports-score strong{font-size:clamp(16px,1.8vw,27px)!important}
#sportsWebview .sports-score small{font-size:clamp(7px,.66vw,11px)!important}
#sportsWebview .sports-watch{
  flex:none!important;width:auto!important;min-height:clamp(42px,6vw,66px)!important;
  padding:clamp(6px,.8vw,12px)!important;font-size:clamp(9px,1vw,15px)!important;
}
#sportsWebview .sports-watch small{font-size:clamp(7px,.65vw,11px)!important}
