/* ═══════════════════════════════════════════════════════════════
   RX7 DESIGN SYSTEM — Navy Institucional / Gray Profissional
   Generated: 1780408513
   ═══════════════════════════════════════════════════════════════ */
:root {
  /* Backgrounds — cinza-grafite (não preto puro) */
  --rx7-bg-main:        #1B202B;
  --rx7-bg-surface:     #232936;
  --rx7-bg-elevated:    #2A3142;
  --rx7-bg-input:       #2A3142;

  /* Azul navy institucional */
  --rx7-blue-navy:      #0052FF;
  --rx7-blue-primary:   #0052FF;
  --rx7-blue-hover:     #1D4ED8;
  --rx7-blue-border:    #0052FF;

  /* Bordas */
  --rx7-border-subtle:  #2D3548;
  --rx7-border-strong:  #3B4254;

  /* Texto */
  --rx7-text:           #E8ECF4;
  --rx7-text-muted:     #8B95A8;

  /* Status sóbrios */
  --rx7-success:        #0052FF;
  --rx7-danger:         #DC2626;
  --rx7-warning:        #F59E0B;

  /* Radius */
  --rx7-r-sm:           6px;
  --rx7-r-md:           8px;
  --rx7-r-lg:           10px;

  /* Shadows discretas */
  --rx7-shadow-modal:   0 8px 24px rgba(0,0,0,0.4);
  --rx7-shadow-card:    0 2px 8px rgba(0,0,0,0.25);

  /* Easing */
  --rx7-ease:           150ms ease;
}

/* ─── Body / Background global ─── */
body, html {
  background: var(--rx7-bg-main) !important;
  color: var(--rx7-text);
}

/* ─── Botões — flat profissional ─── */
.btn-primary, button.primary, .button-primary, .btn-deposito, .btn-depositar,
[class*="depositar"], [class*="confirmar"]:not(.btn-ghost):not(.secondary) {
  background: var(--rx7-blue-primary) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--rx7-blue-navy) !important;
  border-radius: var(--rx7-r-md) !important;
  font-weight: 600;
  transition: background var(--rx7-ease);
  box-shadow: none !important;
  background-image: none !important;
}
.btn-primary:hover, button.primary:hover, .btn-deposito:hover {
  background: var(--rx7-blue-hover) !important;
}

.btn-ghost, button.ghost, .btn-secondary, .button-secondary {
  background: transparent !important;
  color: var(--rx7-text) !important;
  border: 1px solid var(--rx7-border-strong) !important;
  border-radius: var(--rx7-r-md) !important;
  font-weight: 500;
  transition: border-color var(--rx7-ease), background var(--rx7-ease);
  box-shadow: none !important;
}
.btn-ghost:hover {
  border-color: var(--rx7-blue-border) !important;
  background: rgba(0, 82, 255,0.06) !important;
}

/* ─── Modais — borda navy, radius médio ─── */
.modal, .modal-content, [class*="modal-card"], .br4-modal__card, .login-card,
.br4-doc-modal__card, .br4-impeded-modal__card, .br4-kyc-webview-modal {
  background: var(--rx7-bg-surface) !important;
  border: 1px solid var(--rx7-blue-navy) !important;
  border-radius: var(--rx7-r-lg) !important;
  box-shadow: var(--rx7-shadow-modal) !important;
  backdrop-filter: none !important;
}

/* Inputs */
input, select, textarea,
.br4-modal__input, .login-input {
  background: var(--rx7-bg-input) !important;
  border: 1px solid var(--rx7-border-subtle) !important;
  border-radius: var(--rx7-r-md) !important;
  color: var(--rx7-text) !important;
  box-shadow: none !important;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--rx7-blue-border) !important;
  outline: none !important;
}

/* ─── Sinal da IA — versão compacta ─── */
.signal-card, [class*="signal-card"], [class*="sinal-card"],
.bacbo-signal, [class*="bacbo-signal"] {
  padding: 12px !important;
  border-radius: var(--rx7-r-md) !important;
}
.signal-title, [class*="signal-title"], [class*="sinal-title"] {
  font-size: 13px !important;
}
.signal-time, [class*="signal-time"] {
  font-size: 11px !important;
}
.signal-chip, [class*="signal-chip"], [class*="chip-aposta"] {
  width: 32px !important;
  height: 32px !important;
}
/* Container da seção do sinal: ~65% da altura original */
.signal-section, [class*="signal-section"], [class*="sinal-section"] {
  max-height: 65vh;
}

/* Brand color overrides — substitui verde-neon do design antigo */
[class*="--success"], .text-success, [style*="#0052FF"], [style*="#0052FF"] {
  /* Botão "Depositar" e similares já cobertos acima — esta regra cobre badges */
}
.badge-success, .tag-success {
  background: rgba(0, 82, 255, 0.15);
  color: var(--rx7-success);
  border: 1px solid rgba(0, 82, 255, 0.3);
}

/* RX7 Logo placeholder (até logo real chegar) */
.rx7-brand, [class*="brand"]:has(> *:contains("RX7")) {
  font-family: 'Inter', -apple-system, sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--rx7-text);
}

/* RX7 platform2 — release 20260517-02 (cache-bust: index.html ?v= em style.css) */
:root{
  /* BR4 visual fidelity layer */
  --bg:#080808;
  --bg2:#FFFFFF;
  --card:#121212;
  --card2:#101010;
  --sep:rgba(255,255,255,.1);
  --inp:#141414;
  --verde:#0052FF;
  --verde2:#138a3e;
  --vdim:rgba(0, 82, 255, .13);
  --amarelo:#f59e0b;
  --vermelho:#ef4444;
  --azul:#3b9eff;
  --txt:rgba(255,255,255,.92);
  --txt2:#9ca3af;
  --txt3:rgba(255,255,255,.28);
  --mono:'JetBrains Mono',monospace;
  --sans:'Exo 2',sans-serif;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bot: env(safe-area-inset-bottom, 0px);
  --nav-h: calc(56px + var(--safe-bot));
  /* Slot Bac Bo: topbar medido em JS (--game-topbar-px) ou fallback */
  --game-topbar-px: calc(56px + var(--safe-top));
  /* Espaço para sinais/histórico (scroll curto); equilíbrio com área útil do jogo */
  --game-below-peek: clamp(138px, 22vh, 252px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden;touch-action:manipulation}
body{background:var(--bg);color:var(--txt);font-family:var(--sans)}
.app-shell,.view,.login-main,.app-main,.topbar,.bottom-nav,.nav-item,.btn,button,.top-btn,.deposit-sheet,.game-frame-wrap,.overlay,.login-input,.field-input,.quick-value,.account-action-btn{
  touch-action:manipulation;
}
.app-shell{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg)}
body:has(#loginView.view-active),
.app-shell:has(#loginView.view-active){
  background: #1B202B;
}
#loginView.view-active{
  background: #1B202B;
}
#loginView .login-main{
  background: #1B202B;
}
.view{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg);transition:opacity .25s,transform .25s}
.view-hidden{opacity:0;pointer-events:none;transform:translateY(6px)}
.view-active{opacity:1;pointer-events:auto}
.hidden{display:none !important}

.login-main{
  flex:1;
  position:relative;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  min-height:100%;
  padding:calc(var(--safe-top) + 16px) 18px calc(var(--safe-bot) + 28px);
}
.login-bg{
  position:fixed;
  inset:0;
  z-index:0;
  background: #1B202B;
  pointer-events:none;
}
.login-particles{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  opacity:.24;
}
.login-bg-gradient{
  position:absolute;
  inset:0;
  background: #1B202B;
}
.login-bg-veil{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(ellipse 90% 70% at 50% 85%, rgba(0, 82, 255, .045) 0%, transparent 58%);
  mix-blend-mode:normal;
}
#loginView.view-active .login-bg-veil{
  opacity:1;
  animation:loginBgVeilBreath 28s ease-in-out infinite alternate;
}
@keyframes loginBgVeilBreath{
  0%{opacity:.35;transform:translate(0,0)}
  100%{opacity:.55;transform:translate(0.8%,-0.5%)}
}
#loginView.view-active .login-bg-glow--tl{
  animation:loginGlowPulseTl 22s ease-in-out infinite alternate;
}
#loginView.view-active .login-bg-glow--br{
  animation:loginGlowPulseBr 24s ease-in-out infinite alternate;
}
@keyframes loginGlowPulseTl{
  0%{opacity:.22;transform:scale(1)}
  100%{opacity:.32;transform:scale(1.02)}
}
@keyframes loginGlowPulseBr{
  0%{opacity:.18;transform:scale(1)}
  100%{opacity:.28;transform:scale(1.03)}
}
.login-card-shell{
  width:100%;
  max-width:380px;
  margin:0 auto;
  position:relative;
  border-radius:24px;
  padding:2px;
  background: #1B202B;
  overflow:hidden;
  box-shadow:
    0 0 32px rgba(0, 82, 255, .1),
    0 0 56px rgba(0, 82, 255, .14);
}
.login-card-shell::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:220%;
  height:220%;
  margin-left:-110%;
  margin-top:-110%;
  z-index:0;
  background:radial-gradient(circle at 50% 50%, rgba(0, 82, 255, 0.18) 0%, rgba(0, 82, 255, 0.08) 40%, transparent 70%) 0deg,
    rgba(0, 82, 255, .35) 55deg,
    rgba(0, 82, 255, .55) 110deg,
    rgba(0, 82, 255, .85) 165deg,
    rgba(29, 78, 216, .45) 220deg,
    rgba(0, 82, 255, .25) 285deg,
    rgba(15, 23, 42, .12) 360deg
  );
  animation:none;
  will-change:transform;
}
#loginView.view-active .login-card-shell::before{
  animation:loginShellBorderSpin 7s linear infinite;
}
@media (prefers-reduced-motion: reduce){
  #loginView.view-active .login-card-shell::before,
  #loginView.view-active .login-bg-veil,
  #loginView.view-active .login-bg-glow--tl,
  #loginView.view-active .login-bg-glow--br{
    animation:none!important;
  }
}
@keyframes loginShellBorderSpin{
  to{transform:rotate(360deg)}
}
.login-card-shell .login-card{
  position:relative;
  z-index:1;
  border-radius:21px;
  border:1px solid rgba(0, 82, 255, .28);
  max-width:none;
  box-shadow:
    0 20px 44px rgba(0,0,0,.42),
    0 0 28px rgba(0, 82, 255, .08),
    0 0 0 1px rgba(0, 82, 255, .12) inset,
    0 1px 0 rgba(255,255,255,.05) inset;
}
.login-bg-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:.35;
  pointer-events:none;
}
.login-bg-glow--tl{
  width:min(120vw, 520px);
  height:min(120vw, 520px);
  top:-28%;
  left:-38%;
  background:rgba(0, 82, 255, .14);
}
.login-bg-glow--br{
  width:min(100vw, 440px);
  height:min(100vw, 440px);
  bottom:-32%;
  right:-32%;
  background:rgba(29, 78, 216, .1);
}
.login-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:400px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.login-brand{
  text-align:center;
  width:100%;
  margin-bottom:26px;
}
.login-logo-wrap{
  position:relative;
  width:min(240px, 92vw);
  min-height:0;
  height:auto;
  margin:0 auto 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:none;
  filter:none;
  transition:transform .35s ease;
}
.login-brand:hover .login-logo-wrap{transform:none}
.login-logo-wrap img,
#loginLogo{
  display:block;
  margin:0 auto;
  max-width:240px;
  width:auto;
  height:auto;
  max-height:none;
  object-fit:contain;
  background:none!important;
  background-color:transparent!important;
  box-shadow:none;
  filter:none;
}
.login-logo-fallback{display:none;font-size:1.35rem;font-weight:900;letter-spacing:.06em;color:var(--verde)}
.login-headline{
  font-size:clamp(1.5rem, 5vw, 1.85rem);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:0 0 8px;
  color:var(--txt);
}
.login-tagline{
  font-size:13px;
  font-weight:500;
  color:var(--txt2);
  line-height:1.45;
  max-width:320px;
  margin:0 auto;
  letter-spacing:.02em;
}
.login-card{
  width:100%;
  padding:26px 22px 22px;
  border-radius:22px;
  background: #232936;
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
}
.login-form{display:flex;flex-direction:column;gap:2px}
.login-field{margin-bottom:12px}
.login-label{
  display:block;
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.74);
  margin:0 0 8px 4px;
  letter-spacing:.02em;
}
.login-input{
  width:100%;
  min-height:52px;
  padding:0 16px;
  font-size:16px;
  font-family:var(--sans);
  color:var(--txt);
  background:rgba(27, 32, 43, .58);
  border:1px solid rgba(100,118,160,.3);
  border-radius:14px;
  outline:none;
  box-shadow:0 2px 10px rgba(0,0,0,.14) inset;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.login-input::placeholder{color:rgba(156,163,175,.62)}
.login-input:hover{border-color:rgba(130,150,190,.42)}
.login-input:focus{
  border-color:rgba(0, 82, 255, .5);
  box-shadow:
    0 0 0 3px rgba(0, 82, 255, .2),
    0 2px 10px rgba(0,0,0,.16) inset;
  background:rgba(27, 32, 43, .75);
}
.login-input-password-wrap{position:relative}
.login-input--password{padding-right:50px}
.login-password-toggle{
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:12px;
  background:transparent;
  color:rgba(255,255,255,.4);
  cursor:pointer;
  transition:color .15s ease, background .15s ease;
}
.login-password-toggle:hover{
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.07);
}
.login-terms{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:6px 0 16px;
}
.login-terms-checkbox{
  flex-shrink:0;
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--verde);
  border-radius:4px;
  cursor:pointer;
}
.login-terms-label{
  font-size:11px;
  line-height:1.55;
  color:rgba(156,163,175,.96);
  cursor:pointer;
}
.login-legal-link{
  color:#93C5FD;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(0, 82, 255, .45);
  transition:color .15s ease;
}
.login-legal-link:hover{color:#93C5FD}
.btn{border:none;border-radius:10px;cursor:pointer;font-family:var(--sans);font-weight:800}
.btn-login-premium{
  width:100%;
  min-height:54px;
  margin-top:6px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:none;
  color:#031008;
  background:linear-gradient(180deg, #10B981 0%, #0052FF 52%, #138a3e 100%);
  border:1px solid rgba(0, 82, 255, .48);
  border-radius:14px;
  box-shadow:
    0 6px 28px rgba(0, 82, 255, .4),
    0 1px 0 rgba(255,255,255,.28) inset;
  cursor:pointer;
  transition:transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.btn-login-premium:hover:not(:disabled){
  filter:brightness(1.06);
  box-shadow:
    0 8px 34px rgba(0, 82, 255, .48),
    0 1px 0 rgba(255,255,255,.32) inset;
}
.btn-login-premium:active:not(:disabled){transform:scale(.985)}
.btn-login-premium:disabled{
  opacity:.72;
  cursor:not-allowed;
  filter:grayscale(.12);
  transform:none;
}
.btn-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:rot .7s linear infinite}
.btn-login-premium.is-loading .btn-spinner{display:inline-block;border:2px solid rgba(3,16,8,.22);border-top-color:rgba(3,16,8,.8)}
.btn-login{
  width:100%;height:48px;background:var(--verde);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;
  box-shadow:0 4px 24px rgba(0, 82, 255, .3);
}
.btn-login.is-loading .btn-spinner{display:inline-block}
.login-form-error{margin-top:12px;text-align:center}
.form-error{min-height:18px;color:var(--vermelho);font-size:12px;margin-top:8px}
.login-register-hint{
  text-align:center;
  font-size:12px;
  color:var(--txt2);
  margin:20px 0 10px;
}
.register-btn-premium{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:100%;
  min-height:48px;
  padding:0 16px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(0, 82, 255, .38);
  border-radius:14px;
  cursor:pointer;
  text-decoration:none;
  transition:background .18s ease, border-color .18s ease, transform .12s ease;
  box-shadow:0 2px 14px rgba(0,0,0,.16);
}
.register-btn-premium:hover{
  background:rgba(0, 82, 255, .14);
  border-color:rgba(0, 82, 255, .55);
}
.register-btn-premium:active{transform:scale(.987)}
/* Suporte — apenas tela de login (#loginView) */
#loginView .login-support-wrap{
  width:100%;
  max-width:380px;
  margin:10px auto 0;
  padding:0 6px;
  display:flex;
  justify-content:center;
  flex-shrink:0;
}
#loginView .login-support-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  padding:10px 20px;
  border-radius:50px;
  background: #232936;
  border:1px solid rgba(255,255,255,.12);
  color:rgba(229,231,235,.95);
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  text-decoration:none;
  line-height:1;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:background .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
}
#loginView .login-support-btn__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:inherit;
}
#loginView .login-support-btn__icon svg{
  width:18px;
  height:18px;
  display:block;
}
#loginView .login-support-btn__label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
}
@media (min-width:380px){
  #loginView .login-support-btn__label{font-size:14px}
}
#loginView .login-support-btn:hover{
  color:#fff;
  border-color:rgba(255,255,255,.18);
  background:#101010;
}
#loginView .login-support-btn--pressed{
  background:#141414;
  border-color:rgba(0, 82, 255, .5);
  box-shadow:0 0 0 1px rgba(0, 82, 255, .28), 0 0 22px rgba(0, 82, 255, .2);
  color:#fff;
}
.field-label{display:block;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--txt2);margin:8px 0 5px}
.field-input{
  width:100%;height:46px;background:var(--inp);border:1px solid var(--sep);border-radius:11px;padding:0 14px;color:var(--txt);font-family:var(--sans);font-size:15px;outline:none;
}
.field-input:focus{border-color:var(--verde)}

.topbar{
  background: #232936;
  padding-top:var(--safe-top);
  min-height:calc(56px + var(--safe-top));
  height:calc(56px + var(--safe-top));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-left:12px;
  padding-right:10px;
  z-index:30;
  position:relative;
  box-shadow:0 1px 0 rgba(255,255,255,.06);
  border-bottom:1px solid var(--sep);
}
.topbar-left,.topbar-right{display:flex;align-items:center}
.topbar-left{
  min-width:0;
  flex:1;
  background:none;
  border-radius:0;
  display:flex;
  align-items:center;
}
.topbar-right{gap:8px;justify-content:flex-end;flex-shrink:0}
.topbar-logo,
#headerLogo{
  max-height:36px;
  height:auto;
  width:auto;
  max-width:min(280px,62vw);
  object-fit:contain;
  object-position:left center;
  display:block;
  margin:0 8px 0 0;
  filter:none;
  background:none!important;
  background-color:transparent!important;
  box-shadow:none;
  mix-blend-mode:normal;
}
.topbar-logo-fallback{display:none;font-size:14px;font-weight:900;font-style:italic;letter-spacing:.02em;color:#fff}
.topbar-balance{
  min-width:88px;
  height:40px;
  padding:0 10px 0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:10px;
  background:var(--card2);
  border:1px solid var(--sep);
  box-shadow:none;
  color:#fff;
  font-family:var(--sans);
  font-size:15px;
  font-weight:600;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
}
.topbar-balance__value{
  min-width:0;
  flex:1;
  text-align:center;
}
.topbar-balance__toggle{
  flex-shrink:0;
  width:18px;
  height:18px;
  padding:0;
  margin:0;
  border:none;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  -webkit-tap-highlight-color:transparent;
}
.topbar-balance__toggle svg{
  width:18px;
  height:18px;
  display:block;
  opacity:.42;
  transition:opacity .15s ease;
}
.topbar-balance--amount-visible .topbar-balance__toggle svg{
  opacity:.92;
}
.topbar-balance--skeleton .topbar-balance__value{
  opacity:.55;
  letter-spacing:.12em;
  animation:mestreBalSk 1s ease-in-out infinite;
}
@keyframes mestreBalSk{
  0%,100%{opacity:.45}
  50%{opacity:.9}
}
.top-btn{
  height:40px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  font-size:14px;
  font-weight:600;
  border:1px solid transparent;
}
.top-btn-dep{
  min-width:120px;
  justify-content:center;
  background:#0052FF;
  border-color:#0052FF;
  color:#fff;
  font-weight:800;
  box-shadow:none;
}
.top-btn-icon{
  width:40px;
  height:40px;
  padding:0;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--card2);
  border:1px solid var(--sep);
  color:#fff;
  font-size:18px;
}
.top-btn-icon:hover{
  filter:brightness(1.08);
}
.top-btn-icon-glyph{
  font-size:16px;
  line-height:1;
  transform:translateY(1px);
}
.top-btn-icon-svg{
  width:20px;
  height:20px;
  display:block;
}
#btnNotificationsTop{display:none!important}
@media (max-width:430px){
  .topbar{gap:6px;padding-left:12px;padding-right:8px}
  .topbar-logo,#headerLogo{max-width:min(280px,62vw);max-height:36px;height:auto;margin:0 8px 0 0}
  .topbar-right{gap:6px}
  .topbar-balance{min-width:84px;height:36px;padding:0 8px 0 10px;font-size:14px;gap:6px}
  .top-btn{height:36px;border-radius:10px}
  .top-btn-dep{min-width:104px;font-size:13px}
  .top-btn-icon{width:36px;height:36px}
}

.app-main{
  flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:8px;
}
/**
 * Bac Bo (Evolution/BR4 via iframe): slot portrait premium.
 * Raiz do letterbox antigo: height:72vw + max-height:72vh desalinhados do viewport real do provider.
 * Altura = min( viewport útil - reserva cards , largura * ~1.6 típico mobile Bac Bo ).
 */
.game-frame-wrap{
  --mestre-game-vh:100vh;
  --game-ar-w:1.64;
  --game-ar-cap:1.76;
  width:calc(100% - 14px);
  max-width:540px;
  margin:6px auto 12px;
  position:relative;
  overflow:hidden;
  z-index:1;
  contain:layout;
  isolation:isolate;
  border-radius:14px;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(40,40,40,.55) 0%, rgba(8,8,8,.97) 52%, #050505 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.1),
    0 14px 48px rgba(0,0,0,.55),
    0 0 40px rgba(0,0,0,.35);
  min-height:220px;
  height:min(
    calc(var(--mestre-game-vh) - var(--game-topbar-px) - var(--game-below-peek) - 8px),
    calc((100vw - 18px) * var(--game-ar-w))
  );
  max-height:min(80vh,calc((100vw - 18px) * var(--game-ar-cap)));
}
@supports (height:100dvh){
  .game-frame-wrap{
    --mestre-game-vh:100dvh;
    height:min(
      calc(100dvh - var(--game-topbar-px) - clamp(138px,20dvh,258px) - 8px),
      calc((100vw - 18px) * var(--game-ar-w))
    );
    max-height:min(80dvh,calc((100vw - 18px) * var(--game-ar-cap)));
  }
}
@media (min-width:900px){
  .game-frame-wrap{
    max-width:480px;
    margin:10px auto 16px;
    border-radius:16px;
    height:min(
      calc(var(--mestre-game-vh) - var(--game-topbar-px) - 88px),
      560px,
      calc((100vw - 24px) * 0.92)
    );
    max-height:min(620px,58vh);
  }
}
@supports (height:100dvh){
  @media (min-width:900px){
    .game-frame-wrap{max-height:min(620px,58dvh)}
  }
}
:fullscreen .app-shell .game-frame-wrap,
:-webkit-full-screen .app-shell .game-frame-wrap{
  max-height:none;
  height:min(calc(100vh - var(--game-topbar-px) - 24px),calc(100vw * 1.65));
}
.game-loading{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background: #232936;transition:opacity .35s}
.game-loading.is-hidden{opacity:0;pointer-events:none}
.loading-ring{width:38px;height:38px;border:3px solid rgba(0, 82, 255, .15);border-top-color:var(--verde);border-radius:50%;animation:rot 1s linear infinite}
.game-iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block;background: #1B202B;opacity:0;transition:opacity .4s ease}
.game-iframe.is-visible{opacity:1}
.game-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--txt2);text-align:center;padding:20px;z-index:5}
.game-placeholder.is-hidden{display:none}
.game-placeholder--verify-premium{
  flex-direction:column;
  gap:16px;
  padding:max(20px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(12,12,12,.96) 0%,rgba(6,6,6,.98) 100%);
}
.game-placeholder-card{
  max-width:320px;
  width:100%;
  padding:22px 20px;
  border-radius:18px;
  background:linear-gradient(165deg,rgba(28,28,28,.98) 0%,rgba(12,12,12,.99) 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 48px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
}
.game-placeholder-lead{
  margin:0 0 18px;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:rgba(255,255,255,.88);
}
.game-placeholder-sub{
  margin:-8px 0 18px;
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  color:rgba(200,200,200,.78);
}
.game-placeholder-cta{
  width:100%;
  min-height:48px;
  border:none;
  border-radius:14px;
  cursor:pointer;
  font-family:var(--sans);
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  color:#031a0c;
  background:linear-gradient(180deg,#0052FF 0%,#0052FF 48%,#0052FF 100%);
  border:1px solid rgba(0, 82, 255, .55);
  box-shadow:0 4px 18px rgba(0, 82, 255, .28);
}
.game-placeholder-cta:active{transform:scale(.987)}

.app-section{display:none;padding:10px 12px 0}
.app-section-active{display:block}
.group{margin-bottom:10px}
.group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.group-header h2{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--txt2)}
.live-badge{font-size:9px;font-weight:800;color:var(--vermelho);padding:4px 10px;border-radius:999px;border:1px solid rgba(239,68,68,.2);background:rgba(239,68,68,.09)}

.signal-card{background:var(--card);border:1px solid var(--sep);border-radius:14px;padding:14px;transition:box-shadow .35s ease,border-color .35s ease}
.signal-card--analyzing{
  border-color:rgba(255,255,255,.14);
  box-shadow:0 0 0 1px rgba(255,255,255,.06),0 12px 40px rgba(0,0,0,.32);
  animation:signalCardMesaGlow 2.8s ease-in-out infinite;
}
@keyframes signalCardMesaGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.06),0 12px 40px rgba(0,0,0,.28);border-color:rgba(255,255,255,.1)}
  50%{box-shadow:0 0 0 1px rgba(255,255,255,.14),0 14px 48px rgba(0,0,0,.38);border-color:rgba(255,255,255,.18)}
}
.signal-row{display:flex;align-items:center;justify-content:space-between}
.signal-title{font-size:35px;font-size:33px;font-weight:900;line-height:1}
.signal-title--idle{font-size:22px;font-weight:700;color:var(--txt3);letter-spacing:.02em}
.signal-title--premium-wait{
  font-size:clamp(19px,4.8vw,24px);
  font-weight:800;
  letter-spacing:.05em;
  color:rgba(240,240,240,.96);
  text-shadow:0 0 18px rgba(255,255,255,.08);
  animation:signalTitleIdlePulse 2.5s ease-in-out infinite;
}
@keyframes signalTitleIdlePulse{
  0%,100%{opacity:.88}
  50%{opacity:1}
}
.signal-title .sig-player{color:#2563eb}
.signal-title .sig-banker{color:#ef4444}
.signal-title .sig-tie{color:#eab308}
.signal-subtitle--idle-hint{color:var(--txt2)}
.signal-title--analyzing{
  background:linear-gradient(90deg, rgba(230,230,230,.82) 0%, rgba(255,255,255,.98) 50%, rgba(230,230,230,.82) 100%);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:signalAnalyzingShimmer 1.35s ease-in-out infinite;
}
@keyframes signalAnalyzingShimmer{
  0%{background-position:0% center}
  100%{background-position:200% center}
}
.signal-status{font-size:9px;font-weight:800;letter-spacing:.09em;color:var(--txt2);background:rgba(255,255,255,.06);border-radius:99px;padding:5px 11px;transition:background .25s ease,color .25s ease,border-color .25s ease;border:1px solid transparent}
.signal-status--wait{color:var(--txt2);background:rgba(255,255,255,.06)}
.signal-status--analyzing{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#cbd5e1;
  background:rgba(100,116,139,.14);
  border-color:rgba(148,163,184,.3);
  font-size:8px;
}
.signal-status--analyzing .signal-status__label{white-space:nowrap}
.signal-status__label{letter-spacing:.06em}
.signal-status__spin{
  width:11px;
  height:11px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.18);
  border-top-color:rgba(96,165,250,.95);
  animation:signalMesaSpin .7s linear infinite;
  flex-shrink:0;
}
@keyframes signalMesaSpin{
  to{transform:rotate(360deg)}
}
.signal-status--entry{color:#422006;background:rgba(250,204,21,.18);border-color:rgba(250,204,21,.35)}
.signal-status--entry-confirmed{
  color:#ecfdf5;
  background:rgba(0, 82, 255, .35);
  border-color:rgba(0, 82, 255, .55);
  box-shadow:0 0 16px rgba(0, 82, 255, .12);
}
.signal-status--gale{
  color:#431407;
  background:linear-gradient(180deg,rgba(251,191,36,.95) 0%,rgba(245,158,11,.88) 100%);
  border-color:rgba(234,179,8,.55);
}
.signal-status--gale2{
  color:#fff;
  background:linear-gradient(180deg,rgba(220,38,38,.95) 0%,rgba(185,28,28,.92) 100%);
  border-color:rgba(248,113,113,.45);
  box-shadow:0 0 14px rgba(239,68,68,.2);
}
.signal-status--green{
  color:#f0fdf4;
  font-weight:900;
  letter-spacing:.1em;
  background:linear-gradient(155deg,rgba(29, 78, 216, .92) 0%,rgba(12,74,46,.9) 100%);
  border:1px solid rgba(0, 82, 255, .5);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.07) inset,
    0 2px 12px rgba(0,0,0,.28),
    0 0 16px rgba(0, 82, 255, .12);
  text-shadow:0 1px 1px rgba(0,0,0,.4);
}
@keyframes mestreGreenConfirmPulse{
  0%{
    transform:scale(1);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.07) inset,
      0 2px 12px rgba(0,0,0,.28),
      0 0 16px rgba(0, 82, 255, .12);
  }
  45%{
    transform:scale(1.045);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.12) inset,
      0 4px 20px rgba(0,0,0,.32),
      0 0 28px rgba(0, 82, 255, .42);
  }
  100%{
    transform:scale(1);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.07) inset,
      0 2px 12px rgba(0,0,0,.28),
      0 0 16px rgba(0, 82, 255, .12);
  }
}
.signal-status--green.signal-status--green-confirm-pulse{
  will-change:transform;
  animation:mestreGreenConfirmPulse .58s cubic-bezier(0.34,1.45,0.44,1) 1 both;
}
.signal-status--red{color:#fff;background:rgba(239,68,68,.22);border:1px solid rgba(239,68,68,.4)}
.signal-subtitle{margin-top:8px;font-size:12px;color:var(--txt2);transition:opacity .2s ease;min-height:1.2em}
.gale-dots{display:flex;gap:8px;margin-top:10px;align-items:center}
.gale-dots.is-hidden{display:none!important}
.gale-dots span{width:30px;height:30px;border-radius:50%;border:2px solid var(--sep);display:flex;align-items:center;justify-content:center;font-size:8px;color:var(--txt3);transition:border-color .25s ease,background .25s ease,opacity .25s ease,transform .2s ease}
.gale-dots span.gale-dot--on{border-color:rgba(0, 82, 255, .75);background:rgba(0, 82, 255, .12);color:var(--verde)}
.gale-dots span.gale-dot--loss{border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.1);opacity:.75}
.gale-dots span.gale-dot--dim{opacity:.38;border-color:rgba(255,255,255,.12);color:var(--txt3)}
.gale-dots span.gale-dot--hide{display:none!important}

/* Histórico Bac Bo — 7 chips, largura total do card, sem quebra */
.group--history .group-header{margin-bottom:10px}
.history-panel{
  background:var(--card);
  border:1px solid var(--sep);
  border-radius:14px;
  padding:14px 12px;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
}
.history-grid{
  --hist-n:7;
  --hist-gap:clamp(4px,1.4vw,8px);
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  gap:var(--hist-gap);
  align-items:stretch;
  justify-content:stretch;
  min-height:clamp(52px,14vw,62px);
  padding:4px 0 2px;
  background:transparent;
  border:none;
  border-radius:0;
  overflow-x:hidden;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  contain:layout style;
}
.history-grid::-webkit-scrollbar{height:3px}
.history-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:99px}
.history-chip.history-card{
  flex:1 1 0;
  min-width:0;
  width:auto;
  aspect-ratio:4/5;
  min-height:0;
  border-radius:clamp(11px,2.8vw,15px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:0 2px;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:#ffffff;
  border:none;
  box-shadow:none;
  will-change:transform,opacity;
  -webkit-tap-highlight-color:transparent;
  backface-visibility:hidden;
  transition:transform 0.44s cubic-bezier(0.25,0.1,0.25,1), opacity 0.38s cubic-bezier(0.33,1,0.68,1);
}
.history-chip__value{
  font-size:clamp(17px,5vw,22px);
  font-weight:800;
  line-height:1;
  letter-spacing:-0.03em;
  margin:0;
  color:#ffffff;
  font-variant-numeric:tabular-nums;
}
.history-chip--blue{
  background:linear-gradient(165deg,#1a3d8f 0%,#2563eb 42%,#0052FF 100%);
  box-shadow:
    0 3px 12px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.2),
    0 0 0 1px rgba(147,197,253,.42);
}
.history-chip--blue .history-chip__value{
  text-shadow:0 1px 2px rgba(0,0,0,.28);
}
.history-chip--red{
  background:linear-gradient(165deg,#991b1b 0%,#dc2626 45%,#b91c1c 100%);
  box-shadow:
    0 3px 12px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 0 1px rgba(252,165,165,.4);
}
.history-chip--red .history-chip__value{
  text-shadow:0 1px 2px rgba(0,0,0,.28);
}
.history-chip--yellow{
  background:linear-gradient(165deg,#854d0e 0%,#ca8a04 48%,#a16207 100%);
  box-shadow:
    0 3px 12px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.22),
    0 0 0 1px rgba(253,224,71,.38);
}
.history-chip--yellow .history-chip__value{
  color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.history-chip--enter{
  animation:historyChipEnter .58s cubic-bezier(0.33,1,0.68,1) both;
}
.history-chip--exit{
  animation:historyChipExit .42s cubic-bezier(0.4,0,0.2,1) forwards;
  pointer-events:none;
}
/* Entrada: quase sem salto no 1.º frame (opacidade/escala próximas do final), slide horizontal suave */
@keyframes historyChipEnter{
  0%{
    opacity:0.88;
    transform:scale(0.97) translate3d(-14px,0,0);
  }
  100%{
    opacity:1;
    transform:scale(1) translate3d(0,0,0);
  }
}
@keyframes historyChipExit{
  to{
    opacity:0;
    transform:scale(0.95) translate3d(10px,0,0);
  }
}

@media (max-width:380px){
  .history-grid{--hist-gap:4px}
  .history-panel{padding:12px 10px}
}
@media (min-width:480px){
  .history-grid{--hist-gap:8px}
}

.app-toast{
  position:fixed;
  left:50%;
  bottom:calc(var(--nav-h) + 14px);
  transform:translate(-50%, 12px);
  z-index:450;
  max-width:min(340px, calc(100vw - 32px));
  padding:12px 18px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  text-align:center;
  color:rgba(255,255,255,.95);
  background:rgba(10,18,32,.82);
  border:1px solid rgba(0, 82, 255, .28);
  border-radius:14px;
  box-shadow:0 10px 32px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.05) inset,0 0 24px rgba(0, 82, 255, .12);
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease,transform .28s cubic-bezier(0.22,1,0.36,1);
}
.app-toast.is-visible{
  opacity:1;
  transform:translate(-50%, 0);
  pointer-events:auto;
}
.app-toast--success{
  border-color:rgba(0, 82, 255, .35);
  box-shadow:0 10px 32px rgba(0,0,0,.35),0 0 28px rgba(0, 82, 255, .18);
}
.app-toast--error{
  border-color:rgba(248,113,113,.4);
  box-shadow:0 10px 32px rgba(0,0,0,.38),0 0 26px rgba(239,68,68,.14);
  color:#fecaca;
}

/* Toast de resultado do sinal (motor): topo, toque para fechar */
.signal-result-toast{
  position:fixed;
  top:max(12px, env(safe-area-inset-top, 0px));
  left:50%;
  z-index:2147483000;
  isolation:isolate;
  width:min(340px, calc(100vw - 28px));
  pointer-events:none;
  opacity:0;
  transform:translate(-50%, -10px) scale(0.96);
  transition:opacity .42s ease,transform .42s cubic-bezier(0.22,1,0.36,1);
}
.signal-result-toast.is-in{
  pointer-events:auto;
  opacity:1;
  transform:translate(-50%, 0) scale(1);
  cursor:default;
}
.signal-result-toast--loss.is-in{
  filter:drop-shadow(0 0 20px rgba(239,68,68,.28));
}
.signal-result-toast--green.is-in{
  filter:drop-shadow(0 0 22px rgba(0, 82, 255, .22));
}
.signal-result-toast.is-out{
  opacity:0;
  transform:translate(-50%, -8px) scale(0.97);
  pointer-events:none;
}
.signal-result-toast__card{
  text-align:center;
  padding:16px 18px 18px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
}
.signal-result-toast--green .signal-result-toast__card{
  background:linear-gradient(165deg,#064e1f 0%,#052e16 55%,#041f0f 100%);
  border-color:rgba(0, 82, 255, .35);
}
.signal-result-toast--loss .signal-result-toast__card{
  background:linear-gradient(165deg,#7f1d1d 0%,#450a0a 55%,#2c0505 100%);
  border-color:rgba(248,113,113,.32);
}
.signal-result-toast__glyph{
  display:block;
  margin:0 auto 10px;
  width:40px;
  height:40px;
  color:#10B981;
  filter:drop-shadow(0 0 10px rgba(0, 82, 255, .75));
}
.signal-result-toast--loss .signal-result-toast__glyph{
  color:#f87171;
  filter:drop-shadow(0 0 12px rgba(248,113,113,.65));
}
.signal-result-toast__glyph svg{
  display:block;
  width:100%;
  height:100%;
}
.signal-result-toast__main{
  font-size:18px;
  font-weight:900;
  letter-spacing:.05em;
  line-height:1.2;
  color:#fff;
}
.signal-result-toast__sub{
  margin-top:8px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.35;
  color:rgba(255,255,255,.88);
}
.signal-result-toast--green .signal-result-toast__sub,
.signal-result-toast--loss .signal-result-toast__sub{
  color:rgba(255,255,255,.82);
}

/* Nudge G1/G2 — cinza premium, não bloqueia toques */
.signal-gale-nudge{
  position:fixed;
  top:max(52px, calc(env(safe-area-inset-top, 0px) + 40px));
  left:50%;
  z-index:2147483001;
  isolation:isolate;
  width:min(300px, calc(100vw - 28px));
  pointer-events:none;
  opacity:0;
  transform:translate(-50%, -6px) scale(0.96);
  transition:opacity .28s ease,transform .28s cubic-bezier(0.22,1,0.36,1);
}
.signal-gale-nudge.is-in{
  opacity:1;
  transform:translate(-50%, 0) scale(1);
  filter:drop-shadow(0 0 14px rgba(148,163,184,.35));
}
.signal-gale-nudge.is-out{
  opacity:0;
  transform:translate(-50%, -4px) scale(0.97);
}
.signal-gale-nudge__card{
  text-align:center;
  padding:12px 16px;
  border-radius:14px;
  background:rgba(24,32,48,.9);
  border:1px solid rgba(120,140,180,.28);
  box-shadow:0 10px 32px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(12px) saturate(115%);
  -webkit-backdrop-filter:blur(12px) saturate(115%);
}
.signal-gale-nudge__main{
  font-size:15px;
  font-weight:800;
  letter-spacing:.03em;
  color:#e2e8f0;
}

.stats-grid{display:flex;gap:8px}
.stat-box{flex:1;background:var(--card);border:1px solid var(--sep);border-radius:14px;padding:14px;text-align:center}
.stat-value{font-size:30px;font-size:28px;font-family:var(--mono);font-weight:700}
.stat-value.green{color:var(--verde)}
.stat-value.yellow{color:var(--amarelo)}
.stat-label{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--txt2);margin-top:4px}

.bank-card{background:var(--card);border:1px solid var(--sep);border-radius:14px;padding:14px}
.bank-status{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:flex-end;
  gap:8px 10px;
  margin-bottom:10px;
  text-align:right;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.bank-status__label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
.bank-status__value{
  font-size:22px;
  font-weight:800;
  letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
  line-height:1.1;
  transition:color .2s ease;
}
.bank-status__value--pos{color:#0052FF;text-shadow:0 0 20px rgba(0, 82, 255, .22)}
.bank-status__value--zero{color:rgba(255,255,255,.78)}
.bank-status__value--neg{color:#f87171;text-shadow:0 0 18px rgba(248,113,113,.18)}
.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.action-grid{display:flex;gap:8px;margin-top:10px}
.action-grid-secondary{margin-top:8px}
.btn-soft-green{flex:1;background:rgba(0, 82, 255, .1);border:1px solid rgba(0, 82, 255, .22);color:var(--verde);height:44px}
.btn-soft-red{flex:1;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.22);color:var(--vermelho);height:44px}
.btn-soft-blue{flex:1;background:var(--azul);color:#fff;height:44px}
.btn-soft-neutral{flex:1;background:transparent;border:1px solid var(--sep);color:var(--txt2);height:44px}
.red-text{color:rgba(239,68,68,.75)}

/* ── Suporte (aba SUPORTE): cards Telegram + WhatsApp ─────────────────────── */
.support-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:stretch;
}
@media (min-width:720px){
  .support-cards{
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
}
.support-card{
  background:#1a1a1a;
  border:1px solid #2a2a2a;
  border-radius:16px;
  padding:22px 18px 24px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  height:100%;
  box-sizing:border-box;
}
.support-card__icon-wrap{
  width:64px;
  height:64px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.support-card__icon{
  width:64px;
  height:64px;
  max-width:100%;
  object-fit:contain;
  display:block;
}
.support-card__title{
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.02em;
  margin:0 0 10px;
  line-height:1.25;
}
.support-card__desc{
  flex:1;
  font-size:13px;
  color:var(--txt2);
  line-height:1.5;
  margin:0;
  max-width:320px;
  width:100%;
}
.support-card__cta{
  margin-top:18px;
  width:100%;
  display:flex;
  justify-content:center;
}
.support-card__btn{
  width:100%;
  max-width:280px;
  min-height:46px;
  padding:12px 22px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:none;
  color:#fff;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  cursor:pointer;
  transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;
  box-shadow:0 4px 16px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.1);
}
.support-card__btn:hover{filter:brightness(1.05)}
.support-card__btn:active{transform:scale(.98)}
.support-card__btn:focus-visible{
  outline:2px solid rgba(255,255,255,.35);
  outline-offset:2px;
}
.support-card__btn--telegram{
  background:#229ED9;
  box-shadow:0 4px 18px rgba(34,158,217,.32),inset 0 1px 0 rgba(255,255,255,.12);
}
.support-card__btn--telegram:hover{box-shadow:0 6px 22px rgba(34,158,217,.38),inset 0 1px 0 rgba(255,255,255,.14)}
.support-card__btn--whatsapp{
  background:#25D366;
  box-shadow:0 4px 18px rgba(0, 82, 255, .32),inset 0 1px 0 rgba(255,255,255,.12);
}
.support-card__btn--whatsapp:hover{box-shadow:0 6px 22px rgba(0, 82, 255, .38),inset 0 1px 0 rgba(255,255,255,.14)}

.account-card{
  background:linear-gradient(165deg,rgba(22,22,22,.98) 0%,rgba(10,10,10,.98) 100%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  padding:18px 17px 20px;
  box-shadow:0 8px 28px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04);
}
  text-align:center;
  margin-bottom:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:2px 6px 0;
}
.account-user-badge.top-btn-icon{
  flex-shrink:0;
  margin:0 auto 12px;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(126,145,181,.28),0 0 14px rgba(30,56,111,.22);
}
@media (max-width:430px){
  .account-user-badge.top-btn-icon{height:38px}
}
.account-card h3{
  text-align:center;font-size:clamp(0.95rem,3.8vw,1.05rem);font-weight:800;line-height:1.25;
  letter-spacing:.02em;margin-bottom:5px;padding:0 6px;word-break:break-word;
}
.account-card .account-hero p{text-align:center;color:var(--txt2);font-size:12px;line-height:1.45;margin:0;padding:0 10px;word-break:break-word}
.account-rows{border-radius:12px;background:rgba(0,0,0,.12);border:1px solid rgba(100,118,160,.14);overflow:hidden;margin-bottom:4px}
.account-row{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid rgba(100,118,160,.12);font-size:12px}
.account-row--last{border-bottom:none}
.account-row span{color:var(--txt2);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}
.account-row strong{color:var(--verde);font-size:14px;font-family:var(--mono);font-weight:700}
.active-status{color:var(--verde)}

.account-actions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  width:100%;
  max-width:340px;
  margin:16px auto 0;
}
.account-action-btn{
  flex:none;
  height:38px;
  padding:0 8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  border-radius:11px;
  line-height:1.1;
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,border-color .12s ease;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.account-action-btn:hover{filter:brightness(1.05)}
.account-action-btn:active{transform:translateY(1px) scale(.98)}
.account-action-btn--deposit{
  color:#fff;
  background:linear-gradient(180deg,var(--verde) 0%,var(--verde2) 100%);
  border:1px solid rgba(0, 82, 255, .25);
  box-shadow:0 3px 12px rgba(0, 82, 255, .28),inset 0 1px 0 rgba(255,255,255,.12);
}
.account-action-btn--withdraw{
  color:#1a1408;
  background:linear-gradient(180deg,#f0c14a 0%,#d4a017 100%);
  border:1px solid rgba(245,190,80,.45);
  box-shadow:0 3px 12px rgba(212,160,23,.22),inset 0 1px 0 rgba(255,255,255,.2);
}
.account-action-btn--logout{
  color:rgba(248,113,113,.95);
  background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.32);
  box-shadow:0 2px 8px rgba(239,68,68,.08);
}
.account-action-btn--logout:hover{border-color:rgba(248,113,113,.5);background:rgba(239,68,68,.12)}

.bottom-nav{
  background: #1B202B;
  border-top:1px solid var(--sep);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  height:var(--nav-h);
  padding-bottom:var(--safe-bot);
  z-index:35;
}
.nav-item{
  border:none;
  background:transparent;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#6b7280;
  cursor:pointer;
  font-family:var(--sans);
  -webkit-tap-highlight-color:transparent;
  transition:color .18s ease;
}
.nav-item__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  color:inherit;
}
.nav-item__svg{
  display:block;
  width:22px;
  height:22px;
  flex-shrink:0;
}
.nav-item small{
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  color:inherit;
}
.nav-item.nav-active,
.nav-item.nav-active small{
  color:#0052FF;
}

/* Mobile: topbar + bottom-nav fixas ao scroll (≤899px) */
@media (max-width:899px){
  #appView{
    overflow:hidden;
    padding-top:var(--game-topbar-px);
    padding-bottom:var(--nav-h);
  }
  #appView > header.topbar{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
  }
  #appView > nav.bottom-nav{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:1000;
  }
  #appView > main.app-main{
    min-height:0;
  }
  .br4-kyc-banner{
    z-index:1005;
  }
}

.overlay{position:fixed;inset:0;z-index:12000;display:none;flex-direction:column;background:var(--bg)}
.overlay.is-open{display:flex}
.overlay-header{height:50px;background:var(--verde);display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:rgba(0,0,0,.8)}
.overlay-close{border:none;background:rgba(0,0,0,.18);color:rgba(0,0,0,.7);width:34px;height:34px;border-radius:9px;cursor:pointer}
.roleta-overlay-bar{
  flex-shrink:0;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  background: #232936;
  border-bottom:1px solid var(--sep);
  color:rgba(255,255,255,.92);
}
.roleta-overlay-bar strong{
  font-size:14px;
  font-weight:800;
  letter-spacing:.04em;
}
.roleta-overlay-close{
  width:34px;
  height:34px;
  border:none;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
  font-size:16px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease,color .15s ease;
}
.roleta-overlay-close:hover{background:rgba(255,255,255,.14);color:#fff}
.roleta-body{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:14px 18px calc(22px + var(--safe-bot));gap:10px;overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.roleta-intro{text-align:center;margin-bottom:8px;max-width:320px}
.roleta-intro-title{
  font-size:clamp(1.05rem,4.2vw,1.2rem);
  color:rgba(245,230,200,.95);
  margin-bottom:6px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.roleta-intro-lead{font-size:12px;color:var(--txt2);line-height:1.45}
.roleta-canvas-wrap{position:relative;margin:12px 0 14px;flex-shrink:0}
.roleta-wheel-wrap{
  width:min(280px,88vw);
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  box-shadow:0 14px 44px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);
}
.roleta-wheel-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform-origin:50% 50%;
  will-change:transform;
}
.roleta-pointer{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:20px;color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.5);z-index:2;pointer-events:none}
.btn-roleta{
  width:min(280px,88vw);
  height:48px;
  flex-shrink:0;
  background:linear-gradient(180deg,#2a2a2a 0%,#141414 100%);
  color:rgba(255,255,255,.94);
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  box-shadow:0 4px 22px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .12s ease,filter .15s ease,border-color .2s ease,box-shadow .2s ease;
}
.btn-roleta:hover:not(:disabled){
  filter:brightness(1.05);
  border-color:rgba(212,175,55,.4);
  box-shadow:0 6px 26px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08),0 0 24px rgba(212,175,55,.08);
}
.btn-roleta:active:not(:disabled){transform:scale(.985)}
.btn-roleta:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.15)}
.roleta-status{
  width:100%;max-width:300px;margin:14px 0 10px;padding:12px 14px;border-radius:14px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);text-align:center;
}
.roleta-status-row{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:8px}
.roleta-status-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--txt2)}
.roleta-countdown{
  font-family:var(--mono);font-size:1.35rem;font-weight:700;color:var(--amarelo);letter-spacing:.04em;line-height:1.2;
}
.roleta-countdown.is-ready{font-size:1rem;color:var(--verde);font-family:var(--sans);font-weight:800;text-transform:lowercase}
.roleta-attempts{font-size:12px;color:var(--txt2);margin:0}
.roleta-attempts strong{color:var(--txt);font-family:var(--mono);font-weight:700}
.btn-roleta-close{
  flex:0 0 auto;
  align-self:center;
  margin-top:4px;
  min-width:108px;
  height:36px;
  padding:0 20px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(100,118,160,.35);
  border-radius:999px;
  box-shadow:0 2px 10px rgba(0,0,0,.15);
  transition:background .15s ease,border-color .15s ease,transform .12s ease;
}
.btn-roleta-close:hover{background:rgba(255,255,255,.1);border-color:rgba(140,160,200,.45)}
.btn-roleta-close:active{transform:scale(.97)}

.overlay-bottom{
  justify-content:flex-end;
  align-items:center;
  background:rgba(27, 32, 43, .78);
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
}
.overlay-bottom.is-open .deposit-sheet{
  animation:depositSheetReveal .34s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes depositSheetReveal{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
.deposit-sheet{
  position:relative;
  width:100%;
  max-width:480px;
  max-height:min(92vh,820px);
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:20px 18px calc(16px + var(--safe-bot));
}
.deposit-sheet--br4{
  background:#111111;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 20px 50px rgba(0,0,0,.55);
}
.deposit-sheet--pix{
  padding-top:48px;
  padding-bottom:calc(16px + var(--safe-bot));
}
.deposit-sheet--pix .deposit-sheet-close{display:none}
.deposit-sheet-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  width:36px;
  height:36px;
  border-radius:10px;
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.8);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  transition:background .15s ease,color .15s ease;
}
.deposit-sheet-close:hover{background:rgba(255,255,255,.16);color:#fff}

.deposit-form-view{padding-top:8px}
.deposit-form-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
  padding-right:36px;
}
.deposit-form-head-icon{
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.9);
  display:flex;
  align-items:center;
  justify-content:center;
}
.deposit-form-title{
  margin:0 0 4px;
  font-size:18px;
  font-weight:800;
  letter-spacing:.02em;
  color:#fff;
}
.deposit-form-sub{
  margin:0;
  font-size:13px;
  font-weight:500;
  color:rgba(255,255,255,.55);
  line-height:1.35;
}
.deposit-low-balance-banner{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 14px;
  margin:0 0 16px;
  border-radius:8px;
  background:rgba(127,29,29,.35);
  border:1px solid rgba(239,68,68,.35);
  box-sizing:border-box;
}
.deposit-low-balance-banner--hidden{
  display:none;
}
.deposit-low-balance-banner__ic-wrap{
  flex-shrink:0;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#ef4444;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:15px;
  line-height:1;
  box-shadow:0 2px 8px rgba(239,68,68,.35);
}
.deposit-low-balance-banner__ic{
  transform:translateY(-1px);
}
.deposit-low-balance-banner__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.deposit-low-balance-banner__title{
  margin:0;
  font-size:14px;
  font-weight:800;
  color:#ef4444;
  letter-spacing:.01em;
  line-height:1.25;
}
.deposit-low-balance-banner__sub{
  margin:0;
  font-size:12px;
  font-weight:400;
  color:rgba(255,255,255,.82);
  line-height:1.45;
}
.deposit-suggest-label{
  margin:0 0 8px;
  font-size:12px;
  font-weight:600;
  color:rgba(255,255,255,.52);
}
.quick-values--row{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin-bottom:18px;
}
.quick-values--row .quick-value{
  flex:1;
  min-width:0;
  position:relative;
  padding:11px 6px;
  text-align:center;
  font-size:12px;
  font-weight:700;
  border-radius:10px;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.22);
  background:#1a1a1a;
  color:#fff;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease;
}
.quick-values--row .quick-value:active{transform:scale(.98)}
.quick-values--row .quick-value.active{
  background:#fff;
  color:#FFFFFF;
  border-color:#fff;
}
.deposit-amt-label{
  display:block;
  font-size:14px;
  font-weight:700;
  color:#fff;
  margin:0 0 8px;
}
.deposit-amt-field{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  min-height:48px;
  border-radius:12px;
  background:#1a1a1a;
  border:1px solid rgba(255,255,255,.14);
}
.deposit-amt-prefix{
  font-size:14px;
  font-weight:600;
  color:rgba(255,255,255,.45);
  flex-shrink:0;
}
.deposit-amt-input{
  flex:1;
  min-width:0;
  border:none;
  background:transparent;
  color:#fff;
  font-size:16px;
  font-weight:600;
  font-family:var(--sans);
  outline:none;
  padding:12px 0;
}
.deposit-amt-input::placeholder{color:rgba(255,255,255,.35)}
.deposit-min-hint{
  margin:8px 0 0;
  font-size:12px;
  font-weight:500;
  color:rgba(255,255,255,.42);
  line-height:1.35;
  transition:color .2s ease,font-weight .2s ease;
}
.deposit-min-hint--error{
  color:#fb923c;
  font-weight:700;
}
.deposit-amt-field--error{
  border-color:rgba(249,115,22,.88);
  box-shadow:0 0 0 1px rgba(249,115,22,.25),0 0 18px rgba(249,115,22,.12);
}
.deposit-form-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:22px;
  flex-wrap:wrap;
}
.btn-deposit-cancel{
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  color:#fff;
  background:transparent;
  border:1px solid rgba(255,255,255,.35);
  transition:background .15s ease,border-color .15s ease;
}
.btn-deposit-cancel:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.5)}
.btn-deposit-continue{
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  font-family:var(--sans);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  color:#FFFFFF;
  background:#fff;
  border:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:filter .15s ease,transform .12s ease;
}
.btn-deposit-continue:hover{filter:brightness(.96)}
.btn-deposit-continue:active{transform:scale(.98)}
.deposit-continue-arrow{font-size:15px;font-weight:800;line-height:1}

.pix-sheet-body{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
  max-width:100%;
  min-height:200px;
}
.pix-loading-panel{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:48px 20px 40px;
  gap:14px;
}
#pixModal.pix-modal--loading .pix-loading-panel{display:flex}
.pix-main-panel{
  display:block;
  width:100%;
}
#pixModal.pix-modal--loading .pix-main-panel{display:none}
#pixModal.pix-modal--loading .pix-loading-panel{pointer-events:none}
.pix-loading-spinner{
  width:40px;
  height:40px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.15);
  border-top-color:#fff;
  animation:pixSpin .85s linear infinite;
}
.pix-loading-title{
  margin:0;
  font-size:17px;
  font-weight:800;
  color:#fff;
  letter-spacing:.02em;
}
.pix-loading-sub{
  margin:0;
  max-width:260px;
  font-size:13px;
  font-weight:500;
  line-height:1.45;
  color:rgba(255,255,255,.52);
}

.pix-timer-bar{
  width:100%;
  box-sizing:border-box;
  background:var(--verde);
  border-radius:999px;
  padding:10px 14px;
  margin:0 0 12px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px 12px;
  color:#03140a;
  font-size:12px;
  font-weight:700;
  text-align:center;
  box-shadow:0 2px 12px rgba(0, 82, 255, .35);
}
.pix-timer-bar--ended{
  background:#3f3f46;
  color:rgba(255,255,255,.88);
  box-shadow:none;
}
.pix-timer-ic{
  display:inline-flex;
  color:inherit;
  opacity:.9;
}
.pix-timer-txt{font-weight:700}
.pix-timeout-nums strong,
.pix-timer-digits strong{
  font-weight:900;
  font-variant-numeric:tabular-nums;
  letter-spacing:.04em;
}
.pix-timer-sep{
  margin:0 1px;
  opacity:.75;
  font-weight:800;
}

.pix-pending{
  width:100%;
  border-radius:10px;
  padding:6px 10px;
  text-align:center;
  font-size:11px;
  font-weight:700;
  margin:0 0 12px;
  letter-spacing:.02em;
}
.pix-pending--waiting{
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.45);
  border:1px solid rgba(255,255,255,.08);
}
.pix-pending--paid{
  background:rgba(0, 82, 255, .22);
  color:#DBEAFE;
  border:1px solid rgba(0, 82, 255, .45);
}

.pix-qr-wrap{
  background:#fff;
  border-radius:14px;
  padding:10px;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 14px;
  max-width:220px;
  width:100%;
  box-sizing:border-box;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
}
.pix-qr-wrap img{
  max-width:188px;
  width:100%;
  height:auto;
  display:block;
}
.pix-value-block{
  text-align:center;
  margin:0 0 12px;
}
.pix-value-lbl{
  margin:0 0 4px;
  font-size:12px;
  font-weight:600;
  color:rgba(255,255,255,.5);
}
.pix-value-num{
  margin:0;
  font-size:22px;
  font-weight:900;
  color:var(--verde);
  letter-spacing:.02em;
}
.pix-code-scroll{
  width:100%;
  max-height:72px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  margin:0 0 12px;
  padding:10px 12px;
  background:#0d0d0d;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  text-align:left;
  box-sizing:border-box;
}
.pix-code{
  margin:0;
  font-family:var(--mono);
  font-size:10px;
  font-weight:500;
  line-height:1.55;
  color:rgba(255,255,255,.65);
  word-break:break-all;
  white-space:normal;
}

.pix-cta{
  width:100%;
  min-height:46px;
  padding:0 14px;
  border-radius:999px;
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  border:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
}
.pix-cta:active{transform:scale(.985)}
.pix-cta:disabled{opacity:.45;pointer-events:none}

.pix-cta--copy{
  background:#1f1f1f;
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  gap:0;
}
.pix-cta--copy:not(.pix-cta--copied):hover:not(:disabled){background:#262626;border-color:rgba(255,255,255,.38)}
.pix-copy-inner{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:100%;
}
.pix-copy-icon{
  flex-shrink:0;
  color:currentColor;
  opacity:.95;
}
.pix-copy-check{
  display:none;
  font-size:15px;
  font-weight:900;
  line-height:1;
  color:#fff;
}
.pix-copy-label{transition:color .2s ease}
.pix-cta--copied,
.pix-cta--copy.pix-cta--copied{
  background-color:#0052FF;
  background-image:none;
  color:#fff;
  border-color:#0052FF;
  box-shadow:0 4px 18px rgba(0, 82, 255, .4);
}
.pix-cta--copy.pix-cta--copied:hover:not(:disabled),
.pix-cta--copied:hover:not(:disabled){
  background-color:#0052FF;
  background-image:none;
  border-color:#0052FF;
}
.pix-cta--copied .pix-copy-inner{color:#fff}
.pix-cta--copied .pix-copy-icon{display:none}
.pix-cta--copied .pix-copy-check{display:inline-flex;color:#fff}
.pix-cta--copied .pix-copy-label{color:#fff;font-weight:800}

.pix-foot-row{
  display:flex;
  flex-direction:row;
  align-items:stretch;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
  width:100%;
  flex-wrap:nowrap;
}
.pix-foot-btn{
  flex:1 1 0;
  min-width:0;
  min-height:48px;
  padding:12px 10px;
  background:#1a1a1a;
  border:1px solid #374151;
  border-radius:12px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  font-family:var(--sans);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease,opacity .2s ease;
}
.pix-foot-btn:hover{
  background:#222;
  border-color:#4b5563;
  color:#fff;
}
.pix-foot-btn:active{transform:scale(.987)}
.pix-foot-btn:disabled{opacity:.4;pointer-events:none}

.pix-info-foot{
  margin:16px 0 0;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(0, 82, 255,.1);
  border:1px solid rgba(96,165,250,.35);
  color:#93c5fd;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
  display:flex;
  gap:10px;
  align-items:flex-start;
  text-align:left;
}
.pix-info-foot-ic{
  flex-shrink:0;
  width:20px;
  height:20px;
  border-radius:50%;
  border:1px solid rgba(147,197,253,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
  line-height:1;
  margin-top:1px;
}

.pix-refresh-inner{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.pix-refresh-label{transition:opacity .2s ease}
.pix-refresh-spinner{
  display:none;
  width:13px;
  height:13px;
  flex-shrink:0;
  border:2px solid rgba(255,255,255,.25);
  border-top-color:rgba(255,255,255,.9);
  border-radius:50%;
  animation:pixSpin .7s linear infinite;
}
.pix-foot-btn--refresh.pix-cta--loading .pix-refresh-spinner{display:block}
.pix-foot-btn--refresh.pix-cta--loading{pointer-events:none;opacity:.75}
@keyframes pixSpin{
  to{transform:rotate(360deg)}
}

/* Modal verificação conta (code 3170 / recaptcha pendente) */
.verification-overlay{
  position:fixed;
  inset:0;
  z-index:120000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:max(16px, env(safe-area-inset-top)) 18px max(16px, env(safe-area-inset-bottom));
  background:rgba(5,8,18,.82);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  isolation:isolate;
}
.verification-overlay.is-open{
  display:flex;
  animation:verificationOverlayIn .34s cubic-bezier(0.22,1,0.36,1) both;
}
.verification-overlay.is-open.verification-enter .verification-card{
  animation:verificationCardIn .42s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes verificationOverlayIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes verificationCardIn{
  from{opacity:0;transform:scale(.94) translateY(14px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
.verification-card{
  position:relative;
  width:100%;
  max-width:340px;
  max-height:min(88vh, 560px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:26px 22px 22px;
  text-align:center;
  background:linear-gradient(168deg,rgba(28,36,58,.94) 0%,rgba(14,20,38,.97) 100%);
  border:1px solid rgba(100,130,200,.28);
  border-radius:20px;
  box-shadow:
    0 20px 56px rgba(0,0,0,.5),
    0 0 0 1px rgba(255,255,255,.06) inset,
    inset 0 1px 0 rgba(255,255,255,.1),
    0 0 48px rgba(59,158,255,.12);
}
.verification-x{
  position:absolute;
  top:11px;
  right:11px;
  width:32px;
  height:32px;
  border:none;
  border-radius:11px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.75);
  font-size:13px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease,color .2s ease,transform .18s ease;
}
.verification-x:hover{background:rgba(255,255,255,.14);color:#fff}
.verification-x:active{transform:scale(.94)}
.verification-glow-icon{
  width:52px;
  height:52px;
  margin:0 auto 14px;
  border-radius:50%;
  font-size:22px;
  line-height:52px;
  font-weight:800;
  color:rgba(186,230,253,.95);
  background:radial-gradient(circle at 35% 30%,rgba(147,197,253,.35) 0%,transparent 55%),
    radial-gradient(circle at 70% 80%,rgba(0, 82, 255, .22) 0%,transparent 50%),
    linear-gradient(145deg,rgba(45,55,88,.9) 0%,rgba(22,30,52,.95) 100%);
  border:1px solid rgba(120,160,220,.25);
  box-shadow:0 0 28px rgba(59,158,255,.18),inset 0 1px 0 rgba(255,255,255,.12);
}
.verification-title{
  margin:0 0 12px;
  font-size:20px;
  font-weight:800;
  color:#fff;
  letter-spacing:.02em;
  line-height:1.2;
}
.verification-lead{
  margin:0 0 14px;
  font-size:14px;
  line-height:1.65;
  color:rgba(255,255,255,.86);
  padding:0 2px;
}
.verification-sub{
  margin:0 0 22px;
  font-size:12px;
  line-height:1.55;
  color:var(--txt2);
  padding:0 4px;
}
.verification-primary{
  width:100%;
  min-height:50px;
  border:none;
  border-radius:14px;
  cursor:pointer;
  font-family:var(--sans);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  color:#031a0c;
  background:linear-gradient(180deg,#0052FF 0%,#0052FF 48%,#0052FF 100%);
  border:1px solid rgba(0, 82, 255, .55);
  box-shadow:0 4px 20px rgba(0, 82, 255, .32),inset 0 1px 0 rgba(255,255,255,.22);
  transition:filter .2s ease,transform .2s cubic-bezier(0.22,1,0.36,1),box-shadow .2s ease;
}
.verification-primary:hover{filter:brightness(1.06);box-shadow:0 6px 22px rgba(0, 82, 255, .38)}
.verification-primary:active{transform:scale(.987)}
@media (max-width:380px){
  .verification-card{padding:22px 16px 18px;max-width:100%}
  .verification-title{font-size:18px}
}

.payment-confirmed-overlay{
  position:fixed;
  inset:0;
  z-index:12000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:max(16px, env(safe-area-inset-top)) 18px max(16px, env(safe-area-inset-bottom));
  background:rgba(8,12,24,.78);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  isolation:isolate;
}
.payment-confirmed-overlay.is-open{
  display:flex;
  animation:payOverlayIn .34s cubic-bezier(0.22,1,0.36,1) both;
}
.payment-confirmed-overlay.is-open.pay-confirm-enter .payment-confirmed-card{
  animation:payCardIn .4s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes payOverlayIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes payCardIn{
  from{opacity:0;transform:scale(.94) translateY(16px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
.payment-confirmed-card{
  position:relative;
  width:100%;
  max-width:300px;
  padding:28px 22px 22px;
  text-align:center;
  background:linear-gradient(165deg,rgba(32,40,62,.92) 0%,rgba(18,24,42,.95) 100%);
  border:1px solid rgba(130,148,190,.22);
  border-radius:18px;
  box-shadow:0 16px 48px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.05) inset,inset 0 1px 0 rgba(255,255,255,.08);
}
.payment-confirmed-x{
  position:absolute;
  top:11px;
  right:11px;
  width:30px;
  height:30px;
  border:none;
  border-radius:10px;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.72);
  font-size:12px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease,color .2s ease,transform .18s ease;
}
.payment-confirmed-x:hover{background:rgba(255,255,255,.12);color:#fff}
.payment-confirmed-x:active{transform:scale(.95)}
.payment-confirmed-icon{
  width:56px;
  height:56px;
  margin:0 auto 16px;
  border-radius:50%;
  background:linear-gradient(180deg, #2950C9 0%, #0052FF 55%, #0052FF 100%);
  color:#fff;
  font-size:28px;
  font-weight:800;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 18px rgba(0, 82, 255, .28),inset 0 1px 0 rgba(255,255,255,.2);
}
.payment-confirmed-title{
  margin:0 0 10px;
  font-size:17px;
  font-weight:800;
  color:#fff;
  letter-spacing:.015em;
  line-height:1.25;
}
.payment-confirmed-text{
  margin:0 0 22px;
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.78);
  padding:0 2px;
}
.payment-confirmed-primary{
  width:100%;
  min-height:50px;
  margin-bottom:11px;
  border:none;
  border-radius:14px;
  cursor:pointer;
  font-family:var(--sans);
  font-size:13px;
  font-weight:800;
  letter-spacing:.1em;
  color:#031a0c;
  background:linear-gradient(180deg, #2950C9 0%, #0052FF 48%, #0052FF 100%);
  border:1px solid rgba(0, 82, 255, .55);
  box-shadow:0 3px 14px rgba(0, 82, 255, .28),inset 0 1px 0 rgba(255,255,255,.22);
  transition:filter .2s ease,transform .2s cubic-bezier(0.22,1,0.36,1),box-shadow .2s ease;
}
.payment-confirmed-primary:hover{filter:brightness(1.05);box-shadow:0 4px 18px rgba(0, 82, 255, .34)}
.payment-confirmed-primary:active{transform:scale(.985)}
.payment-confirmed-secondary{
  width:100%;
  min-height:44px;
  border-radius:14px;
  cursor:pointer;
  font-family:var(--sans);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.1em;
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.22);
  transition:background .2s ease,border-color .2s ease,transform .18s ease;
}
.payment-confirmed-secondary:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.35);
}
.payment-confirmed-secondary:active{transform:scale(.985)}

/* PIX aprovado — modal minimal (centro, 3s ou toque fora) */
.payment-confirmed-overlay--pixok{
  cursor:pointer;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px) saturate(120%);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
}
.payment-confirmed-card--pixok{
  cursor:default;
  max-width:320px;
  padding:32px 28px 28px;
  background:#111111;
  border:1px solid rgba(0, 82, 255, .45);
  border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04);
}
.payment-confirmed-check-ring{
  width:72px;
  height:72px;
  margin:0 auto 20px;
  border-radius:50%;
  background:#0052FF;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 28px rgba(0, 82, 255, .35),inset 0 1px 0 rgba(255,255,255,.2);
}
.payment-confirmed-check-svg{
  display:block;
}
.payment-confirmed-title--pixok{
  margin:0;
  font-size:18px;
  font-weight:800;
  color:#fff;
  letter-spacing:.02em;
}

@media (max-width:380px){
  .quick-values--row{gap:6px}
  .quick-values--row .quick-value{font-size:11px;padding:9px 4px}
  .pix-qr-wrap{max-width:200px;padding:8px}
  .pix-qr-wrap img{max-width:164px}
  .pix-value-num{font-size:19px}
  .payment-confirmed-card{max-width:100%;padding:24px 18px 20px}
  .payment-confirmed-icon{width:52px;height:52px;font-size:25px;margin-bottom:14px}
  .payment-confirmed-card--pixok{max-width:100%;padding:24px 18px 22px}
  .payment-confirmed-check-ring{width:64px;height:64px;margin-bottom:16px}
  .payment-confirmed-title--pixok{font-size:16px}
}

.status-modal{position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.88);padding:24px}
.status-modal.is-open{display:flex}
.status-modal-card{background:var(--card);border-radius:16px;padding:22px;width:100%;max-width:320px;text-align:center}
.status-modal-card h3{font-size:22px;font-size:20px;margin-bottom:7px}
.status-modal-card p{font-size:13px;color:var(--txt2);line-height:1.6;margin-bottom:16px}
.status-modal-green{border:1px solid rgba(0, 82, 255, .3)}
.status-modal-red{border:1px solid rgba(239,68,68,.3)}

/* Gestão de banca — meta / stop loss */
.status-modal-card.bank-goal-modal,
.status-modal-card.bank-stop-modal{
  background:#111111;
  border-radius:18px;
  padding:26px 22px 22px;
  width:100%;
  max-width:340px;
  text-align:center;
}
.bank-goal-modal{
  border:1px solid rgba(0, 82, 255, .32);
  box-shadow:0 0 0 1px rgba(0, 82, 255, .08) inset;
}
.bank-stop-modal{
  border:1px solid rgba(248,113,113,.38);
  box-shadow:0 0 0 1px rgba(239,68,68,.08) inset;
}
.bank-goal-modal__icon,
.bank-stop-modal__icon{
  font-size:3.5rem;
  line-height:1;
  margin:0 auto 12px;
  display:block;
  user-select:none;
}
.bank-goal-modal .bank-goal-modal__title{
  font-size:1.4rem;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.2;
  margin:0 0 12px;
  color:#10B981;
  text-shadow:0 0 28px rgba(0, 82, 255, .4);
}
.bank-stop-modal .bank-stop-modal__title{
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.2;
  margin:0 0 12px;
  color:#f87171;
}
.bank-goal-modal .bank-goal-modal__sub,
.bank-stop-modal .bank-stop-modal__sub{
  font-size:14px;
  font-weight:500;
  color:rgba(229,231,235,.88);
  line-height:1.55;
  margin:0 0 20px;
}
.bank-goal-modal__btn{
  width:100%;
  min-height:48px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid #0052FF;
  background:linear-gradient(180deg,#0052FF,#0052FF);
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 2px 12px rgba(0, 82, 255, .25);
}
.bank-goal-modal__btn:hover{filter:brightness(1.06)}
.bank-goal-modal__btn:active{transform:scale(.985)}
.bank-stop-modal__btn{
  width:100%;
  min-height:48px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid #b91c1c;
  background:linear-gradient(180deg,#ef4444,#dc2626);
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 2px 12px rgba(239,68,68,.22);
}
.bank-stop-modal__btn:hover{filter:brightness(1.05)}
.bank-stop-modal__btn:active{transform:scale(.985)}

@keyframes rot{to{transform:rotate(360deg)}}

/* FIX 2026-06-10 (desktop): app ocupa a tela toda; LOGIN centralizado e MAIOR
   (banner grande no topo, logo maior abaixo, campos/botões esticados); e DENTRO
   DO JOGO o iframe, o sinal em tempo real, o placar do dia e os números do
   histórico ficam maiores. Tudo escopado a min-width:900 — telefone intacto. */
@media (min-width:900px){
  /* Backdrop de marca RX7 em toda a tela. */
  body, html{
    background:
      radial-gradient(1200px 760px at 50% -12%, rgba(0,82,255,.20) 0%, transparent 60%),
      radial-gradient(1000px 700px at 100% 108%, rgba(29,78,216,.16) 0%, transparent 55%),
      radial-gradient(900px 640px at 0% 108%, rgba(0,82,255,.12) 0%, transparent 55%),
      linear-gradient(180deg, #0a0e16 0%, #0d111b 55%, #10131c 100%) !important;
    background-attachment: fixed !important;
  }
  /* App ocupa a largura toda (sem coluna central / sem barras laterais). */
  .app-shell{
    max-width:none !important;
    margin:0 !important;
    border-left:none !important;
    border-right:none !important;
    box-shadow:none !important;
  }

  /* ── LOGIN centralizado e MAIOR ──────────────────────────────────────── */
  #loginView .login-content{
    max-width:640px;
    margin:0 auto;
    min-height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:48px 28px;
    box-sizing:border-box;
  }
  /* Banner centralizado e maior */
  #loginView .login-banner-carousel{
    max-width:640px !important;
    width:100% !important;
    margin:0 auto 10px !important;
    border-radius:18px;
  }
  /* Logo maior, abaixo do banner */
  #loginView .login-brand{ margin:14px 0 26px !important; }
  #loginView .login-logos-row .login-logo{
    height:auto !important;
    width:70% !important;
    max-width:380px !important;
    margin:0 auto !important;
  }
  /* Formulário esticado */
  #loginView .login-card-shell{ max-width:640px !important; width:100% !important; margin:0 auto !important; }
  #loginView .login-input{ height:62px !important; font-size:17px !important; border-radius:14px !important; }
  #loginView #loginBtn.btn-login-premium{ height:60px !important; font-size:18px !important; border-radius:14px !important; }
  #loginView .login-register-hint{ font-size:15px !important; }
  #loginView .login-support-wrap{ max-width:640px; width:100%; margin:16px auto 0; }
  #loginView .login-support-btn{ height:58px !important; font-size:15px !important; }

  /* ── DENTRO DO JOGO: tudo maior (coluna central larga ~760px) ────────── */
  /* iframe do jogo maior */
  #appView .game-frame-wrap{
    max-width:760px !important;
    height:min(calc(100vh - var(--game-topbar-px) - 96px), 680px) !important;
    max-height:min(720px, 74vh) !important;
  }
  /* sinal em tempo real maior */
  #appView .signal-card{ max-width:760px; margin-left:auto !important; margin-right:auto !important; padding:22px 26px; }
  #appView .signal-title{ font-size:40px !important; }
  #appView .signal-subtitle{ font-size:16px !important; }
  /* placar do dia maior */
  #appView .group{ max-width:760px; margin-left:auto; margin-right:auto; }
  #appView .stats-grid{ max-width:760px; margin-left:auto !important; margin-right:auto !important; gap:14px; }
  #appView .stat-box{ padding:22px 18px !important; }
  #appView .stat-value{ font-size:44px !important; }
  #appView .stat-label{ font-size:12px !important; }
  /* histórico: bolas e NÚMEROS maiores */
  #appView .history-grid{ max-width:760px; margin-left:auto; margin-right:auto; min-height:104px !important; }
  #appView .history-chip__value{ font-size:34px !important; }
}

/* —— Documentos legais (páginas standalone) —— */
html.legal-doc{
  height:auto;
  min-height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
html.legal-doc body.legal-doc-body{
  height:auto;
  min-height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.legal-doc-body{
  margin:0;
  font-family:var(--sans);
  color:var(--txt);
  background:#03060f;
  -webkit-font-smoothing:antialiased;
}
.legal-doc-shell{
  position:relative;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:calc(var(--safe-top) + 16px) 18px calc(var(--safe-bot) + 28px);
}
.legal-doc-bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 100% 80% at 50% -25%, rgba(0, 82, 255, .12) 0%, transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(59,158,255,.07) 0%, transparent 45%),
    linear-gradient(180deg, #050a14 0%, #080e1e 100%);
}
.legal-doc-main{
  position:relative;
  z-index:1;
  width:100%;
  max-width:42rem;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.legal-doc-header{
  text-align:center;
  margin-bottom:1.5rem;
  max-width:36rem;
}
.legal-doc-logo{
  width:min(200px, 55vw);
  height:44px;
  margin:0 auto 1.25rem;
  object-fit:contain;
  filter:drop-shadow(0 4px 20px rgba(0,0,0,.45));
}
.legal-doc-header h1{
  font-size:clamp(1.35rem, 4.5vw, 1.75rem);
  font-weight:900;
  letter-spacing:-.02em;
  margin:0 0 .4rem;
}
.legal-doc-header p{
  font-size:13px;
  color:var(--txt2);
  line-height:1.45;
  margin:0;
}
.legal-doc-card{
  width:100%;
  border-radius:22px;
  padding:1.5rem 1.25rem 1.75rem;
  background:linear-gradient(155deg, rgba(17,24,39,.88) 0%, rgba(10,15,28,.92) 100%);
  border:1px solid rgba(120,140,180,.24);
  box-shadow:
    0 20px 44px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
@media (min-width:640px){
  .legal-doc-card{padding:2rem 1.75rem 2rem}
}
.legal-doc-section{
  margin-bottom:1.75rem;
}
.legal-doc-section:last-child{margin-bottom:0}
.legal-doc-section h2{
  font-size:1.05rem;
  font-weight:800;
  margin:0 0 .65rem;
  color:var(--txt);
}
.legal-doc-section p,
.legal-doc-section li{
  font-size:13px;
  line-height:1.65;
  color:var(--txt2);
  margin:0 0 .65rem;
}
.legal-doc-section p:last-child{margin-bottom:0}
.legal-doc-section ul{
  margin:.35rem 0 0;
  padding:0;
  list-style:none;
}
.legal-doc-section li{
  position:relative;
  padding-left:1.1rem;
  margin-bottom:.45rem;
}
.legal-doc-section li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55rem;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--verde);
  box-shadow:0 0 8px rgba(0, 82, 255, .45);
}
.legal-doc-strong{color:rgba(255,255,255,.88);font-weight:600}
.legal-doc-back{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:1.75rem;
  padding:.65rem 1.25rem;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(120,140,180,.35);
  border-radius:999px;
  box-shadow:0 4px 16px rgba(0,0,0,.2);
  transition:background .18s ease, border-color .18s ease, transform .12s ease, color .12s ease;
}
.legal-doc-back:hover{
  background:rgba(0, 82, 255, .15);
  border-color:rgba(0, 82, 255, .4);
  color:#fff;
}
.legal-doc-back:active{transform:scale(.98)}
.legal-doc-back svg{
  flex-shrink:0;
  opacity:.85;
  transition:transform .18s ease;
}
.legal-doc-back:hover svg{transform:translateX(-2px)}

/* Debug Bac Bo — só aparece com window.MESTRE_DEBUG === true (app.js) */
.mestre-debug-panel{
  position:fixed;
  right:10px;
  bottom:calc(var(--nav-h) + 10px);
  z-index:12200;
  width:min(300px, calc(100vw - 20px));
  max-height:min(52vh, 420px);
  overflow:auto;
  padding:10px 11px;
  font-family:var(--mono);
  font-size:10px;
  line-height:1.35;
  color:rgba(255,255,255,.88);
  pointer-events:none;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(27, 32, 43, .72);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:0 12px 40px rgba(0,0,0,.45);
}
.mestre-debug-panel__head{
  font-weight:700;
  font-size:10px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  margin-bottom:8px;
}
.mestre-debug-panel__row{
  display:flex;
  gap:6px;
  align-items:flex-start;
  margin-bottom:5px;
}
.mestre-debug-panel__row--flags{
  flex-wrap:wrap;
}
.mestre-debug-panel__k{
  flex:0 0 38%;
  color:rgba(255,255,255,.45);
  font-size:9px;
}
.mestre-debug-panel__v{
  flex:1;
  min-width:0;
  word-break:break-all;
  font-size:10px;
  color:rgba(186,230,253,.95);
}
.mestre-debug-panel__v--wrap{white-space:normal}
.mestre-debug-panel__block{margin:8px 0 6px}
.mestre-debug-panel__lbl{
  font-size:9px;
  color:rgba(255,255,255,.42);
  margin-bottom:3px;
}
.mestre-debug-panel__pre{
  margin:0;
  padding:6px 7px;
  max-height:120px;
  overflow:auto;
  border-radius:8px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(226,232,240,.9);
  white-space:pre-wrap;
  word-break:break-word;
}
.mestre-debug-panel__pill{
  display:inline-block;
  margin:0 4px 4px 0;
  padding:2px 6px;
  border-radius:999px;
  font-size:9px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.65);
}
.mestre-debug-panel__pill--hit{
  background:rgba(59,158,255,.2);
  color:rgba(186,230,253,.95);
  border:1px solid rgba(59,158,255,.35);
}

/* Boot de sessão: cobre login/app até restaurar cookie (evita flash da tela de login) */
.session-boot{
  position:fixed;
  inset:0;
  z-index:10100;
  display:none;
  align-items:center;
  justify-content:center;
  background:var(--bg);
  transition:opacity .22s ease;
}
.session-boot--visible{
  display:flex;
}
.session-boot__card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  padding:2rem 2.25rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(14,14,14,.94);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
}
.session-boot__ring{
  width:36px;
  height:36px;
  border-radius:50%;
  border:3px solid rgba(0, 82, 255, .18);
  border-top-color:rgba(0, 82, 255, .88);
  animation:session-boot-spin .75s linear infinite;
}
.session-boot__text{
  font-size:14px;
  font-weight:600;
  color:rgba(255,255,255,.55);
  letter-spacing:.02em;
}
@keyframes session-boot-spin{
  to{transform:rotate(360deg)}
}

/* ── Modal "Em Breve" — Roleta ─────────────────────────────────────────── */
.roleta-coming-soon-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.78);
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.roleta-coming-soon-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}
.roleta-coming-soon-card{
  background:#111111;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  padding:28px 22px 24px;
  text-align:center;
  max-width:340px;
  width:100%;
  box-shadow:0 20px 50px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04);
}
.roleta-coming-soon-emoji{
  font-size:52px;
  margin-bottom:12px;
  line-height:1;
}
.roleta-coming-soon-title{
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:10px;
  color:#fff;
}
.roleta-coming-soon-desc{
  font-size:13px;
  color:rgba(255,255,255,.62);
  line-height:1.55;
  margin-bottom:22px;
}
.btn-coming-soon-close{
  width:100%;
  max-width:260px;
  min-height:46px;
  margin:0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  color:rgba(255,255,255,.92);
  background:transparent;
  border:1px solid rgba(255,255,255,.32);
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .12s ease;
}
.btn-coming-soon-close:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.45);
}
.btn-coming-soon-close:active{transform:scale(.987)}

/* Banner KYC /me (uma vez por sessão de aba) */
.br4-kyc-banner{
  position:fixed;
  left:0;
  right:0;
  top:var(--game-topbar-px);
  z-index:35;
  padding:0 10px 8px;
  pointer-events:none;
  display:flex;
  justify-content:center;
  animation:br4KycBannerIn .38s cubic-bezier(0.22,1,0.36,1) both;
}
.br4-kyc-banner[hidden]{display:none!important}
.br4-kyc-banner__inner{
  pointer-events:auto;
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:min(720px,100%);
  padding:10px 12px 10px 14px;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(234,179,8,.22) 0%,rgba(161,98,7,.18) 100%);
  border:1px solid rgba(234,179,8,.35);
  box-shadow:0 8px 28px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.br4-kyc-banner__text{
  margin:0;
  flex:1;
  min-width:0;
  font-size:13px;
  line-height:1.45;
  font-weight:600;
  color:rgba(254,243,199,.95);
  letter-spacing:.01em;
}
.br4-kyc-banner__link{
  margin-left:4px;
  color:#fef08a;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
  white-space:nowrap;
}
.br4-kyc-banner__link:hover{color:#fff}
.br4-kyc-banner__x{
  flex-shrink:0;
  width:30px;
  height:30px;
  margin-top:1px;
  border:none;
  border-radius:9px;
  background:rgba(0,0,0,.25);
  color:rgba(254,243,199,.85);
  font-size:14px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease,color .18s ease,transform .15s ease;
}
.br4-kyc-banner__x:hover{background:rgba(0,0,0,.4);color:#fff}
.br4-kyc-banner__x:active{transform:scale(.94)}
@keyframes br4KycBannerIn{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}

/* Modal 403 — verificação de identidade (BR4) */
.br4-kyc-id-overlay{
  position:fixed;
  inset:0;
  z-index:120050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:max(16px, env(safe-area-inset-top)) 18px max(16px, env(safe-area-inset-bottom));
  background:rgba(4,6,10,.86);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  isolation:isolate;
}
.br4-kyc-id-overlay.is-open{
  display:flex;
  animation:br4KycIdOverlayIn .32s ease both;
}
.br4-kyc-id-overlay.is-open.br4-kyc-id-enter .br4-kyc-id-card{
  animation:br4KycIdCardIn .4s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes br4KycIdOverlayIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes br4KycIdCardIn{
  from{opacity:0;transform:scale(.94) translateY(12px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
.br4-kyc-id-card{
  width:100%;
  max-width:360px;
  padding:28px 22px 22px;
  text-align:center;
  background:#111111;
  border:1px solid rgba(212,175,55,.38);
  border-radius:18px;
  box-shadow:
    0 22px 60px rgba(0,0,0,.55),
    0 0 0 1px rgba(212,175,55,.12) inset,
    inset 0 1px 0 rgba(255,255,255,.04);
}
.br4-kyc-id-shield{
  font-size:52px;
  line-height:1;
  margin:0 0 14px;
  filter:drop-shadow(0 2px 12px rgba(212,175,55,.25));
}
.br4-kyc-id-title{
  margin:0 0 12px;
  font-size:19px;
  font-weight:800;
  color:#fff;
  letter-spacing:.02em;
  line-height:1.25;
}
.br4-kyc-id-sub{
  margin:0 0 22px;
  font-size:13px;
  line-height:1.6;
  color:rgba(180,180,180,.95);
  padding:0 2px;
}
.br4-kyc-id-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.br4-kyc-id-btn{
  width:100%;
  min-height:48px;
  border-radius:13px;
  font-family:var(--sans);
  font-size:13px;
  font-weight:800;
  letter-spacing:.05em;
  cursor:pointer;
  border:none;
  transition:filter .2s ease,transform .18s ease,opacity .2s ease;
}
.br4-kyc-id-btn:active{transform:scale(.987)}
.br4-kyc-id-btn--primary{
  color:#031a0c;
  background:linear-gradient(180deg,#0052FF 0%,#0052FF 52%,#0052FF 100%);
  border:1px solid rgba(0, 82, 255, .5);
  box-shadow:0 4px 18px rgba(0, 82, 255, .28),inset 0 1px 0 rgba(255,255,255,.2);
}
.br4-kyc-id-btn--primary:hover{filter:brightness(1.05)}
.br4-kyc-id-btn--secondary{
  color:rgba(230,230,230,.92);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
}
.br4-kyc-id-btn--secondary:hover{background:rgba(255,255,255,.1)}
@media (max-width:380px){
  .br4-kyc-banner__text{font-size:12px}
  .br4-kyc-id-title{font-size:17px}
  .br4-kyc-id-card{padding:24px 16px 18px}
}

/* ── PWA: botão login + modal de instalação ─────────────────────────────── */
.btn-install-app{
  width:100%;
  min-height:54px;
  margin-top:14px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--sans);
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  color:#fff;
  background:transparent;
  border:1px solid rgba(0, 82, 255, .42);
  border-radius:14px;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .18s ease;
}
.btn-install-app:hover{
  background:rgba(0, 82, 255, .12);
  border-color:rgba(0, 82, 255, .55);
}
.btn-install-app:active{transform:scale(.987)}
#loginView .login-register-hint{margin-top:16px}

.pwa-install-backdrop{
  position:fixed;
  inset:0;
  z-index:13000;
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:16px 12px calc(16px + env(safe-area-inset-bottom,0px));
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(4px);
}
.pwa-install-backdrop.is-open{display:flex}
body.pwa-install-open{overflow:hidden}
.pwa-install-card{
  position:relative;
  width:100%;
  max-width:420px;
  max-height:min(92vh,720px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:22px 18px 18px;
  border-radius:20px;
  background:#111111;
  border:1px solid rgba(0, 82, 255, .35);
  box-shadow:0 24px 64px rgba(0,0,0,.55);
  color:#fff;
}
.pwa-install-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.85);
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.pwa-install-close:hover{background:rgba(255,255,255,.14)}
.pwa-install-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  padding-right:36px;
}
.pwa-install-logo{
  width:40px;
  height:40px;
  border-radius:10px;
  flex-shrink:0;
}
.pwa-install-title{
  margin:0;
  font-size:20px;
  font-weight:800;
  letter-spacing:.02em;
  color:#fff;
}
.pwa-install-subtitle{
  margin:4px 0 0;
  font-size:13px;
  color:rgba(255,255,255,.72);
}
.pwa-install-lead{
  margin:0 0 16px;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
  color:#fff;
  text-align:center;
}
.pwa-install-lead[hidden]{display:none!important}
.pwa-install-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}
.pwa-install-steps[hidden]{display:none!important}
.pwa-step__text{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.55;
  color:#fff;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.pwa-step__text strong{color:#fff;font-weight:800}
.pwa-step__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:12px;
  font-weight:800;
  flex-shrink:0;
}
.pwa-step__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:8px;
  background:#0a84ff;
  flex-shrink:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:16px 16px;
}
.pwa-step__icon--ellipsis{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='6' cy='12' r='2' fill='%23fff'/%3E%3Ccircle cx='12' cy='12' r='2' fill='%23fff'/%3E%3Ccircle cx='18' cy='12' r='2' fill='%23fff'/%3E%3C/svg%3E");
}
.pwa-step__icon--share{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M12 3l4 4M12 3 8 7'/%3E%3Cpath d='M5 14v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4'/%3E%3C/svg%3E");
}
.pwa-step__icon--add-home,.pwa-step__icon--menu{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3Crect x='4' y='4' width='16' height='16' rx='3' stroke='%23fff' fill='none'/%3E%3C/svg%3E");
}
.pwa-step__icon--menu{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='5' r='1.8' fill='%23fff'/%3E%3Ccircle cx='12' cy='12' r='1.8' fill='%23fff'/%3E%3Ccircle cx='12' cy='19' r='1.8' fill='%23fff'/%3E%3C/svg%3E");
}
.pwa-step__pill{
  display:inline-flex;
  align-items:center;
  padding:4px 12px;
  border-radius:999px;
  background:#0a84ff;
  color:#fff;
  font-size:13px;
  font-weight:700;
}
.pwa-step__visual{
  border-radius:14px;
  overflow:hidden;
  background:#111111;
  border:1px solid rgba(255,255,255,.08);
}
.pwa-step__visual--menu-row{
  background:#111111;
  min-height:0;
  padding:0;
  line-height:0;
}
.pwa-step__img{
  display:block;
  width:100%;
  height:auto;
  max-height:220px;
  object-fit:contain;
  object-position:center;
}
.pwa-step__img--menu-row{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:left center;
  vertical-align:top;
}
.pwa-step__img--chrome{
  max-height:140px;
  object-fit:cover;
  object-position:center top;
}
.btn-pwa-install-dismiss{
  width:100%;
  min-height:50px;
  border:none;
  border-radius:14px;
  font-size:15px;
  font-weight:800;
  color:#031008;
  background:linear-gradient(180deg,#10B981 0%,#0052FF 52%,#138a3e 100%);
  border:1px solid rgba(0, 82, 255, .4);
  cursor:pointer;
}
.btn-pwa-install-dismiss:hover{filter:brightness(1.06)}
.btn-pwa-install-dismiss:active{transform:scale(.987)}
@media (min-width:520px){
  .pwa-install-backdrop{align-items:center}
}

/* ═══════════════════════════════════════════════════════════════
   RX7 PREMIUM OVERRIDES — Targets specific class names
   ═══════════════════════════════════════════════════════════════ */

/* Modal radius — não muito redondo (10-12px ao invés de 21-24px) */
.br4-register-modal__card,
.login-card-shell,
.login-card,
.br4-doc-modal__card,
.br4-impeded-modal__card,
.br4-kyc-webview-modal,
.modal-content {
  border-radius: 12px !important;
}

/* Login card shell — fundo cinza, borda navy fina */
.login-card-shell {
  background: #1B202B !important;
  border: 1px solid #0052FF !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.4),
    0 0 24px rgba(0, 82, 255, 0.08) !important;
}

.login-card {
  background: #232936 !important;
  border: none !important;
}

/* Botão Premium Navy — gradient sutil profissional */
.btn-rx7-primary,
button.rx7-primary,
.br4-register-modal__submit,
.login-submit-btn,
button[type="submit"]:not(.btn-ghost):not(.btn-secondary) {
  background: linear-gradient(180deg, #2950C9 0%, #0052FF 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid #0052FF !important;
  border-radius: 10px !important;
  padding: 14px 24px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  transition: all 180ms ease !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 1px 2px rgba(0, 0, 0, 0.2) !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15) !important;
}

.btn-rx7-primary:hover,
button.rx7-primary:hover,
.br4-register-modal__submit:hover,
.login-submit-btn:hover,
button[type="submit"]:not(.btn-ghost):not(.btn-secondary):hover {
  background: linear-gradient(180deg, #3361E0 0%, #2745B8 100%) !important;
  border-color: #0052FF !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.15) inset,
    0 4px 12px rgba(0, 82, 255, 0.35) !important;
  transform: translateY(-1px);
}

.btn-rx7-primary:active,
.br4-register-modal__submit:active,
button[type="submit"]:not(.btn-ghost):not(.btn-secondary):active {
  transform: translateY(0);
  background: #0052FF !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset !important;
}

/* Botões secundários (Cancelar, Voltar) — ghost navy */
.btn-rx7-ghost,
.br4-register-modal__cancel,
.btn-secondary {
  background: transparent !important;
  color: #E8ECF4 !important;
  border: 1px solid #3B4254 !important;
  border-radius: 10px !important;
  padding: 13px 22px !important;
  font-weight: 600 !important;
  transition: all 150ms ease !important;
}

.btn-rx7-ghost:hover {
  border-color: #0052FF !important;
  background: rgba(0, 82, 255, 0.08) !important;
}

/* Input focus ring — navy */
input:focus, select:focus, textarea:focus,
.br4-modal__input:focus, .login-input:focus {
  border-color: #0052FF !important;
  box-shadow: 0 0 0 3px rgba(0, 82, 255, 0.15) !important;
  outline: none !important;
}

/* Body global — cinza grafite (não preto) */
html, body, #app, .app, main {
  background: #1B202B !important;
}

/* Header bar (onde fica logo + saldo + Depositar) */
.header, .navbar, .top-bar, [class*="header"]:not([class*="modal-header"]) {
  background: #232936 !important;
  border-bottom: 1px solid #2D3548 !important;
}

/* Bottom tab bar */
.bottom-nav, .tab-bar, [class*="bottom-tab"] {
  background: #232936 !important;
  border-top: 1px solid #2D3548 !important;
}

/* Card de saldo "**** [eye]" */
.saldo-display, .balance-card, [class*="saldo"] {
  background: #2A3142 !important;
  border: 1px solid #2D3548 !important;
  border-radius: 10px !important;
}

/* ═══════════════════════════════════════════════════════════════
   RX7 PROFESSIONAL POLISH — Fonts + Less rounded + Centered subtitles
   ═══════════════════════════════════════════════════════════════ */

/* Fonte profissional padrão — Inter (Google Fonts via @import) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* Aplicar Inter em TUDO, sobrescrevendo Exo 2 e outras */
*, *::before, *::after,
html, body,
button, input, select, textarea,
.login-card, .login-card-shell,
.br4-register-modal__card,
.br4-register-modal__title,
.br4-register-modal__subtitle,
.br4-modal__title, .br4-modal__subtitle,
[class*="modal"], [class*="card"] {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11', 'ss01';  /* Inter pro features */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Pesos profissionais */
h1, h2, h3, .title, [class*="title"] {
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}
h4, h5, h6, .subtitle, [class*="subtitle"] {
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
}
button, .btn, [class*="btn"] {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* ═══ BORDAS MENOS REDONDAS ═══ */
/* Modais: 12 → 6px (quase quadrado, sério) */
.br4-register-modal__card,
.login-card-shell,
.login-card,
.br4-doc-modal__card,
.br4-impeded-modal__card,
.br4-kyc-webview-modal,
.modal-content,
.modal {
  border-radius: 6px !important;
}

/* Botões: 10 → 4px */
button, .btn, [class*="btn"],
.br4-register-modal__submit, .br4-register-modal__cancel,
button[type="submit"], button[type="button"] {
  border-radius: 4px !important;
}

/* Inputs: 8 → 4px */
input, select, textarea,
.br4-modal__input, .login-input {
  border-radius: 4px !important;
}

/* Cards menores (saldo, signal cards): 10 → 6px */
.signal-card, [class*="signal-card"], [class*="sinal-card"],
.saldo-display, .balance-card, [class*="saldo"],
[class*="card"]:not([class*="modal"]) {
  border-radius: 6px !important;
}

/* Chips/badges: 50% → 4px (chips de fichas continuam circular se forem .chip) */
.badge, .tag, [class*="badge"]:not([class*="chip"]) {
  border-radius: 3px !important;
}

/* ═══ TEXTO CENTRALIZADO — subtitulo login ═══ */
.br4-register-modal__subtitle,
.login-subtitle,
.login-card .subtitle,
[class*="modal__subtitle"] {
  text-align: center !important;
  max-width: 360px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ═══ KILL VERDES SVG/ICON inline ═══ */
svg path[fill="#22c55e"],
svg path[fill="#22C55E"],
svg path[fill="#10b981"],
svg path[fill="#16a34a"],
svg [fill="green"],
svg [stroke="green"] {
  fill: #0052FF !important;
  stroke: #0052FF !important;
}

/* Botões com classe verde antiga */
.btn-success, .button-success, [class*="green"] {
  background: #0052FF !important;
  border-color: #0052FF !important;
  color: #FFFFFF !important;
}

/* Texto em verde → branco/navy */
.text-green, .text-success, [class*="text-green"] {
  color: #0052FF !important;
}

/* ═══════════════════════════════════════════════════════════════
   RX7 DEFINITIVE OVERRIDES — Last surgical rules
   ═══════════════════════════════════════════════════════════════ */

/* === BOTÃO "Depositar" no topo (top-btn-dep) === */
.top-btn-dep,
button.top-btn-dep,
#btnDepTop {
  background: linear-gradient(180deg, #2950C9 0%, #0052FF 100%) !important;
  border: 1px solid #0052FF !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.12) inset !important;
}
.top-btn-dep:hover {
  background: linear-gradient(180deg, #3361E0 0%, #2745B8 100%) !important;
}

/* === Botão "Depositar" no painel da conta === */
.account-action-btn--deposit,
button.account-action-btn--deposit {
  background: linear-gradient(180deg, #2950C9 0%, #0052FF 100%) !important;
  border: 1px solid #0052FF !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
}

/* === Botão "DEPOSITAR AGORA" gigante do potencial do dia === */
.btn-deposit-continue,
#btnGeneratePix,
[id*="DepositarAgora"],
[class*="depositar-agora"] {
  background: linear-gradient(180deg, #2950C9 0%, #0052FF 100%) !important;
  border: 1px solid #0052FF !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.15) !important;
}

/* === Links Termos / Política / Fazer login === */
.login-legal-link,
.br4-register-link,
.br4-register-link--legal,
.login-terms-label a,
a[href*="termos"],
a[href*="politica"],
[class*="fazer-login"],
.br4-register-modal__login-link {
  color: #0052FF !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(0, 82, 255, 0.4) !important;
  font-weight: 600 !important;
}
.login-legal-link:hover,
.br4-register-link:hover {
  color: #10B981 !important;
  text-decoration-color: rgba(96, 165, 250, 0.8) !important;
}

/* === Bottom nav active state === */
.bottom-nav .nav-item.active,
.bottom-nav a.active,
.bottom-nav button.active,
.tab-bar .tab.active,
[class*="bottom-tab"].active {
  color: #0052FF !important;
}
.bottom-nav .nav-item.active svg,
.bottom-nav .nav-item.active path,
.bottom-nav a.active svg {
  fill: #0052FF !important;
  stroke: #0052FF !important;
  color: #0052FF !important;
}

/* === Saldo / Status / valores neutros === */
.saldo-valor, .balance-amount, .balance-display,
.account-balance, [class*="saldo-valor"],
[class*="saldo"] strong, [class*="balance"] strong {
  color: #E8ECF4 !important;  /* branco neutro, não verde por default */
}

.account-status, [class*="status"]:not([class*="error"]):not([class*="danger"]) {
  color: #0052FF !important;  /* navy para "Ativo" — institucional */
}

/* Texto "GREENS" do contador → navy */
.greens-count, .stat-greens, [class*="greens-label"] {
  color: #0052FF !important;
}
/* Mas mantém o número de GANHO (R$ ganho) em verde sutil pra dar contexto */
.gain-amount, [class*="gain"] {
  color: #10B981 !important; /* verde sóbrio só pra ganho monetário */
}

/* === Card "POTENCIAL DO DIA" === */
.potential-card, [class*="potential"], [class*="potencial-card"] {
  border-color: #0052FF !important;
}

/* === Logo do header — adiciona texto RX7 sobre a img antiga até trocar arquivo === */
.topbar-logo, #headerLogo, .login-logo, #loginLogo {
  /* Caso a imagem não carregue (alt) — mostra texto RX7 */
}
.topbar-logo[alt="RX7"]::after {
  /* fallback css only */
}

/* === BR4 logo dentro do modal — remove green halo === */
.br4-register-modal__logo--br4 {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4)) !important;
}

/* === Spinner / loaders verdes === */
.spinner, .loader, [class*="loading"] {
  border-top-color: #0052FF !important;
  color: #0052FF !important;
}

/* === Checkbox check (verde do "concordo") === */
input[type="checkbox"]:checked {
  accent-color: #0052FF !important;
}

/* ═══════════════════════════════════════════════════════════════
   RX7 TEXT LOGO — Profissional, até logo PNG real chegar
   ═══════════════════════════════════════════════════════════════ */
.rx7-text-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  background: linear-gradient(135deg, #FFFFFF 0%, #93C5FD 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: none;
  user-select: none;
}

/* Header logo (~38px high) */
.rx7-text-logo.topbar-logo {
  font-size: 28px !important;
  line-height: 1 !important;
  padding: 6px 14px;
  border: 1px solid rgba(0, 82, 255, 0.4);
  border-radius: 6px;
  background: linear-gradient(180deg, rgba(0, 82, 255, 0.08) 0%, rgba(0, 82, 255, 0.04) 100%);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  /* Re-apply text gradient on top */
  position: relative;
}
.rx7-text-logo.topbar-logo::after {
  content: "RX7";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #FFFFFF 0%, #93C5FD 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.02em;
}
.rx7-text-logo.topbar-logo {
  color: transparent !important;
}

/* Login logo (~80px high) */
.rx7-text-logo--login {
  font-size: 56px !important;
  line-height: 1 !important;
  margin: 0 auto;
  padding: 12px 28px;
  display: block;
  text-align: center;
}

/* Modal logo (~38px high, lado a lado com BR4) */
.rx7-text-logo--modal {
  font-size: 26px !important;
  line-height: 1 !important;
  padding: 4px 10px;
  height: 38px;
  border: 1px solid rgba(0, 82, 255, 0.35);
  border-radius: 5px;
  background: linear-gradient(180deg, rgba(0, 82, 255, 0.08) 0%, rgba(0, 82, 255, 0.04) 100%);
}

/* ═══════════════════════════════════════════════════════════════

/* RX7 ZERO BG — KILL ALL GRAY, text floats over aurora */

/* ━━━ NUKE TOTAL — todos os cards/grupos/painéis: TRANSPARENT ━━━ */
section.group,
.group,
.history-panel,
.stats-grid,
.stat-box,
.pip-panel,
.pip-placar-panel,
.pip-sim-card,
.pip-sim-history,
.pip-simulador-grid,
.pip-tabs,
.pip-tab,
[class*="pip-panel"],
[class*="pip-placar"],
[class*="pip-sim"],
[class*="placar-card"],
.score-card,
.signal-card,
.bank-card,
.group-header,
.history-grid,
.history-chip,
.support-card {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* ━━━ SÓ chip de histórico mantém cor (são os números 6, 5, 11 etc.) ━━━ */
.history-chip.history-card {
  border-radius: 6px !important;
  border: none !important;
  box-shadow: none !important;
  /* a cor vem da classe .chip-blue, .chip-red, .chip-gold */
}

/* ━━━ Group header — só o texto, sem fundo nem borda ━━━ */
.group-header {
  border-bottom: none !important;
  padding-bottom: 4px !important;
  margin-bottom: 8px !important;
}
.group-header h2 {
  color: rgba(255,255,255,0.40) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  font-weight: 700 !important;
}

/* ━━━ Group padding mínimo — só respiro entre seções ━━━ */
section.group, .group {
  padding: 0 !important;
  margin-bottom: 20px !important;
  border-radius: 0 !important;
}

/* ━━━ Stats grid — sem fundo, linha entre os 2 itens ━━━ */
.stats-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  padding: 8px 0 !important;
}
.stats-grid > *:nth-child(2) {
  border-left: 1px solid rgba(255,255,255,0.12) !important;
}

/* ━━━ Tabs PLACAR/SIMULADOR — ghost sem fundo ━━━ */
.pip-tabs {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}
.pip-tab {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: rgba(255,255,255,0.5) !important;
  border-radius: 6px !important;
  padding: 6px 14px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
}
.pip-tab.is-active,
.pip-tab--active-placar {
  border-color: rgba(16,185,129,0.6) !important;
  color: #10B981 !important;
}
.pip-tab--active-simulador.is-active {
  border-color: rgba(245,158,11,0.6) !important;
  color: #F59E0B !important;
}

/* ━━━ Simulador: divisores sutis APENAS entre itens ━━━ */
.pip-simulador-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  margin-bottom: 12px !important;
}
.pip-simulador-grid > .pip-sim-card:first-child {
  border-right: 1px solid rgba(255,255,255,0.10) !important;
  padding-right: 12px !important;
}
.pip-simulador-grid > .pip-sim-card:last-child {
  padding-left: 12px !important;
}
.pip-sim-history {
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  padding-top: 12px !important;
}

/* ━━━ Signal card: SEM fundo (aurora passa por baixo) ━━━ */
.signal-card {
  background: transparent !important;
  border: 1px solid rgba(0, 82, 255,0.25) !important;
  border-radius: 10px !important;
  box-shadow: 0 0 30px rgba(0, 82, 255,0.08) !important;
  padding: 14px !important;
}

/* ━━━ POTENCIAL DO DIA: só uma borda fina vermelha ━━━ */
section.group:has(.pd-card),
section.group:has(#pdMountTarget),
.pd-card, #pdMountTarget, #pdMountTarget > *,
[class*="pd-card"] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
}

/* Linha separadora sutil acima do título POTENCIAL DO DIA */
section.group:has(.pd-card) .group-header {
  border-bottom: 1px solid rgba(220,38,38,0.20) !important;
}

/* Destaque verde "Hoje a IA já fechou" — único com fundo */
.pd-highlight, .pd-result, .pd-summary,
[class*="pd-fechou"], [class*="pd-today"] {
  background: rgba(16,185,129,0.08) !important;
  border: 1px solid rgba(16,185,129,0.25) !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
}

/* ━━━ MODAIS — glass premium, mas mais transparente ━━━ */
.br4-register-modal__card,
.login-card-shell, .login-card,
.deposit-sheet, .modal-content {
  background: rgba(8, 12, 28, 0.45) !important;
  backdrop-filter: blur(40px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(200%) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 14px !important;
  box-shadow:
    0 32px 80px rgba(0,0,0,0.50),
    0 0 80px rgba(0, 82, 255,0.15),
    0 0 0 1px rgba(255,255,255,0.05) inset !important;
}

/* Internos dos modais: transparente */
.login-card-shell .login-card,
.login-card > *, .login-form > *,
.br4-register-modal__card > div:not(.br4-register-modal__submit):not(.br4-register-modal__header) {
  background: transparent !important;
  background-color: transparent !important;
}

/* Inputs dentro dos modais */
input, select, textarea,
.br4-modal__input, .login-input {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
  border-radius: 8px !important;
}
input:focus, textarea:focus {
  border-color: rgba(0, 82, 255,0.6) !important;
  background: rgba(255,255,255,0.08) !important;
  box-shadow: 0 0 0 3px rgba(0, 82, 255,0.12) !important;
  outline: none !important;
}

/* Game frame wrap */
.game-frame-wrap {
  background: rgba(0,0,0,0.55) !important;
  border: none !important;
  border-radius: 8px !important;
}

/* RX7 CHIP RESTORE + STAT-BOX ZERO BG */

/* ━━━ CHIPS DO HISTÓRICO — restaurar cores ━━━ */
.history-chip--red,
.history-chip.history-chip--red,
.history-card.history-chip--red {
  background: #DC2626 !important;
  background-color: #DC2626 !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.history-chip--blue,
.history-chip.history-chip--blue,
.history-card.history-chip--blue {
  background: #1D4ED8 !important;
  background-color: #1D4ED8 !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.history-chip--gold,
.history-chip.history-chip--gold,
.history-card.history-chip--gold {
  background: #D97706 !important;
  background-color: #D97706 !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Fallback: qualquer chip sem classe específica */
.history-chip, .history-chip.history-card {
  border-radius: 8px !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ━━━ STATS-GRID + STAT-BOX — forçar zero bg via specificity alta ━━━ */
html body .stats-grid,
html body .stats-grid .stat-box,
html body article.stat-box,
html body .stat-box,
html body .group .stat-box,
html body section.group .stats-grid .stat-box {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Linha divisória entre os dois stats */
html body .stats-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  padding: 8px 0 !important;
  border: none !important;
  background: transparent !important;
}
html body .stats-grid > *:nth-child(2) {
  border-left: 1px solid rgba(255,255,255,0.12) !important;
  padding-left: 16px !important;
}

/* ━━━ Número do GREENS SEGUIDOS — sem background, só o verde ━━━ */
html body .stat-value,
html body .stat-value.green,
html body .stat-value.yellow,
html body .stat-value.red,
html body .stat-box .stat-value {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* ━━━ COBRIR EMPATE / ATÉ 2 GALES — amber ghost visível ━━━ */
.pip-status-pill,
.pip-pill-tie,
.pip-pill-tie--off,
#pipCoverToggle,
button#pipCoverToggle,
.pip-pill-gales,
#pipGalesToggle {
  background: rgba(245,158,11,0.10) !important;
  color: #F59E0B !important;
  border: 1px solid rgba(245,158,11,0.40) !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 10px 18px !important;
}
.pip-status-pill *, #pipCoverToggle *, #pipGalesToggle * {
  color: #F59E0B !important;
  fill: #F59E0B !important;
}

/* RX7 YELLOW CHIP FIX */
.history-chip--yellow,.history-chip.history-chip--yellow,.history-card.history-chip--yellow{background:#D97706!important;background-color:#D97706!important;color:#FFFFFF!important;border-radius:8px!important;font-weight:800!important;}

/* RX7 BODY BLACK — Kill all gray backgrounds, force aurora through */

/* Hard reset all backgrounds to pure black */
html, body,
.app-shell, #app, .app,
.view, .login-main, .login-bg, .login-bg-gradient,
.app-main, .app-section, .app-content,
section.group, .group,
.group-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Body and html = pure black */
html { background: #000000 !important; }
body { background: #000000 !important; }

/* App-shell = aurora atmospheric on black */
.app-shell {
  background:
    radial-gradient(ellipse 110% 60% at 50% 0%,
      rgba(0, 82, 255, 0.80) 0%,
      rgba(40, 20, 140, 0.55) 18%,
      rgba(20, 8, 80, 0.30) 38%,
      transparent 65%
    ),
    radial-gradient(ellipse 55% 45% at 10% 60%,
      rgba(56, 30, 180, 0.22) 0%,
      transparent 65%
    ),
    radial-gradient(ellipse 65% 50% at 90% 88%,
      rgba(20, 55, 200, 0.18) 0%,
      transparent 65%
    ),
    #000000 !important;
}

/* Group header — só a linha separadora */
.group-header {
  padding-bottom: 6px !important;
  margin-bottom: 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* Kill any inline bg-color that might sneak in */
[style*="background-color: rgb(27"],
[style*="background-color:rgb(27"],
[style*="background: rgb(27"] {
  background-color: transparent !important;
}

/* CSS variables override — force dark theme */
:root {
  --rx7-bg-main: #000000 !important;
  --rx7-bg-surface: transparent !important;
  --rx7-bg-elevated: transparent !important;
  --card: transparent !important;
  --bg: #000000 !important;
}

/* RX7 FINAL KILL - maximum specificity override */
html body .group-header,
html body section .group-header,
html body section.group .group-header,
html body .group .group-header,
div.group-header,
.group-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding-bottom: 6px !important;
  margin-bottom: 10px !important;
}
html body .group-header h2,
div.group-header h2,
.group-header h2 {
  color: rgba(255,255,255,0.42) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* RX7 GLASS CARDS — transparente com borda sutil, sem cinza */

/* ━━━ CADA SEÇÃO = 1 CARD TRANSPARENTE COM BORDA ━━━ */
section.group,
.group {
  background: rgba(255, 255, 255, 0.03) !important;
  background-color: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 10px !important;
  padding: 14px !important;
  margin-bottom: 12px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* HISTÓRICO — sem borda vermelha, neutra */
section.group.group--history {
  border-color: rgba(255, 255, 255, 0.10) !important;
}

/* RESULTADOS */
section.group:has(.stats-grid) {
  border-color: rgba(255, 255, 255, 0.10) !important;
}

/* POTENCIAL DO DIA — borda levemente avermelhada */
section.group:has(.pd-card),
section.group:has(#pdMountTarget) {
  border-color: rgba(220, 38, 38, 0.25) !important;
  background: rgba(180, 10, 10, 0.04) !important;
}

/* ━━━ GROUP HEADER — transparente, sem cinza ━━━ */
html body .group-header,
html body section.group .group-header,
html body div.group-header,
.group-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-bottom: 8px !important;
  margin-bottom: 12px !important;
  box-shadow: none !important;
}

html body .group-header h2,
.group-header h2 {
  color: rgba(255, 255, 255, 0.50) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* ━━━ DENTRO DOS CARDS — zero background, só os itens internos ━━━ */
section.group .history-panel,
section.group .stats-grid,
section.group .stat-box,
section.group article,
section.group .history-grid,
section.group .support-cards,
section.group .support-card,
.history-panel,
.stats-grid .stat-box {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
}

/* Divisor entre os dois stats de RESULTADOS */
.stats-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  padding: 4px 0 !important;
}
.stats-grid > *:nth-child(2) {
  border-left: 1px solid rgba(255, 255, 255, 0.10) !important;
}

/* ━━━ PLACAR + SIMULADOR = 1 CARD TRANSPARENTE ━━━ */
/* O .group que contém o pip já tem borda pelo .group acima */
.pip-panel,
.pip-placar-panel,
[class*="pip-panel"],
[class*="pip-placar"],
.pip-simulador-grid,
.pip-sim-card,
.pip-sim-history,
.pip-tabs {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* Divisores sutis SOMENTE entre itens do simulador */
.pip-simulador-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}
.pip-simulador-grid > .pip-sim-card:first-child {
  border-right: 1px solid rgba(255,255,255,0.08) !important;
  padding-right: 12px !important;
}
.pip-simulador-grid > .pip-sim-card:last-child {
  padding-left: 12px !important;
}
.pip-sim-history {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 10px !important;
  margin-top: 4px !important;
}

/* ━━━ SIGNAL CARD — borda azul sutil ━━━ */
.signal-card {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(0, 82, 255,0.30) !important;
  border-radius: 10px !important;
  box-shadow: 0 0 24px rgba(0, 82, 255,0.08) !important;
  backdrop-filter: none !important;
}

/* ━━━ TABS ghost ━━━ */
.pip-tab {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 6px !important;
}
.pip-tab.is-active, .pip-tab--active-placar {
  background: rgba(16,185,129,0.08) !important;
  border-color: rgba(16,185,129,0.40) !important;
}
.pip-tab.is-active.pip-tab--active-simulador,
.pip-tab--active-simulador {
  background: rgba(245,158,11,0.08) !important;
  border-color: rgba(245,158,11,0.40) !important;
}

/* ━━━ POTENCIAL DO DIA internos ━━━ */
.pd-card, #pdMountTarget, #pdMountTarget > *,
[class*="pd-card"] {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Destaque "Hoje a IA já fechou" — mantém borda verde */
.pd-highlight, .pd-result, .pd-summary,
[class*="pd-fechou"], [class*="pd-today"] {
  background: rgba(16,185,129,0.06) !important;
  border: 1px solid rgba(16,185,129,0.22) !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
}

/* RX7 PIP TRANSPARENT — kill pip-tabs-card + pip-tab-content gray */
html body .pip-tabs-card,
html body div.pip-tabs-card,
.pip-tabs-card {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

html body .pip-tab-content,
html body div.pip-tab-content,
.pip-tab-content,
.pip-tab-content.pip-hidden {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

html body .pip-metric-divider,
.pip-metric-divider {
  background: rgba(255,255,255,0.08) !important;
  background-color: rgba(255,255,255,0.08) !important;
}

/* Kill any remaining gray in pip area */
html body [class*="pip-"]:not(.pip-tab):not(.pip-tab--active-placar):not(.pip-tab--active-simulador):not(.pip-status-pill):not(.pip-pill-tie):not(.pip-pill-tie--on):not(.pip-pill-gales):not(.pip-pill-gales--on) {
  background-color: transparent !important;
}

/* RX7 MODAL HEADER TRANSPARENT + CPF BTN GREEN */

/* Header do modal de registro — transparente */
html body .br4-register-modal__header,
.br4-register-modal__header,
header.br4-register-modal__header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-bottom: 14px !important;
  margin-bottom: 4px !important;
}

/* Lupa/search button — estado normal */
.br4-register-cpf-btn,
button.br4-register-cpf-btn {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,0.7) !important;
  transition: all 150ms ease !important;
}
.br4-register-cpf-btn:hover {
  background: rgba(255,255,255,0.10) !important;
}

/* Lupa — estado CPF verificado/encontrado = VERDE */
.br4-register-cpf-btn--ok,
.br4-register-cpf-btn--found,
.br4-register-cpf-btn--verified,
.br4-register-cpf-btn--success,
.br4-register-cpf-btn.is-ok,
.br4-register-cpf-btn.is-found,
.br4-register-cpf-btn.is-verified,
.br4-register-cpf-btn.is-success,
/* After CPF search returns name (name field shows) */
.br4-register-cpf-btn[data-state="ok"],
.br4-register-cpf-btn[data-state="found"] {
  background: rgba(16, 185, 129, 0.20) !important;
  border-color: rgba(16, 185, 129, 0.60) !important;
  color: #10B981 !important;
  box-shadow: 0 0 12px rgba(16,185,129,0.20) !important;
}
.br4-register-cpf-btn--ok svg,
.br4-register-cpf-btn--found svg,
.br4-register-cpf-btn--verified svg,
.br4-register-cpf-btn.is-ok svg,
.br4-register-cpf-btn.is-found svg {
  color: #10B981 !important;
  fill: #10B981 !important;
  stroke: #10B981 !important;
}

/* Lupa — estado erro/CPF inválido = vermelho sutil */
.br4-register-cpf-btn--error,
.br4-register-cpf-btn.is-error,
.br4-register-cpf-btn[data-state="error"] {
  background: rgba(220, 38, 38, 0.15) !important;
  border-color: rgba(220, 38, 38, 0.50) !important;
  color: #EF4444 !important;
}

/* SVG icon da lupa — default */
.br4-register-cpf-btn svg {
  color: rgba(255,255,255,0.6) !important;
  fill: rgba(255,255,255,0.6) !important;
}

/* Phone prefix button — sem gray */
.br4-register-phone-prefix {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 8px !important;
}

/* RX7 HEADER GLASS FIX — modal card glass + header truly transparent */
.br4-register-modal__card {
  background: rgba(8, 12, 28, 0.55) !important;
  backdrop-filter: blur(32px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(32px) saturate(180%) !important;
}
header.br4-register-modal__header,
.br4-register-modal__header {
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
/* CPF btn success = GREEN */
.br4-register-cpf-btn.is-success {
  background: rgba(16,185,129,0.18) !important;
  border-color: rgba(16,185,129,0.55) !important;
  color: #10B981 !important;
  box-shadow: 0 0 12px rgba(16,185,129,0.15) !important;
}
.br4-register-cpf-btn.is-success svg,
.br4-register-cpf-btn.is-success path {
  fill: #10B981 !important;
  stroke: #10B981 !important;
  color: #10B981 !important;
}

/* ═══════════════════════════════════════════════════════════════
   RX7 VISUAL TWEAKS — toolbar / bottom-nav / saldo / botões / logo
   (2026-06-04) Apenas ESTILO. Não altera funcionalidade/lógica.
   Não mexe em verdes (gain/ganho permanecem). Escopo: app logado.
   ═══════════════════════════════════════════════════════════════ */

/* 1) LOGO RX7 — um pouco maior (altura + largura) SEM crescer a toolbar.
   (toolbar segue calc(56px+safe-top); logo 40px cabe com folga) */
.topbar-logo,
#headerLogo{
  height:40px !important;
  max-height:40px !important;
  width:auto !important;
  max-width:220px !important;
}
@media (max-width:430px){
  .topbar-logo,
  #headerLogo{
    height:40px !important;
    max-height:40px !important;
    max-width:min(64vw,220px) !important;
  }
}

/* 2) CAIXA DE SALDO — 100% transparente (mostrando E ocultando).
   Mantém texto do saldo + olhinho funcionando; só remove a pílula. */
.topbar-balance,
.topbar-balance.topbar-balance--amount-visible,
.topbar-balance.topbar-balance--skeleton{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* 3) TOOLBAR DE CIMA — #121826 (Azul Meia-Noite) + linha fina azul embaixo.
   Altura inalterada; só a cor de fundo e a borda. */
header.topbar{
  background:#121826 !important;
  border-bottom:1px solid rgba(0,82,255,.18) !important;
  box-shadow:none !important;
}

/* 4) BARRA DE NAVEGAÇÃO DE BAIXO — #121826 + linha fina azul no topo */
.bottom-nav{
  background:#121826 !important;
  border-top:1px solid rgba(0,82,255,.18) !important;
}
/* Estados das abas (ícone + texto juntos) */
.nav-item{
  color:#7A8699 !important;
  transition:color .2s ease, filter .2s ease !important;
}
.nav-item:hover{
  color:#3B82F6 !important;
}
.nav-item.nav-active,
.nav-item.nav-active small{
  color:#0052FF !important;
  filter:drop-shadow(0 0 6px rgba(0,82,255,.5)) !important;
}

/* 5) BOTÕES PRIMÁRIOS AZUIS — glow sutil (Depositar topo + conta + Depositar agora).
   Base #0052FF / hover #0042CC / active #0036A8. Não toca secundários nem verdes. */
.top-btn-dep,
button.top-btn-dep,
#btnDepTop,
.account-action-btn--deposit,
button.account-action-btn--deposit,
.btn-deposit-continue,
#btnGeneratePix{
  background:#0052FF !important;
  border:1px solid #0052FF !important;
  color:#fff !important;
  box-shadow:0 0 14px rgba(0,82,255,.35) !important;
  transition:all .2s ease !important;
}
.top-btn-dep:hover,
#btnDepTop:hover,
.account-action-btn--deposit:hover,
.btn-deposit-continue:hover,
#btnGeneratePix:hover{
  background:#0042CC !important;
  box-shadow:0 0 18px rgba(0,82,255,.5) !important;
}
.top-btn-dep:active,
#btnDepTop:active,
.account-action-btn--deposit:active,
.btn-deposit-continue:active,
#btnGeneratePix:active{
  background:#0036A8 !important;
}
