/* GRID GAMES ARENA: padrao visual responsivo do frontend oficial.
   Esta camada e somente visual e preserva toda a logica existente. */
html{scroll-padding-bottom:96px;background:#0b1018}
body{background:radial-gradient(circle at 82% 4%,rgba(44,71,88,.35),transparent 30rem),linear-gradient(135deg,#0b1018 0%,#0d141e 56%,#111827 100%)}
.shell{width:100%;max-width:1500px}
.top,.brand,.topBalances,.card,.modeCard,.panel,.ggHero,.newGameCard{min-width:0}
.top{min-height:64px;margin-bottom:0;padding-bottom:0}
.balancePill{text-align:center}
.balancePill b,.ggWalletCard strong,.ggStakeBtn,.price{text-align:center;font-variant-numeric:tabular-nums}
.ggHero{border-radius:4px;background:linear-gradient(145deg,rgba(20,23,28,.92),rgba(8,10,13,.94));box-shadow:none;text-align:left;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.ggHero h2{font-size:2.45rem;line-height:.95;margin:10px 0 8px;text-transform:uppercase}
.ggHero p{max-width:34rem;line-height:1.6}
/* GG_HOME_HERO_COMPACT_R127 — pedido do operador (2026-09-04): a area de
   filtros (titulo + FORMATO PLAYERS + ORDENAR JOGOS) ficou grande demais —
   o .ggHero h2/p acima (pensados pro hero decorativo de telas com so' um
   painel, ex. pagamentos) e' desproporcional aqui, onde o card serve so'
   pra abrigar 2 filtros curtos. Encolhe titulo/texto/respiro so' na variante
   ..ggHeroCompact (SEMPRE a usada em #home), sem alterar outros ggHero. */
.ggHeroCompact{padding:14px 16px}
.ggHeroCompact h2{font-size:1.3rem;line-height:1.2;margin:2px 0 4px;text-transform:none}
.ggHeroCompact p{font-size:.78rem;max-width:none;margin:0;line-height:1.5}
.ggHeroCompact .ggStakeBar{margin-top:12px;padding:10px}
.ggActiveWalletLabel,.ggStakeBarLabel{text-align:center}
.ggWalletCard,.ggStakeBar{border-radius:2px}
.ggWalletCard{text-align:center;display:flex;min-height:96px;flex-direction:column;align-items:center;justify-content:center}
.ggWalletCard.ggWalletActive{box-shadow:0 0 0 1px rgba(255,200,61,.38),0 10px 24px rgba(255,200,61,.08)}
.ggStakeBar{background:rgba(10,15,23,.55)}
.ggStakeBtn,.modeFilterBtn,.homeFilterBtn{min-height:44px;border-radius:2px;line-height:1.12;white-space:normal;text-align:center}
.newGamesHead{min-height:42px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.newGamesHead b{font-size:1.55rem}
.card,.modeCard{min-height:255px;padding:1.2rem;align-items:stretch;justify-content:space-between;gap:8px;text-align:left}
.card h3,.modeCard h3,.newGameTitle{overflow-wrap:anywhere}
.card h3,.modeCard h3{font-size:2rem;line-height:1;margin:4px 0}
.card p,.modeCard p,.newGameDesc{overflow-wrap:anywhere}
.card p,.modeCard p{min-height:42px;font-size:.72rem;line-height:1.5}
.card .tag,.modeCard .tag{font-size:.57rem;line-height:1.35}
.card .price,.modeCard .price{width:48px;height:48px;margin:10px 0 6px;display:grid;place-items:center;border:1px solid rgba(255,200,61,.42);color:var(--gold)}
.ggModeMeta,.newGameMeta{align-items:center}
.card .ggModeMeta,.modeCard .ggModeMeta{justify-content:flex-start;margin-top:auto}
.card button,.modeCard button,.newGameCard button{width:100%;margin-top:12px}
.newGameCard{min-height:230px;padding:1.4rem;text-align:left}
.newGameTitle{font-size:2.5rem;text-transform:uppercase}
.newGameDesc{max-width:42rem;font-size:.78rem}
.bottom{border-radius:0}

/* Pre-partida: mesma linguagem visual da configuracao do Grid Vault. */
.ggPreMatchSurface{
  position:relative;border-radius:4px!important;border:1px solid rgba(193,205,215,.18)!important;
  background:linear-gradient(145deg,rgba(20,23,28,.96),rgba(8,10,13,.98))!important;
  box-shadow:none!important;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)
}
.ggPreMatchSurface::before{content:"";position:absolute;top:0;left:0;width:54px;height:3px;background:var(--gold)}
#ggPreMatchOverlay{align-items:center;padding:24px;overflow-y:auto}
#ggPreMatchOverlay .ggPreMatchPanel{width:min(760px,calc(100vw - 48px));max-height:calc(100dvh - 48px);padding:24px;overflow-y:auto}
.ggPreMatchTop{align-items:center;padding-bottom:13px;border-bottom:1px solid var(--line)}
.ggPreMatchPanel h2,.ggStandardPreMatch h2{font-size:2.45rem;line-height:1;margin:5px 0 4px;text-transform:uppercase}
.ggPreMatchEyebrow{color:var(--gold);letter-spacing:.14em}
.ggPreMatchClose{border-radius:2px;background:#14171C;border-color:var(--line);font-size:22px}
.ggPreMatchMeta{text-align:center;color:var(--cyan,#E6C35C);margin:14px 0;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.ggPreMatchStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.ggPreMatchStatItem,.ggPreMatchRulesBox,.ggEntryReadOnly{border-radius:2px}
.ggPreMatchStatItem{min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(20,23,28,.72)}
.ggPreMatchStatItem b,.ggEntryReadOnly b{font-family:'Space Grotesk',sans-serif;font-size:1.55rem;letter-spacing:.03em;font-variant-numeric:tabular-nums;text-align:center}
.ggPreMatchRulesBox{padding:15px 16px;background:rgba(20,23,28,.72)}
.ggPreMatchRulesBox>small,.ggPreMatchColorModeLabel{text-align:center;color:var(--gold)}
.ggPreMatchRulesList{max-width:640px;margin-left:auto;margin-right:auto}
.ggPreMatchColorModeWrap .modeFilterBar{max-width:none}
.ggPreMatchPlay,.ggPreMatchTrain,.ggPreMatchBots9,.ggPreMatchCancel{border-radius:2px;letter-spacing:.06em;text-transform:uppercase}
.ggPreMatchPlay{min-height:54px;background:linear-gradient(135deg,var(--gold2),#eaa91f)}
.ggPreMatchTrain{border-color:rgba(214,170,58,.38);background:rgba(20,23,28,.82);color:#E6C35C}
.ggPreMatchCancel{background:#14171C;border-color:var(--line)}
.ggStandardPreMatch{max-width:760px!important}
.ggStandardPreMatch>.ggBackBtn{margin-bottom:12px}
.ggStandardPreMatch .ggPreMatchSurface{padding:24px}
.ggStandardPreMatch .ggPreMatchSurface>.sub{text-align:center;max-width:620px;margin:0 auto;line-height:1.6}
.ggStandardPreMatch .ggPreMatchSurface>h2,.ggStandardPreMatch .ggPreMatchSurface>.ggPreMatchEyebrow{text-align:center}
.ggStandardPreMatch .gridModeBox{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px;margin-top:18px}
.ggStandardPreMatch .gridModeBtn{min-height:58px;border-radius:2px;padding:10px 8px;line-height:1.3;text-align:center}
.ggStandardPreMatch .modeLive{text-align:center;color:#E6C35C;letter-spacing:.08em}
.ggStandardPreMatch .ggEntryReadOnly{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,200,61,.055)}
.ggStandardPreMatch #navalSearchBtn{min-height:54px;border-radius:2px}
.ggPreMatchRulesSurface{padding:16px 18px!important;background:rgba(20,23,28,.72)!important}
.ggPreMatchRulesSurface::before{background:#E6C35C}
.ggStarPreMatchSurface{padding:18px!important}
.ggStarPreMatchSurface .starMenuGrid{gap:10px}
.ggStarPreMatchSurface .cta{min-height:48px}

/* Perfil: aplica o mesmo sistema visual da arena sem alterar os sheets. */
#profile{min-width:0}
.ggProfileCard2{position:relative;margin:0;padding:22px 18px;border-radius:4px;border:1px solid rgba(193,205,215,.18);background:linear-gradient(145deg,rgba(20,23,28,.96),rgba(8,10,13,.98));box-shadow:none;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.ggProfileCard2::before{content:"";position:absolute;top:0;left:0;width:54px;height:3px;background:var(--gold)}
.ggProfileIdentity h2{font-family:'Space Grotesk',sans-serif;font-size:2rem;line-height:1;letter-spacing:.03em;text-transform:uppercase}
.ggProfileIdentity p{font-size:.7rem;line-height:1.45}
.ggProfileBadge{border-radius:2px;letter-spacing:.08em;text-transform:uppercase}
.ggProfileMenu{gap:10px}
.ggProfileMenuBtn{min-height:76px;padding:14px;border-radius:4px;border-color:rgba(193,205,215,.16);background:linear-gradient(145deg,rgba(20,23,28,.9),rgba(8,10,13,.94));clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.ggProfileMenuBtn:hover{border-color:rgba(255,200,61,.55);transform:translateY(-2px)}
.ggProfileMenuBtn .ico{width:38px;height:38px;border-radius:2px;color:var(--gold);border-color:rgba(255,200,61,.32);background:rgba(255,200,61,.055)}
.ggProfileMenuBtn b{font-family:'Space Grotesk',sans-serif;font-size:1.15rem;letter-spacing:.03em;text-transform:uppercase}
.ggProfileMenuBtn small{font-size:.62rem;line-height:1.4}
.ggProfileMenuBtn .arrow{color:var(--gold)}
.ggProfileSheetCard{border-radius:4px;background:linear-gradient(145deg,rgba(20,23,28,.98),rgba(8,10,13,.99));clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.ggProfileSheetTop{padding-bottom:12px;border-bottom:1px solid var(--line)}
.ggProfileSheetTop h2{font-family:'Space Grotesk',sans-serif;font-size:1.8rem;text-transform:uppercase}
.ggProfileSheetClose,.ggProfileSheetSection,.ggLegalMenu button{border-radius:2px}
.ggProfileSheetSection{background:rgba(20,23,28,.72)}
#profile #logout{min-height:48px;border-radius:2px}

/* Ranking: mesma linguagem visual da Home e do Perfil. */
#ranking{min-width:0}
#ranking .ggScreenIntro{margin:0 0 14px;padding:0 0 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
#ranking .ggScreenIntro b{font-family:'Space Grotesk',sans-serif;font-size:2.15rem;line-height:1;letter-spacing:.03em;text-transform:uppercase}
#ranking .ggScreenIntro span{display:block;max-width:620px;margin:7px auto 0;font-size:.7rem;line-height:1.55}
#ranking>.panel{position:relative;margin:0;padding:22px;border-radius:4px;border:1px solid rgba(193,205,215,.18);background:linear-gradient(145deg,rgba(20,23,28,.96),rgba(8,10,13,.98));box-shadow:none;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
#ranking>.panel::before{content:"";position:absolute;top:0;left:0;width:54px;height:3px;background:var(--gold)}
#ranking>.panel>h2{font-family:'Space Grotesk',sans-serif;font-size:2rem;line-height:1;letter-spacing:.03em;text-transform:uppercase}
#ranking>.panel>.sub{max-width:620px;margin:0 auto;line-height:1.55}
#ranking .ggRankGlobalHero{min-height:104px;margin:18px 0 12px;padding:16px 18px;border-radius:2px;border-color:rgba(255,200,61,.3);background:rgba(255,200,61,.055);box-shadow:none;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
#ranking .ggRankGlobalHero small{color:var(--gold);letter-spacing:.12em}
#ranking .ggRankGlobalHero b{font-family:'Space Grotesk',sans-serif;font-size:1.85rem;line-height:1.05;letter-spacing:.03em;text-transform:uppercase}
#ranking .ggRankGlobalHero .sub{max-width:520px;margin-top:5px;line-height:1.45}
#ranking .ggRankCrown{width:32px;height:32px}
#ranking .rankTabs{gap:7px;margin:12px 0;padding:0 26px 3px 0}
#ranking .rankTab{min-height:42px;padding:9px 13px;border-radius:2px;border-color:rgba(193,205,215,.18);background:#14171C;font-size:.6rem;line-height:1.15;text-align:center}
#ranking .rankTab:hover{border-color:rgba(255,200,61,.5);color:#fff}
#ranking .rankTab.active{border-color:var(--gold);background:rgba(255,200,61,.09);color:var(--gold2)}
#ranking #rankCaption{min-height:30px;padding:5px 0;text-align:center}
#ranking .ggRankMoneyNote{margin:7px 0 14px;padding:10px 12px;border-radius:2px;border-color:rgba(214,170,58,.28);background:rgba(20,23,28,.72);color:rgba(245,245,243,.78)}
#ranking .ggRankMoneyNote b{color:#E6C35C}
#ranking #rankList{display:grid;gap:7px}
#ranking .rankHero{display:grid;grid-template-columns:52px 40px minmax(0,1fr) minmax(120px,auto);align-items:center;gap:10px;min-height:68px;margin:0;padding:10px 12px;border-radius:4px;border-color:rgba(193,205,215,.14);background:rgba(20,23,28,.72);box-shadow:none;transition:border-color .15s,transform .15s}
#ranking .rankHero:hover{border-color:rgba(255,200,61,.42);transform:translateY(-1px)}
#ranking .rankHero.ggTop1{border-color:rgba(255,200,61,.55);background:linear-gradient(90deg,rgba(255,200,61,.1),rgba(20,23,28,.78))}
#ranking .rankHero.ggTop2{border-color:rgba(193,205,215,.32)}
#ranking .rankHero.ggTop3{border-color:rgba(201,137,87,.38)}
#ranking .rankPos{width:52px;min-width:52px;height:46px;border-radius:2px;border-color:rgba(193,205,215,.18);background:#14171C;text-align:center;font-variant-numeric:tabular-nums}
#ranking .rankAvatar{width:38px;height:38px;flex-basis:38px;border-radius:2px;border-color:rgba(193,205,215,.22)}
#ranking .rankName{min-width:0;text-align:left}
#ranking .rankName b{display:block;font-family:'Space Grotesk',sans-serif;font-size:1.15rem;line-height:1.1;letter-spacing:.03em;overflow-wrap:anywhere;text-transform:uppercase}
#ranking .rankName small{margin-top:4px;font-size:.58rem;line-height:1.35}
#ranking .rankMetric{min-width:120px;text-align:center;font-variant-numeric:tabular-nums}
#ranking .rankMetric b{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;letter-spacing:.03em;text-transform:uppercase}
#ranking .rankMetric small{display:block;margin-top:3px;font-size:.57rem}
#ranking .ggRankBreakdown{gap:4px;margin-top:6px}
#ranking .ggRankBreakdown span{border-radius:2px;background:#14171C}
#ranking .rankMeRow{margin:0 0 12px;padding:12px;border-radius:4px;border-color:rgba(255,200,61,.55);background:rgba(255,200,61,.055);box-shadow:none}
#ranking .rankMeRow .rankHero{margin:0;background:rgba(20,23,28,.82)}
#ranking .rankMeRow .rankMeLabel{color:var(--gold);letter-spacing:.12em}
#ranking .rankMeRow .rankMeGap{font-size:.64rem;line-height:1.45}

/* Navegacao principal sempre visivel: 3 abas comuns ou 5 administrativas. */
.bottom{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;visibility:visible!important;opacity:1!important;z-index:1000}
.bottom.adminMode{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.bottom .nav{width:100%;min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
.bottom .nav b{line-height:1}

@media(min-width:1100px){
  /* GG_HOME_STACK_R126/R127 — pedido do operador (2026-09-03): filtros
     SEMPRE acima da lista de jogos (nunca do lado, ver #home abaixo) e a
     tela nao deve ficar "muito grande" em telas largas — o shell caia pra
     1360px antes, bem mais largo que os 970px que TODA outra tela (Ranking/
     Perfil/etc, ver .screen:not(#home) abaixo) ja usava, fazendo a Home
     esticar/parecer inchada sozinha. Agora usa a MESMA largura das outras
     telas, coeso em todo o app. */
  .shell{max-width:1000px;padding:0 clamp(1.5rem,2.5vw,2.5rem) 96px}
  .top{height:76px}
  .brand b{font-size:1.35rem}
  .balancePill{min-width:122px;padding:9px 12px}
  .balancePill b{font-size:13px}
  #home{padding-top:28px}
  #ggFormatGroups .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #ggFormatGroups .card{min-height:215px}
  #home .newGameCard{min-height:205px}
  .bottom{width:min(760px,calc(100% - 2.5rem));border:1px solid var(--line);border-bottom:0;padding:8px 12px max(8px,env(safe-area-inset-bottom))}
  .screen:not(#home){max-width:970px;margin-left:auto;margin-right:auto;padding-top:24px}
  #starArena{max-width:1280px}
  #starArena .starGameLayout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr)}
  #starCanvas{height:min(58vh,620px);min-height:420px}
  #starArena .starHud{grid-template-columns:repeat(8,minmax(0,1fr))}
  .classicRooms,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #profile{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}
  #profile .ggProfileCard2{grid-column:1;grid-row:1 / span 2;position:sticky;top:20px}
  #profile .ggProfileMenu{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}
  #profile #logout{grid-column:2;margin-top:0!important}
  #ranking .ggRankGlobalHero{display:grid;grid-template-columns:minmax(0,1fr) 64px;text-align:left;align-items:center}
  #ranking .ggRankGlobalHero .ggRankCrown{grid-column:2;grid-row:1;width:42px;height:42px;margin:0 auto}
  #ranking .ggRankGlobalHero>div:first-child{grid-column:1;grid-row:1}
}

@media(min-width:721px) and (max-width:1099px){
  .shell{max-width:920px;padding:0 24px 100px}
  #home{padding-top:28px}
  #ggFormatGroups .cards,.classicRooms,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ggHeroCompact{margin:0 0 16px;padding:16px}
  .bottom{width:min(920px,calc(100% - 48px))}
}

@media(max-width:720px){
  .shell{max-width:560px;padding:0 16px 92px}
  .auth{margin:4vh auto 18px;padding:18px}
  .top{height:64px;gap:8px}
  .brand{flex:1}
  .logo{width:32px;height:32px}
  .brand b{font-size:17px}
  .brand small{font-size:8px}
  .topBalances{flex:0 1 auto;gap:5px}
  .balancePill{min-width:76px;padding:6px 7px}
  .balancePill small{font-size:7px}
  .balancePill b{font-size:10px}
  #home{padding-top:28px}
  .ggHeroCompact{margin:0 0 16px;padding:14px;text-align:center}
  .ggHeroCompact h2{font-size:1.15rem}
  .ggHeroCompact p{font-size:.72rem}
  .ggQuickWallet{gap:7px}
  .ggWalletCard{min-height:88px;padding:10px}
  .ggWalletCard strong{font-size:17px}
  .ggStakeBar{padding:10px}
  .ggStakeBarBtns{gap:5px}
  .ggStakeBtn{font-size:11px;padding:6px 1px}
  .modeFilterBar,.homeFilterBar{gap:6px}
  .modeFilterBtn,.homeFilterBtn{padding:9px 5px;font-size:8px}
  .cards,.classicRooms,.starMenuGrid,.reconGrid{grid-template-columns:1fr}
  .card,.modeCard{min-height:225px;padding:1.1rem}
  .newGameCard{min-height:220px;padding:1.1rem}
  .newGameCard:after{font-size:70px;right:2px;bottom:-10px}
  .newGameTitle{font-size:2.15rem}
  .newGamesHead{margin-bottom:10px}
  .bottom{left:0!important;right:0!important;bottom:0!important;transform:none!important;width:100%!important;padding:7px 6px max(7px,env(safe-area-inset-bottom))!important}
  .bottom .nav{min-height:46px;padding:5px 4px;font-size:9px}
  .bottom .nav b{font-size:18px;margin-bottom:3px}
  #profile{display:block;padding-top:20px}
  #profile .ggProfileCard2{margin-bottom:12px;padding:18px 14px}
  #profile .ggProfileMenu{grid-template-columns:1fr}
  #profile .ggProfileMenuBtn{min-height:70px;padding:12px}
  .ggProfileSheet{padding:0}
  .ggProfileSheetCard{width:100%;max-height:92dvh;padding:17px 14px calc(16px + env(safe-area-inset-bottom));border-left:0;border-right:0;border-bottom:0}
  #ggPreMatchOverlay{align-items:flex-end;padding:0}
  #ggPreMatchOverlay .ggPreMatchPanel{width:100%;max-height:92dvh;padding:18px 16px calc(16px + env(safe-area-inset-bottom));border-left:0!important;border-right:0!important;border-bottom:0!important}
  .ggPreMatchPanel h2,.ggStandardPreMatch h2{font-size:2rem}
  .ggPreMatchStats{gap:7px}
  .ggPreMatchRulesList{font-size:11.5px;line-height:1.5}
  .ggStandardPreMatch .ggPreMatchSurface{padding:18px 14px}
  .ggStandardPreMatch .gridModeBox{gap:6px}
  .ggStandardPreMatch .gridModeBtn{min-height:62px;padding:8px 5px;font-size:10px}
  .ggStarPreMatchSurface .starMenuGrid{grid-template-columns:1fr 1fr}
  #ranking{padding-top:20px}
  #ranking .ggScreenIntro b{font-size:1.85rem}
  #ranking>.panel{padding:18px 14px}
  #ranking>.panel>h2{font-size:1.75rem}
  #ranking .ggRankGlobalHero{min-height:96px;margin-top:15px;padding:14px 12px}
  #ranking .rankTabs{margin-left:0;margin-right:0}
  #ranking .rankTab{min-height:40px;padding:8px 11px}
  #ranking .rankHero{grid-template-columns:42px 34px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 9px;min-height:78px;padding:10px}
  #ranking .rankPos{grid-column:1;grid-row:1 / span 2;width:42px;min-width:42px;height:48px}
  #ranking .rankAvatar{grid-column:2;grid-row:1 / span 2;width:34px;height:34px;align-self:center}
  #ranking .rankName{grid-column:3;grid-row:1}
  #ranking .rankName b{font-size:1rem}
  #ranking .rankMetric{grid-column:3;grid-row:2;min-width:0;display:flex;align-items:center;gap:8px;text-align:left}
  #ranking .rankMetric b,#ranking .rankMetric small{display:inline;margin:0}
  #ranking .rankMeRow{padding:9px}
}

/* Layout de partida: Grid e Reflex seguem a mesma escala compacta usada
   por Color e Memory no desktop, sem ampliar a grade até 970px. */
@media(min-width:721px){
  #game,#reflexGame{max-width:620px}
  #game #grid,#reflexGame .quickArena{width:min(100%,560px);margin-left:auto;margin-right:auto}
}

/* Confirmações de saída precisam ficar acima da navegação fixa. */
.simModal{z-index:24000!important;padding:16px 16px max(86px,calc(16px + env(safe-area-inset-bottom)))!important}
.simModalCard{max-height:calc(100dvh - 118px);overflow:auto;border-radius:8px!important}
@media(min-width:721px){
  .simModal{align-items:center!important;padding:24px!important}
  .simModalCard{max-height:calc(100dvh - 48px);padding:22px!important}
}

/* ADM alinhado ao padrão visual operacional atual. */
#adminUsers .ggAdm2Hero{padding:18px;border-radius:6px;background:var(--card);border-color:var(--gg-gold-border);box-shadow:var(--gg-gold-shadow)}
#adminUsers .ggAdm2Menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#adminUsers .ggAdm2Card{min-height:82px;border-radius:6px;background:#14171C;padding:14px}
#adminUsers .ggAdm2Icon{width:38px;height:38px;border-radius:4px;font-size:17px}
#adminUsers .ggAdm2Card.danger{background:#21131a}
#adminUsers .ggAdm2Sheet,#adminUsers .ggProfileSheet{z-index:24000}
#adminUsers .ggAdm2SheetCard{border-radius:8px;padding:18px}
#adminUsers .ggAdm2Close{border-radius:4px}
#adminReports .ggRepBackBtn,#adminReports .ggRepGameFilter,#adminReports .ggRepTableWrap,#adminReports .ggRepKpi{border-radius:6px}
@media(max-width:720px){
  #adminUsers .ggAdm2Menu{grid-template-columns:1fr}
  #adminUsers .ggAdm2Sheet{padding:10px 10px max(76px,calc(10px + env(safe-area-inset-bottom)))}
  #adminUsers .ggAdm2SheetCard{max-height:calc(100dvh - 96px)}
}

@media(max-width:390px){
  .shell{padding-left:12px;padding-right:12px}
  .top{align-items:center}
  .logo{width:30px;height:30px}
  .brand{gap:8px}
  .balancePill{min-width:68px;padding:5px}
  .ggHero h2{font-size:2.45rem}
  .ggQuickWallet{grid-template-columns:1fr 1fr}
  .ggStakeBarBtns,.ggStakeBarBtns.ggHideR1{grid-template-columns:repeat(2,minmax(0,1fr))}
  .authBtns,.walletActions,.payBalance,.supportActions,.admBonusActions{grid-template-columns:1fr}
  .card h3,.modeCard h3{font-size:1.8rem}
}
