/* Janela de conta: 18+ e termos, entrar, criar conta, esqueci a senha, nova senha */
.modal.au-modal { width: min(440px, 100%); padding: 0; overflow-x: hidden; background: radial-gradient(120% 60% at 50% 0%, rgba(247, 200, 94, .13), transparent 60%), var(--panel); border-color: rgba(247, 200, 94, .22); }
.modal.au-modal .x { z-index: 2; }
.modal.shake { animation: au-shake .38s; }
@keyframes au-shake { 20%, 60% { transform: translateX(-7px); } 40%, 80% { transform: translateX(7px); } }
.au { padding: 22px 24px 24px; }
.au-top { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 2px 0 18px; font: 900 18px/1 Cinzel, serif; letter-spacing: .08em; color: #fff; }
.au-crown { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; font-size: 21px; color: #1b1405; background: linear-gradient(180deg, #ffe08a, #e0a63a); box-shadow: 0 6px 22px rgba(247, 200, 94, .35); }
#auBody { animation: au-in .28s ease; }
@keyframes au-in { from { opacity: 0; transform: translateY(8px); } }
.au h3 { font-size: 21px; margin: 0 0 6px; text-transform: none; letter-spacing: 0; }
.au .muted { font-size: 14px; line-height: 1.55; margin: 0 0 16px; }
.au-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 14px; background: rgba(0, 0, 0, .35); border: 1px solid var(--line2); margin-bottom: 18px; }
.au-tabs a { text-align: center; padding: 10px; border-radius: 10px; font-weight: 800; color: var(--muted); text-decoration: none; transition: .2s; }
.au-tabs a.on { background: linear-gradient(180deg, #ffe08a, #e0a63a); color: #1b1405; box-shadow: 0 4px 14px rgba(247, 200, 94, .3); }
.au-f { margin-bottom: 12px; }
.au-f label { display: block; font-size: 12.5px; font-weight: 800; color: var(--muted); margin-bottom: 6px; letter-spacing: .02em; }
.au-in { position: relative; }
.au-in > i { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 17px; pointer-events: none; }
.au-in .input { padding-left: 40px; height: 48px; border-radius: 12px; width: 100%; }
.au-in .input:focus { border-color: rgba(247, 200, 94, .7); box-shadow: 0 0 0 3px rgba(247, 200, 94, .15); }
.au-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-size: 18px; cursor: pointer; }
.au-eye:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.au-in .input[type=password], .au-in .input[name^=password] { padding-right: 46px; }
.au-meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 8px; }
.au-meter span { height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .08); transition: .25s; }
.au-meter span.on.s1 { background: var(--red); } .au-meter span.on.s2 { background: #f5a524; } .au-meter span.on.s3, .au-meter span.on.s4 { background: var(--green); }
.au-hint { font-size: 12px; color: var(--muted); margin: 6px 0 0; }
.au-hint.ok { color: var(--green); }
.au-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 4px 0 16px; flex-wrap: wrap; }
.au-link { background: none; border: 0; padding: 0; color: #f7c85e; font-weight: 700; font-size: 13.5px; cursor: pointer; text-decoration: none; }
.au-link:hover { text-decoration: underline; }
.au-sw { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 13.5px; font-weight: 700; margin: 4px 0 16px; user-select: none; }
.au-row .au-sw { margin: 0; }
.au-sw small { display: block; font-weight: 500; color: var(--muted); font-size: 11.5px; }
.au-sw input { position: absolute; opacity: 0; pointer-events: none; }
.au-tg { flex: none; width: 40px; height: 23px; border-radius: 99px; background: rgba(255, 255, 255, .12); position: relative; transition: .2s; }
.au-tg::after { content: ''; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; transition: .2s; }
.au-sw input:checked + .au-tg { background: var(--green); }
.au-sw input:checked + .au-tg::after { transform: translateX(17px); }
.au-sw input:focus-visible + .au-tg { outline: 2px solid #f7c85e; outline-offset: 2px; }
.au-foot { text-align: center; color: var(--muted); font-size: 14px; margin: 16px 0 0; }
.au-foot a { color: #f7c85e; font-weight: 800; }
.au-err { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 11px; background: rgba(255, 77, 94, .12); border: 1px solid rgba(255, 77, 94, .4); color: #ffb3bc; font-size: 13.5px; font-weight: 700; margin-bottom: 12px; }
.au-err[hidden] { display: none; }
.au-spin { display: inline-block; width: 16px; height: 16px; border-radius: 50%; border: 2.5px solid currentColor; border-right-color: transparent; animation: au-rot .7s linear infinite; vertical-align: -3px; }
@keyframes au-rot { to { transform: rotate(360deg); } }
.au .btn-lg i { margin-left: 4px; }
/* 18+ */
.au-gate { text-align: center; }
.au-age { width: 74px; height: 74px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; font: 900 24px/1 Manrope, sans-serif; color: #f7c85e; border: 3px solid #f7c85e; box-shadow: 0 0 0 6px rgba(247, 200, 94, .1), 0 0 30px rgba(247, 200, 94, .25); }
.au-ck { display: flex; gap: 12px; align-items: flex-start; text-align: left; padding: 13px 14px; border-radius: 14px; border: 1px solid var(--line2); background: rgba(0, 0, 0, .25); margin-bottom: 10px; cursor: pointer; transition: .2s; }
.au-ck:hover { border-color: rgba(247, 200, 94, .45); }
.au-ck input { position: absolute; opacity: 0; pointer-events: none; }
.au-box { flex: none; width: 24px; height: 24px; border-radius: 7px; border: 2px solid rgba(255, 255, 255, .3); display: grid; place-items: center; color: transparent; transition: .2s; margin-top: 1px; }
.au-ck input:checked + .au-box { background: var(--green); border-color: var(--green); color: #06210f; }
.au-ck:has(input:checked) { border-color: rgba(47, 224, 138, .55); background: rgba(47, 224, 138, .07); }
.au-ck input:focus-visible + .au-box { outline: 2px solid #f7c85e; outline-offset: 2px; }
.au-ck b { display: block; font-size: 14px; }
.au-ck b a { color: #f7c85e; }
.au-ck small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.au-gate form .btn { margin-top: 6px; }
.au-gate .btn:disabled { opacity: .45; filter: grayscale(.4); cursor: not-allowed; }
.au-minor { margin-top: 14px; color: var(--muted); font-weight: 600; }
/* telas internas */
.au-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.au-head h3 { margin: 0; }
.au-back { background: rgba(255, 255, 255, .06); border: 0; color: var(--text); padding: 7px 11px 7px 8px; border-radius: 10px; font-weight: 700; cursor: pointer; }
.au-ico { width: 64px; height: 64px; margin: 4px auto 14px; border-radius: 20px; display: grid; place-items: center; font-size: 30px; color: #f7c85e; background: rgba(247, 200, 94, .1); border: 1px solid rgba(247, 200, 94, .3); }
.au-ico.ok { color: var(--green); background: rgba(47, 224, 138, .1); border-color: rgba(47, 224, 138, .35); }
.au-ico.bad { color: var(--red); background: rgba(255, 77, 94, .1); border-color: rgba(255, 77, 94, .35); }
#auBody[data-v=forgot] h3, #auBody[data-v=sent] h3, #auBody[data-v=reset] h3, #auBody[data-v=sent] > .muted, #auBody[data-v=forgot] > .muted, #auBody[data-v=reset] > .muted { text-align: center; }
.au-tips { list-style: none; padding: 0; margin: 0 0 14px; font-size: 13.5px; color: var(--muted); }
.au-tips li { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; } .au-tips i { color: var(--green); }
.au-dev { display: grid; gap: 6px; padding: 12px; border-radius: 12px; border: 1px dashed rgba(247, 200, 94, .5); background: rgba(247, 200, 94, .06); margin-bottom: 12px; font-size: 13px; }
.au-dev small { color: var(--muted); }
.au-terms { max-height: 52vh; overflow-y: auto; padding: 4px 6px 4px 2px; font-size: 13.5px; line-height: 1.6; color: var(--text); }
.au-terms h4 { font-size: 14.5px; margin: 14px 0 4px; color: #f7c85e; }
.au-terms h4:first-child { margin-top: 0; }
.au-terms p { margin: 0 0 8px; color: var(--muted); }
.au-page { max-width: 760px; margin: 0 auto; padding: 24px; }
.au-page h1 { margin-bottom: 14px; }
.au-page .au-terms { max-height: none; }
@media (max-width: 480px) { .au { padding: 18px 16px 20px; } .au-row { flex-direction: column; align-items: flex-start; } }
/* carteira de bônus */
.bw-card { padding: 18px 20px; border-color: rgba(247, 200, 94, .35); background: radial-gradient(120% 120% at 0% 0%, rgba(247, 200, 94, .1), transparent 60%), var(--panel); }
.bw-head { display: flex; align-items: center; gap: 12px; }
.bw-head b { display: block; font-size: 16px; } .bw-head small { color: var(--muted); font-size: 12.5px; }
.bw-ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 22px; color: #1b1405; background: linear-gradient(180deg, #ffe08a, #e0a63a); flex: none; }
.bw-pct { margin-left: auto; font: 900 20px/1 Manrope, sans-serif; color: #f7c85e; }
.bw-bar { height: 10px; border-radius: 99px; background: rgba(255, 255, 255, .08); margin-top: 14px; overflow: hidden; }
.bw-bar span { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #e0a63a, #ffe08a); transition: width .4s; }
.bw-rules { margin: 12px 0 0; padding-left: 18px; color: var(--muted); font-size: 13px; line-height: 1.6; }
/* depósito: forma de pagamento */
.pay-opts { display: grid; gap: 10px; margin: 6px 0 14px; }
.pay-opt { display: flex; align-items: center; gap: 14px; text-align: left; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--line2); background: rgba(0, 0, 0, .25); color: var(--text); cursor: pointer; transition: .2s; }
.pay-opt:hover:not(:disabled) { border-color: rgba(247, 200, 94, .55); transform: translateY(-1px); }
.pay-opt:disabled { opacity: .5; cursor: not-allowed; }
.pay-opt b { display: block; font-size: 15.5px; } .pay-opt small { color: var(--muted); font-size: 12.5px; }
.pay-opt > i { margin-left: auto; color: var(--muted); }
.pay-ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 23px; flex: none; }
.pay-ic.pix { background: rgba(50, 188, 173, .15); color: #32bcad; } .pay-ic.card { background: rgba(120, 140, 255, .15); color: #8ea0ff; }
.pay-legal { font-size: 12px; color: var(--muted); margin: 0; display: flex; gap: 6px; }
.pay-who { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line2); background: rgba(0, 0, 0, .25); margin: 4px 0 14px; }
.pay-who > i { font-size: 24px; color: #32bcad; }
.pay-who b { display: block; font-size: 14px; } .pay-who small { color: var(--muted); font-size: 12.5px; }
.pay-who .au-link { margin-left: auto; }
.pay-first { padding: 12px 14px; border-radius: 12px; background: rgba(50, 188, 173, .08); border: 1px solid rgba(50, 188, 173, .35); margin: 4px 0 12px; }
.pay-first b { display: block; font-size: 14px; margin-bottom: 4px; } .pay-first small { color: var(--muted); font-size: 12.5px; line-height: 1.5; display: block; }
/* botão aguardando o servidor (apostar, abrir, comprar...): spinner + bloqueia novos cliques */
.is-loading { cursor: progress !important; pointer-events: none; }
.is-loading:disabled, button.is-loading { opacity: .85 !important; }
.is-loading::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 8px; vertical-align: -2px; border-radius: 50%; border: 2.5px solid currentColor; border-right-color: transparent; animation: au-rot .7s linear infinite; flex: none; }
/* bilhete dos Esportes travado enquanto a aposta é registrada */
#sbSlip.sb-busy { cursor: progress; }
#sbSlip.sb-busy > * { pointer-events: none; }
#sbSlip.sb-busy .sb-place { opacity: 1 !important; }
/* logo da marca (imagem configurável no painel) */
.cx-logo-img { display: inline-flex; align-items: center; }
.cx-logo-img img { height: 42px; width: auto; max-width: 220px; display: block; border-radius: 8px; object-fit: contain; }
@media (max-width: 760px) { .cx-logo-img img { height: 32px; max-width: 150px; } }
.cx-foot-brand .cx-logo-img img { height: 48px; }
