/* =========================================================
   GERAL
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    touch-action: manipulation;
    width: 100%;
    min-height: 100%;
    background: #070707;
}

body {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    background: #070707;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

input,
select,
textarea,
button {
    font-family: Arial, Helvetica, sans-serif;
    outline: none;
}

button {
    border: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

.hidden,
.esconder {
    display: none !important;
}

.cursor {
    cursor: pointer;
}


/* =========================================================
   APP
========================================================= */

.app {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: 100vh;
    margin: 0 auto;
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 4%, rgba(215, 255, 63, .13), transparent 24%),
        linear-gradient(160deg, #050505 0%, #0a0a0a 55%, #070707 100%);
}


/* =========================================================
   LOADING
========================================================= */

#loading {
    position: fixed;
    inset: 0;
    z-index: 999999999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.loading-spinner {
    width: 58px;
    height: 58px;
    border: 5px solid rgba(255, 255, 255, .12);
    border-top-color: #d7ff3f;
    border-right-color: #d7ff3f;
    border-radius: 50%;
    animation: loading-girar .8s linear infinite;
    box-shadow: 0 0 22px rgba(215, 255, 63, .25);
}

@keyframes loading-girar {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


/* =========================================================
   ALERTA
========================================================= */

#area_alerta {
    position: fixed;
    top: 0;
    left: 50%;
    z-index: 9999999999;
    width: 100%;
    max-width: 560px;
    padding: 18px;
    display: none;
    transform: translateX(-50%);
    pointer-events: none;
}

#alerta {
    width: 100%;
    min-height: 78px;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 22px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(17, 17, 17, .97);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    pointer-events: auto;
    animation: alerta-entrar .22s ease-out;
}

@keyframes alerta-entrar {

    from {
        opacity: 0;
        transform: translateY(-18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

.alerta-icone {
    width: 46px;
    min-width: 46px;
    height: 46px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.alerta-icone i {
    font-size: 16px;
}

.alerta-conteudo {
    min-width: 0;
    flex: 1;
}

.alerta-conteudo strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.alerta-conteudo span {
    display: block;
    color: #999;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.alerta-fechar {
    width: 36px;
    min-width: 36px;
    height: 36px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .06);
    color: #888;
    cursor: pointer;
}

.alerta-fechar i {
    font-size: 12px;
}

.alerta-fechar:active {
    transform: scale(.95);
}


/* =========================================================
   ALERTA SUCCESS
========================================================= */

#alerta.alerta-success {
    border-color: rgba(215, 255, 63, .45);
    background:
        radial-gradient(circle at 0% 50%, rgba(215, 255, 63, .16), transparent 42%),
        #18200f;
    box-shadow:
        0 20px 55px rgba(0, 0, 0, .55),
        0 0 25px rgba(215, 255, 63, .08);
}

#alerta.alerta-success .alerta-icone {
    background: #d7ff3f;
    color: #111;
}

#alerta.alerta-success .alerta-conteudo strong {
    color: #d7ff3f;
}


/* =========================================================
   ALERTA ERROR
========================================================= */

#alerta.alerta-error {
    border-color: rgba(255, 92, 72, .45);
    background:
        radial-gradient(circle at 0% 50%, rgba(255, 92, 72, .17), transparent 42%),
        #241411;
    box-shadow:
        0 20px 55px rgba(0, 0, 0, .55),
        0 0 25px rgba(255, 92, 72, .08);
}

#alerta.alerta-error .alerta-icone {
    background: #ff5c48;
    color: #fff;
}

#alerta.alerta-error .alerta-conteudo strong {
    color: #ff725f;
}


/* =========================================================
   INSTALAR APP
========================================================= */

.instalar-app {
    width: calc(100% - 32px);
    min-height: 52px;
    margin: 14px 16px 0;
    padding: 0 16px;
    border: 1px solid rgba(215, 255, 63, .22);
    border-radius: 18px;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: rgba(215, 255, 63, .10);
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
    -webkit-tap-highlight-color: transparent;
}

.instalar-app i {
    font-size: 14px;
    margin-right: 5px;
}

.instalar-app:active {
    transform: scale(.98);
}


/* =========================================================
   CABEÇALHO
========================================================= */

.topo {
    position: relative;
    width: 100%;
    min-height: 75px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(215, 255, 63, .10);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    background: rgba(5, 5, 5, .92);
}

.topo::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 18px;
    width: 120px;
    height: 3px;
    border-radius: 10px;
    background: #d7ff3f;
}

.topo-logo {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.topo-logo-img {
    width: 120px;
    object-fit: contain;
}

.topo-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

.topo-suporte {
    width: 47px;
    min-width: 47px;
    height: 47px;
    border: 1px solid rgba(215, 255, 63, .16);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215, 255, 63, .07);
    color: #d7ff3f;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.topo-suporte i {
    font-size: 14px;
}

.topo-suporte:active {
    transform: scale(.96);
}

.topo-entrar {
    min-width: 94px;
    height: 46px;
    padding: 0 18px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 8px 24px rgba(215, 255, 63, .12);
    -webkit-tap-highlight-color: transparent;
}

.topo-entrar:active {
    transform: scale(.97);
}

.topo-saldo {
    min-height: 46px;
    padding: 7px 13px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: rgba(255, 255, 255, .045);
    text-align: center;
}

.topo-saldo span {
    color: #777;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.topo-saldo strong {
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.topo-conta {
    width: 46px;
    min-width: 46px;
    height: 46px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
}

.topo-conta i {
    font-size: 14px;
}


/* =========================================================
   HOME
========================================================= */

.home-page {
    width: 100%;
    padding: 16px 16px 110px;
}

.home-destaque {
    position: relative;
    width: 100%;
    padding: 24px 20px 20px;
    border: 1px solid rgba(215, 255, 63, .16);
    border-radius: 28px;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 255, 63, .18), transparent 38%),
        rgba(255, 255, 255, .055);
    box-shadow: 0 20px 45px rgba(0, 0, 0, .28);
}

.home-destaque::after {
    content: "";
    position: absolute;
    top: -45px;
    right: -45px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: rgba(215, 255, 63, .08);
    filter: blur(4px);
}

.home-destaque-tag {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.home-destaque-tag span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d7ff3f;
    box-shadow: 0 0 10px rgba(215, 255, 63, .65);
}

.home-destaque-titulo {
    position: relative;
    z-index: 2;
    margin-top: 13px;
    color: #fff;
    font-size: 31px;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.8px;
}

.home-destaque-texto {
    position: relative;
    z-index: 2;
    max-width: 360px;
    margin-top: 12px;
    color: #9a9a9a;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.home-destaque-status {
    position: relative;
    z-index: 2;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    align-items: center;
}

.home-status-item {
    text-align: center;
}

.home-status-item strong {
    display: block;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
}

.home-status-item span {
    display: block;
    margin-top: 5px;
    color: #777;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.home-status-divisor {
    width: 1px;
    height: 30px;
    background: rgba(255, 255, 255, .08);
}

.home-secao-topo {
    min-height: 48px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.home-secao-label {
    margin-bottom: 5px;
    color: #d7ff3f;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .65px;
}

.home-secao-titulo {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.1;
}

.home-secao-icone {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border: 1px solid rgba(215, 255, 63, .18);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215, 255, 63, .08);
    color: #d7ff3f;
}

.home-secao-icone i {
    font-size: 15px;
}

.home-niveis {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.home-nivel-card {
    width: 100%;
    padding: 17px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 24px;
    background: rgba(255, 255, 255, .055);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}

.home-nivel-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.home-nivel-nome {
    margin-bottom: 5px;
    color: #888;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.home-nivel-blinds {
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.home-nivel-taxas {
    margin-top: 8px;
    color: #999;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.home-nivel-status {
    min-height: 27px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, .05);
    color: #888;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-nivel-status span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #777;
}

.home-nivel-status.ativo {
    border-color: rgba(215, 255, 63, .18);
    background: rgba(215, 255, 63, .08);
    color: #d7ff3f;
}

.home-nivel-status.ativo span {
    background: #d7ff3f;
    box-shadow: 0 0 8px rgba(215, 255, 63, .65);
}


.home-nivel-info {
    margin-top: 17px;
    padding: 13px 0;
    border-top: 1px solid rgba(255, 255, 255, .07);
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-nivel-info-item {
    text-align: center;
}

.home-nivel-info-item span {
    display: block;
    margin-bottom: 5px;
    color: #777;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-nivel-info-item strong {
    display: block;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.home-nivel-botao {
    width: 100%;
    height: 48px;
    margin-top: 14px;
    padding: 0 16px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #d7ff3f;
    color: #111;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.home-nivel-botao i {
    font-size: 12px;
}

.home-nivel-botao:active {
    transform: scale(.985);
}

/* =========================================================
   HOME — DISPONIBILIDADE E COMPARTILHAR
========================================================= */

.home-nivel-status-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-shrink: 0;
}

.home-nivel-status.cheia {
    border-color: rgba(255, 166, 67, .25);
    background: rgba(255, 166, 67, .10);
    color: #ffb347;
}

.home-nivel-status.cheia span {
    background: #ffb347;
}

.home-nivel-compartilhar {
    width: 27px;
    height: 27px;
    border: 1px solid rgba(215, 255, 63, .25);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215, 255, 63, .09);
    color: #d7ff3f;
    font-size: 13px;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
}

.home-nivel-compartilhar:active {
    transform: scale(.95);
}

/* =========================================================
   HOME — AÇÕES DAS MESAS
========================================================= */

.home-nivel-acoes {
    margin-top: 14px;
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.home-nivel-acoes .home-nivel-botao {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    margin-top: 0;
    gap: 8px;
}

.home-nivel-acoes .home-nivel-abrir {
    background: #ffad42;
    color: #15110b;
    opacity: 1;
    cursor: pointer;
}

.home-nivel-acoes .home-nivel-abrir:disabled {
    cursor: not-allowed;
}

@media (max-width: 360px) {
    .home-nivel-acoes .home-nivel-botao {
        padding: 0 11px;
        font-size: 12px;
    }
}

.home-clubes {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.home-clube-card {
    width: 100%;
    min-height: 72px;
    padding: 11px 13px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 21px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, .05);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.home-clube-icone {
    width: 45px;
    min-width: 45px;
    height: 45px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
}

.home-clube-icone i {
    font-size: 16px;
}

.home-clube-info {
    min-width: 0;
    flex: 1;
}

.home-clube-info strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-clube-info span {
    display: block;
    margin-top: 4px;
    color: #777;
    font-size: 10px;
    font-weight: 800;
}

.home-clube-seta {
    width: 32px;
    min-width: 32px;
    height: 32px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .06);
    color: #777;
}

.home-clube-seta i {
    font-size: 10px;
}

.home-clube-card:active {
    transform: scale(.985);
}

.home-vazio {
    width: 100%;
    min-height: 150px;
    padding: 24px 18px;
    border: 1px dashed rgba(255, 255, 255, .10);
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .035);
    text-align: center;
}

.home-vazio i {
    margin-bottom: 12px;
    color: #d7ff3f;
    font-size: 20px;
}

.home-vazio strong {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.home-vazio span {
    max-width: 270px;
    margin-top: 6px;
    color: #777;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.home-vazio-clubes {
    min-height: 110px;
}


/* =========================================================
   MENU
========================================================= */

.menu {
    position: fixed;
    left: 50%;
    bottom: 0;
    z-index: 9990;
    width: 100%;
    max-width: 560px;
    padding: 10px 10px calc(14px + env(safe-area-inset-bottom));
    transform: translateX(-50%);
    background: rgba(7, 7, 7, .94);
    border-top: 1px solid rgba(255, 255, 255, .07);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 -16px 35px rgba(0, 0, 0, .28);
}

.menus {
    width: 100%;
    display: grid;
    gap: 8px;
}

.menus.menu-itens-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.menus.menu-itens-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.menus.menu-itens-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
}

.menus.menu-itens-5 .menu-item {
    padding-right: 1px;
    padding-left: 1px;
    border-radius: 15px;
}

.menus.menu-itens-5 .menu-item label {
    font-size: 9px;
}

.menu-item {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 62px;
    padding: 5px 3px;
    border: 1px solid rgba(255, 255, 255, .05);
    border-radius: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .045);
    cursor: pointer;
    transition: transform .15s ease, background .15s ease, border-color .15s ease;
    -webkit-tap-highlight-color: transparent;
}

.menu-item:active {
    transform: scale(.96);
}

.menu-item-conteudo {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.menu-item i {
    color: #aaa;
    font-size: 18px;
    line-height: 1;
}

.menu-item label {
    width: 100%;
    margin: 0;
    overflow: hidden;
    color: #aaa;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.menu-item-ativo {
    border-color: rgba(215, 255, 63, .20);
    background: rgba(215, 255, 63, .10);
}

.menu-item-ativo i,
.menu-item-ativo label {
    color: #d7ff3f;
}


/* =========================================================
   LOGIN
========================================================= */

.login-voltar {
    width: fit-content;
    margin: 14px 18px 0;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #888;
    font-size: 11px;
    font-weight: 800;
}

.login-voltar i {
    color: #d7ff3f;
    font-size: 11px;
}

.login-voltar:active {
    opacity: .7;
}

.login-container {
    width: 100%;
    min-height: calc(100vh - 82px);
    padding: 18px 18px 110px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.login-card {
    width: 100%;
    padding: 24px 22px;
    border: 1px solid rgba(215, 255, 63, .14);
    border-radius: 30px;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 255, 63, .12), transparent 35%),
        rgba(255, 255, 255, .055);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .34);
}

.login-icone {
    width: 62px;
    height: 62px;
    margin: 0 auto 18px;
    border-radius: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
}

.login-icone i {
    font-size: 24px;
}

.login-card > small,
.login-modal-topo small {
    display: block;
    margin-bottom: 7px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.login-card > small {
    text-align: center;
}

.login-card h1 {
    margin: 0;
    color: #fff;
    font-size: 27px;
    font-weight: 900;
    line-height: 1.08;
    text-align: center;
}

.login-card > p {
    max-width: 320px;
    margin: 10px auto 25px;
    color: #8b8b8b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.login-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.campo {
    width: 100%;
}

.campo label {
    margin: 0 0 8px 3px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #aaa;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.campo-opcional {
    color: #666;
    font-size: 8px;
    font-weight: 900;
}

.campo input {
    width: 100%;
    height: 58px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    background: rgba(255, 255, 255, .065);
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    outline: none;
}

.campo input:focus {
    border-color: rgba(215, 255, 63, .45);
    background: rgba(255, 255, 255, .09);
    box-shadow: 0 0 0 3px rgba(215, 255, 63, .06);
}

.campo input[readonly] {
    color: #999;
    background: rgba(255, 255, 255, .035);
}

.whatsapp,
.codigo {
    text-align: center;
}

.codigo {
    font-size: 24px !important;
    font-weight: 900 !important;
    letter-spacing: 6px;
}

.login-botao {
    width: 100%;
    min-height: 58px;
    margin-top: 2px;
    padding: 0 18px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #d7ff3f;
    color: #111;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
    -webkit-tap-highlight-color: transparent;
}

.login-botao i {
    font-size: 13px;
}

.login-botao:active {
    transform: scale(.985);
}

.login-acoes-codigo {
    margin-top: -3px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.login-acoes-codigo span {
    color: #888;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.login-acoes-codigo span:active {
    color: #d7ff3f;
}

.login-cadastro {
    margin-top: 23px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .07);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.login-cadastro > span {
    color: #777;
    font-size: 11px;
    font-weight: 700;
}

.login-cadastro > button {
    padding: 4px 8px;
    background: transparent;
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.login-cadastro > button:active {
    opacity: .7;
}


/* =========================================================
   LOGIN WHATSAPP INTERNACIONAL
========================================================= */

.campo .iti {
    width: 100%;
    --iti-border-color: rgba(255, 255, 255, .09);
    --iti-country-selector-bg: #171717;
    --iti-icon-color: #d7ff3f;
    --iti-dropdown-border: rgba(215, 255, 63, .20);
    --iti-hover-color: rgba(215, 255, 63, .12);
    --iti-spacer-horizontal: 12px;
}

.campo .iti input.whatsapp {
    width: 100%;
    text-align: left;
    padding-right: 14px;
}

.campo .iti__selected-country {
    border-right: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px 0 0 18px;
    background: rgba(255, 255, 255, .045);
    color: #fff;
}

.campo .iti__selected-country:hover,
.campo .iti__selected-country:focus-visible {
    background: rgba(215, 255, 63, .10);
}

.campo .iti__selected-dial-code {
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    margin-right: 10px;
}

.campo .iti__arrow {
    border-top-color: #d7ff3f;
}

.campo .iti__arrow--up {
    border-bottom-color: #d7ff3f;
}

.iti--detached-country-selector {
    z-index: 1000000;
}

.iti__country-selector {
    z-index: 1000001;
    --iti-country-selector-bg: #171717;
    --iti-border-color: rgba(215, 255, 63, .25);
    --iti-icon-color: #d7ff3f;
    background: #171717;
    color: #fff;
    border: 1px solid rgba(215, 255, 63, .25);
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .50);
}

.iti__country-list {
    color: #fff;
}

.iti__country.iti__highlight {
    background: rgba(215, 255, 63, .14);
}

.iti__search-input {
    color: #fff;
    background: #242424;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
}

.iti__country-name {
    color: #eee;
}

.iti__dial-code {
    color: #aaa;
}

.login-telefone-bloqueado .iti__selected-country {
    pointer-events: none;
    opacity: .6;
}

/* =========================================================
   MODAL CADASTRO
========================================================= */

.login-modal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: 99999;
    width: 100%;
    max-width: 560px;
    padding: 24px 18px 18px;
    display: none;
    align-items: flex-start;
    justify-content: center;
    transform: translateX(-50%);
}

.login-modal-fundo {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .82);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.login-modal-conteudo {
    position: relative;
    z-index: 2;
    width: 100%;
    max-height: calc(100vh - 36px);
    padding: 22px;
    border: 1px solid rgba(215, 255, 63, .15);
    border-radius: 30px;
    overflow-y: auto;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 255, 63, .10), transparent 32%),
        #111;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
    animation: loginModalAbrir .20s ease-out;
}

@keyframes loginModalAbrir {

    from {
        opacity: 0;
        transform: translateY(20px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}

.login-modal-topo {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.login-modal-topo h2 {
    margin: 0;
    color: #fff;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.1;
}

.login-modal-fechar {
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    cursor: pointer;
}

.login-modal-fechar i {
    font-size: 13px;
}

.login-modal-fechar:active {
    transform: scale(.96);
}

.login-modal-texto {
    margin: 15px 0 20px;
    color: #888;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.politicas-aceite {
    width: 100%;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 17px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: rgba(255, 255, 255, .045);
    cursor: pointer;
}

.politicas-aceite input {
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: #d7ff3f;
    cursor: pointer;
}

.politicas-aceite div {
    color: #999;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}

.politicas-aceite span {
    color: #d7ff3f;
    font-weight: 900;
    cursor: pointer;
}

.login-cadastro-botao {
    margin-top: 3px;
}


/* =========================================================
   POLÍTICAS
========================================================= */

.politicas-page {
    width: 100%;
    padding: 24px 16px 45px;
}

.politicas-topo {
    padding: 24px 20px;
    border: 1px solid rgba(215, 255, 63, .14);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 255, 63, .12), transparent 36%),
        rgba(255, 255, 255, .05);
}

.politicas-icone {
    width: 54px;
    height: 54px;
    margin-bottom: 17px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
}

.politicas-icone i {
    font-size: 19px;
}

.politicas-topo small {
    display: block;
    margin-bottom: 7px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.politicas-topo h1 {
    margin: 0;
    color: #fff;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.15;
}

.politicas-topo p {
    margin: 10px 0 0;
    color: #888;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.politicas-card {
    margin-top: 14px;
    padding: 5px 18px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 26px;
    background: rgba(255, 255, 255, .045);
}

.politicas-item {
    padding: 18px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.politicas-item:last-child {
    border-bottom: 0;
}

.politicas-item h2 {
    margin: 0 0 9px;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}

.politicas-item p {
    margin: 0;
    color: #929292;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.55;
}

.politicas-item p + p {
    margin-top: 9px;
}

.politicas-voltar {
    width: 100%;
    height: 54px;
    margin-top: 15px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #d7ff3f;
    color: #111;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.politicas-voltar:active {
    transform: scale(.985);
}


/* =========================================================
   CONTA
========================================================= */

.conta-page {
    width: 100%;
    padding: 20px 16px 115px;
}

.conta-perfil {
    width: 100%;
    padding: 20px;
    border: 1px solid rgba(215, 255, 63, .13);
    border-radius: 26px;
    display: flex;
    align-items: center;
    gap: 15px;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 255, 63, .11), transparent 38%),
        rgba(255, 255, 255, .05);
}

.conta-avatar {
    width: 58px;
    min-width: 58px;
    height: 58px;
    border-radius: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
}

.conta-avatar i {
    font-size: 19px;
}

.conta-perfil-info {
    min-width: 0;
}

.conta-perfil-info small,
.conta-bloco-titulo small,
.conta-modal-topo small {
    display: block;
    margin-bottom: 5px;
    color: #d7ff3f;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .55px;
}

.conta-perfil-info h1 {
    margin: 0;
    overflow: hidden;
    color: #fff;
    font-size: 21px;
    font-weight: 900;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conta-perfil-info p {
    margin: 5px 0 0;
    overflow: hidden;
    color: #777;
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* =========================================================
   CONTA CARTEIRA
========================================================= */

.conta-carteira {
    width: 100%;
    margin-top: 14px;
    padding: 20px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, .17), transparent 35%),
        #d7ff3f;
    color: #111;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .25);
    -webkit-tap-highlight-color: transparent;
}

.conta-carteira:active {
    transform: scale(.985);
}

.conta-carteira small {
    display: block;
    margin-bottom: 5px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .45px;
    opacity: .62;
}

.conta-carteira strong {
    display: block;
    font-size: 23px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.conta-carteira span {
    margin-top: 11px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 900;
    opacity: .65;
}

.conta-carteira span i {
    font-size: 10px;
}

.conta-carteira-icone {
    width: 50px;
    min-width: 50px;
    height: 50px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .10);
}

.conta-carteira-icone i {
    font-size: 18px;
}


/* =========================================================
   CONTA AÇÕES
========================================================= */

.conta-acoes {
    width: 100%;
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.conta-acao {
    width: 100%;
    min-height: 72px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, .045);
    color: #fff;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.conta-acao:active {
    transform: scale(.985);
}

.conta-acao-deposito {
    min-height: 78px;
    border-color: rgba(215,255,63,.32);
    background:
        radial-gradient(circle at 100% 50%,rgba(215,255,63,.16),transparent 34%),
        rgba(215,255,63,.09);
    box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.conta-acao-icone {
    width: 46px;
    min-width: 46px;
    height: 46px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215,255,63,.09);
    color: #d7ff3f;
}

.conta-acao-deposito .conta-acao-icone {
    width: 50px;
    min-width: 50px;
    height: 50px;
    border-radius: 16px;
    background: #d7ff3f;
    color: #111;
}

.conta-acao-icone i {
    font-size: 15px;
}

.conta-acao-deposito .conta-acao-icone i {
    font-size: 17px;
}

.conta-acao > div:nth-child(2) {
    min-width: 0;
    flex: 1;
}

.conta-acao-deposito strong {
    font-size: 14px;
}

.conta-acao-deposito span {
    color: #999;
}

.conta-acao-deposito .conta-acao-seta {
    color: #d7ff3f;
    font-size: 11px;
}

.conta-acao strong {
    display: block;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.conta-acao span {
    display: block;
    margin-top: 4px;
    color: #777;
    font-size: 12px;
    font-weight: 700;
}

.conta-acao-seta {
    color: #666;
    font-size: 10px;
}

.conta-acao-deposito .conta-acao-seta {
    color: #d7ff3f;
}


/* =========================================================
   CONTA PERFIL
========================================================= */

.conta-bloco {
    width: 100%;
    margin-top: 14px;
    padding: 19px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 25px;
    background: rgba(255, 255, 255, .045);
}

.conta-bloco-titulo {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.conta-bloco-titulo h2 {
    margin: 0;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
}

.conta-editar-link {
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid rgba(215, 255, 63, .13);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(215, 255, 63, .07);
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.conta-editar-link i {
    font-size: 10px;
}

.conta-editar-link:active {
    transform: scale(.96);
}

.conta-dados {
    display: flex;
    flex-direction: column;
}

.conta-dado {
    min-height: 62px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    display: flex;
    align-items: center;
    gap: 12px;
}

.conta-dado:last-child {
    border-bottom: 0;
}

.conta-dado-icone {
    width: 40px;
    min-width: 40px;
    height: 40px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215, 255, 63, .08);
    color: #d7ff3f;
}

.conta-dado-icone i {
    font-size: 13px;
}

.conta-dado > div:last-child {
    min-width: 0;
}

.conta-dado small {
    display: block;
    margin-bottom: 4px;
    color: #707070;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.conta-dado strong {
    display: block;
    overflow: hidden;
    color: #ddd;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conta-dado .conta-nao-cadastrado {
    color: #777;
}


/* =========================================================
   MODAL CLUBES
========================================================= */

.conta-clubes-modal {
    padding-bottom: 20px;
}

.conta-clubes-atual-label {
    margin: 18px 0 8px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.conta-clubes-atual {
    width: 100%;
    padding: 14px;
    border: 1px solid rgba(215,255,63,.22);
    border-radius: 19px;
    display: flex;
    align-items: center;
    gap: 11px;
    background:
        radial-gradient(circle at 100% 0%,rgba(215,255,63,.10),transparent 42%),
        rgba(215,255,63,.05);
}

.conta-clubes-atual-icone {
    width: 44px;
    min-width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
}

.conta-clubes-atual-icone i {
    font-size: 14px;
}

.conta-clubes-atual-info {
    min-width: 0;
    flex: 1;
}

.conta-clubes-atual-info strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conta-clubes-atual-info span {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #888;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conta-clubes-atual-status {
    min-height: 27px;
    padding: 0 9px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(215,255,63,.10);
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.conta-clubes-atual-status i {
    font-size: 9px;
}


/* =========================================================
   STATUS DOS CLUBES
========================================================= */

.conta-clube-opcao-status {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.conta-clube-opcao-status span {
    min-height: 27px;
    padding: 0 9px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}

.conta-clube-opcao-status span i {
    font-size: 8px;
}

.conta-clube-status-socio span {
    background: rgba(215,255,63,.12);
    color: #d7ff3f;
}

.conta-clube-status-aguardando span {
    background: rgba(255,208,106,.11);
    color: #ffd06a;
}


/* =========================================================
   LISTA DE CLUBES
========================================================= */

.conta-clubes-lista-topo {
    margin-top: 19px;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.07);
}

.conta-clubes-lista-topo strong {
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.conta-clubes-lista-topo span {
    display: block;
    margin-top: 5px;
    color: #777;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.conta-clubes-lista {
    width: 100%;
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.conta-clube-opcao {
    width: 100%;
    min-height: 66px;
    padding: 11px 12px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 17px;
    display: flex;
    align-items: center;
    gap: 11px;
    background: rgba(255,255,255,.035);
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.conta-clube-opcao:active {
    transform: scale(.99);
}

.conta-clube-opcao-icone {
    width: 40px;
    min-width: 40px;
    height: 40px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215,255,63,.08);
    color: #d7ff3f;
}

.conta-clube-opcao-icone i {
    font-size: 12px;
}

.conta-clube-opcao-info {
    min-width: 0;
    flex: 1;
}

.conta-clube-opcao-info strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conta-clube-opcao-info span {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #777;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conta-clube-opcao-seta {
    width: 26px;
    min-width: 26px;
    height: 26px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215,255,63,.06);
    color: #d7ff3f;
}

.conta-clube-opcao-seta i {
    font-size: 8px;
}


/* =========================================================
   CLUBES VAZIO
========================================================= */

.conta-clubes-vazio {
    width: 100%;
    padding: 25px 15px;
    border: 1px dashed rgba(215,255,63,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.02);
    text-align: center;
}

.conta-clubes-vazio-icone {
    width: 44px;
    height: 44px;
    margin: 0 auto 11px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215,255,63,.07);
    color: #d7ff3f;
}

.conta-clubes-vazio-icone i {
    font-size: 13px;
}

.conta-clubes-vazio strong {
    display: block;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.conta-clubes-vazio span {
    display: block;
    max-width: 280px;
    margin: 6px auto 0;
    color: #777;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.45;
}


/* =========================================================
   CONTA SAIR
========================================================= */

.conta-sair {
    width: 100%;
    min-height: 54px;
    margin-top: 14px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: rgba(255, 255, 255, .045);
    color: #aaa;
    font-size: 12px;
    font-weight: 900;
}

.conta-sair:active {
    transform: scale(.985);
}


/* =========================================================
   MODAL EDITAR PERFIL
========================================================= */

.conta-modal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: 99999;
    width: 100%;
    max-width: 560px;
    padding: 24px 18px 18px;
    display: none;
    align-items: flex-start;
    justify-content: center;
    transform: translateX(-50%);
}

.conta-modal-fundo {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .82);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.conta-modal-conteudo {
    position: relative;
    z-index: 2;
    width: 100%;
    max-height: calc(100vh - 42px);
    padding: 22px;
    border: 1px solid rgba(215, 255, 63, .15);
    border-radius: 30px;
    overflow-y: auto;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 255, 63, .10), transparent 32%),
        #111;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
    animation: contaModalAbrir .20s ease-out;
}

@keyframes contaModalAbrir {

    from {
        opacity: 0;
        transform: translateY(18px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}

.conta-modal-topo {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.conta-modal-topo h2 {
    margin: 0;
    color: #fff;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.1;
}

.conta-modal-fechar {
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    cursor: pointer;
}

.conta-modal-fechar i {
    font-size: 13px;
}

.conta-modal-fechar:active {
    transform: scale(.96);
}

.conta-modal-texto {
    margin: 15px 0 20px;
    color: #888;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.conta-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.conta-form .campo select {
    width: 100%;
    height: 58px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    background: #202020;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    outline: none;
}

.conta-form .campo select:focus {
    border-color: rgba(215, 255, 63, .45);
    box-shadow: 0 0 0 3px rgba(215, 255, 63, .06);
}

.conta-modal-aviso {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid rgba(215, 255, 63, .10);
    border-radius: 16px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    background: rgba(215, 255, 63, .05);
}

.conta-modal-aviso i {
    margin-top: 2px;
    color: #d7ff3f;
    font-size: 14px;
}

.conta-modal-aviso span {
    color: #888;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.conta-salvar {
    width: 100%;
    min-height: 58px;
    padding: 0 18px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #d7ff3f;
    color: #111;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.conta-salvar i {
    font-size: 12px;
}

.conta-salvar:active {
    transform: scale(.985);
}


/* =========================================================
   CARTEIRA
========================================================= */

.carteira-page {
    width: 100%;
    padding: 14px 16px 115px;
}

.carteira-saldo {
    width: 100%;
    padding: 22px;
    border-radius: 27px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, .20), transparent 35%),
        #d7ff3f;
    color: #111;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .27);
}

.carteira-saldo-topo {
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.carteira-saldo small {
    display: block;
    margin-bottom: 5px;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .55px;
    opacity: .60;
}

.carteira-saldo span {
    display: block;
    font-size: 12px;
    font-weight: 900;
}

.carteira-saldo > strong {
    display: block;
    font-size: 26px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.carteira-saldo-icone {
    width: 48px;
    min-width: 48px;
    height: 48px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .10);
}

.carteira-saldo-icone i {
    font-size: 17px;
}

.carteira-acoes {
    width: 100%;
    margin-top: 14px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.carteira-acao {
    min-height: 82px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 21px;
    display: flex;
    align-items: center;
    gap: 11px;
    background: rgba(255, 255, 255, .045);
    color: #fff;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.carteira-acao-principal {
    border-color: rgba(215, 255, 63, .15);
    background: rgba(215, 255, 63, .075);
}

.carteira-acao:active {
    transform: scale(.985);
}

.carteira-acao-icone {
    width: 43px;
    min-width: 43px;
    height: 43px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215, 255, 63, .09);
    color: #d7ff3f;
}

.carteira-acao-icone i {
    font-size: 15px;
}

.carteira-acao strong {
    display: block;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.carteira-acao span {
    display: block;
    margin-top: 4px;
    color: #777;
    font-size: 9px;
    font-weight: 800;
}

.carteira-bloco {
    width: 100%;
    margin-top: 14px;
    padding: 19px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 25px;
    background: rgba(255, 255, 255, .045);
}

.carteira-bloco-titulo {
    margin-bottom: 14px;
}

.carteira-bloco-titulo small {
    display: block;
    margin-bottom: 5px;
    color: #d7ff3f;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .55px;
}

.carteira-bloco-titulo h1 {
    margin: 0;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
}

.carteira-extrato {
    display: flex;
    flex-direction: column;
}

.carteira-extrato-item {
    min-height: 65px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    display: flex;
    align-items: center;
    gap: 11px;
}

.carteira-extrato-item:last-child {
    border-bottom: 0;
}

.carteira-extrato-icone {
    width: 41px;
    min-width: 41px;
    height: 41px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carteira-extrato-icone.credito {
    background: rgba(215, 255, 63, .09);
    color: #d7ff3f;
}

.carteira-extrato-icone.debito {
    background: rgba(255, 255, 255, .06);
    color: #aaa;
}

.carteira-extrato-info {
    min-width: 0;
    flex: 1;
}

.carteira-extrato-info strong {
    display: block;
    overflow: hidden;
    color: #ddd;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.carteira-extrato-info small {
    display: block;
    margin-top: 4px;
    color: #666;
    font-size: 9px;
    font-weight: 700;
}

.carteira-extrato-valor {
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.carteira-extrato-valor.credito {
    color: #d7ff3f;
}

.carteira-extrato-valor.debito {
    color: #aaa;
}

.carteira-vazio {
    padding: 28px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.carteira-vazio-icone {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .05);
    color: #555;
}

.carteira-vazio strong {
    color: #aaa;
    font-size: 12px;
    font-weight: 900;
}

.carteira-vazio span {
    margin-top: 5px;
    color: #666;
    font-size: 10px;
    font-weight: 700;
}


/* =========================================================
   MESA
========================================================= */

body:has(.mesa-page) {
    height: 100dvh;
    overflow: hidden;
}

body:has(.mesa-page) .app {
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
}

body:has(.mesa-page) .topo,
body:has(.mesa-page) .instalar-app {
    display: none !important;
}

.mesa-page {
    width: 100%;
    height: 100dvh;
    height: 100svh;
    padding: 5px 7px 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}


/* =========================================================
   BARRA DA MESA
========================================================= */

.mesa-barra {
    width: 100%;
    flex: 0 0 43px;
    padding: 0 3px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.mesa-barra-esquerda {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mesa-sair {
    width: 30px;
    min-width: 30px;
    height: 30px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d7ff3f;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mesa-sair i {
    font-size: 12px;
}

.mesa-sair:active {
    transform: scale(.94);
}

.mesa-barra-info {
    min-width: 0;
    text-align: left;
}

.mesa-barra-info strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mesa-barra-info span {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}


/* =========================================================
   AÇÕES DO TOPO DA MESA
========================================================= */

.mesa-barra-acoes {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.mesa-topo-acao {
    position: relative;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .045);
    color: #999;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mesa-topo-acao i {
    font-size: 12px;
}

.mesa-topo-acao:active {
    transform: scale(.95);
}

.mesa-topo-acao-ativo {
    border-color: rgba(255, 208, 106, .35);
    background: rgba(255, 208, 106, .12);
    color: #ffd06a;
}

.mesa-topo-acao-voltar {
    border-color: rgba(215, 255, 63, .28);
    background: rgba(215, 255, 63, .12);
    color: #d7ff3f;
}


/* =========================================================
   RODAPÉ SEGURO DA MESA
========================================================= */

.mesa-rodape-seguro {
    width: 100%;
    flex: 0 0 calc(28px + env(safe-area-inset-bottom));
    min-height: calc(28px + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
}

.mesa-rodape-seguro span {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: .65;
}


/* =========================================================
   ADICIONAR FICHAS
========================================================= */

.mesa-topo-fichas {
    border-color: rgba(215, 255, 63, .18);
    color: #d7ff3f;
}

.mesa-topo-fichas b {
    position: absolute;
    top: 3px;
    right: 4px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
}


/* =========================================================
   COMPARTILHAR MESA
========================================================= */

.mesa-topo-compartilhar {
    border-color: rgba(215, 255, 63, .18);
    color: #d7ff3f;
}

.mesa-topo-compartilhar:active {
    background: rgba(215, 255, 63, .10);
}


/* =========================================================
   ÁREA DA MESA
========================================================= */

.mesa-area {
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    padding: 2px 3px 4px;
    margin-top: 4px;
}

.mesa-feltro {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 6px solid #171717;
    border-radius: 48% / 20%;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 43%,
            rgba(215, 255, 63, .045),
            transparent 34%
        ),
        radial-gradient(
            circle at 50% 50%,
            #17612f 0%,
            #0d4923 63%,
            #08371a 100%
        );
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .035),
        inset 0 0 55px rgba(0, 0, 0, .30),
        0 15px 38px rgba(0, 0, 0, .42);
}

.mesa-feltro::before {
    content: '';
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255, 255, 255, .065);
    border-radius: 48% / 20%;
    pointer-events: none;
}


/* =========================================================
   MARCA DA MESA
========================================================= */

.mesa-marca {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -50%);
    transition:
        opacity .16s ease,
        visibility .16s ease;
    pointer-events: none;
    user-select: none;
}

.mesa-marca img {
    width: 100%;
    height: auto;
    display: block;
    opacity: .07;
    filter: grayscale(1);
}

.mesa-marca-clube {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    width: 260px;
    max-width: 75vw;
    transform: translateX(-50%);
    color: #fff;
    opacity: .07;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.mesa-sem-mao .mesa-marca,
.mesa-inicio-mao .mesa-marca,
.mesa-logo-centro .mesa-marca {
    opacity: 1;
    visibility: visible;
}


/* =========================================================
   CONEXÃO DA MESA
========================================================= */

.mesa-page.mesa-conexao-perdida .mesa-jogador-6 .mesa-jogador-box > span {
    color: #d7ff3f;
    font-size: 11px;
    white-space: nowrap;
}


/* =========================================================
   ESPERA DA MESA — LARGURA E ALTURA FIXAS
========================================================= */

.mesa-aposta .mesa-pre-acoes.mesa-pre-acoes-espera {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-height: 92px;
}

.mesa-pre-acoes-espera > .mesa-espera-cartao {
    grid-column: 1 / -1;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 78px;
    padding: 11px 15px;
    border: 1px solid rgba(215,255,63,.14);
    border-radius: 13px;
    background: linear-gradient(
        110deg,
        rgba(215,255,63,.065),
        rgba(255,255,255,.018)
    );
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.mesa-espera-cartao > img {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    object-fit: contain;
    opacity: .36;
    filter: grayscale(1);
}

.mesa-pre-acoes-espera .mesa-espera-mensagem {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.mesa-espera-mensagem strong {
    font-size: 13px;
    line-height: 1.2;
    font-weight: 900;
    color: #d7ff3f;
    white-space: normal;
}

.mesa-espera-mensagem > span {
    font-size: 11px;
    line-height: 1.35;
    font-weight: 600;
    color: rgba(255,255,255,.78);
    white-space: normal;
}


/* =========================================================
   BOLINHA VERDE — PISCANDO
========================================================= */

.mesa-pre-acoes-espera .mesa-espera-sinal,
.mesa-pre-acoes-espera .mesa-espera-sinal-pausa {
    display: block;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d7ff3f;
    box-shadow: 0 0 10px rgba(215,255,63,.55);
    animation: mesa-espera-pulso 1.2s ease-in-out infinite;
}

@keyframes mesa-espera-pulso {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: .2;
        transform: scale(.7);
    }
}


/* =========================================================
   INDICADOR DE JOGADOR AUSENTE
========================================================= */

.mesa-jogador-em-pausa .mesa-jogador-acao {
    box-sizing: border-box;
    max-width: 145px;
    min-height: 22px;
    padding: 3px 7px;
    border: 1px solid rgba(255,179,71,.35);
    background: rgba(7,7,7,.92);
    color: #ffb347;
    font-size: 10px;
    font-weight: 800;
}


/* =========================================================
   JOGADORES
========================================================= */

.mesa-jogador {
    position: absolute;
    z-index: 20;
    width: 102px;
    transform: translate(-50%, -50%);
}

.mesa-jogador-1 {
    top: 25%;
    left: 15%;
}

.mesa-jogador-2 {
    top: 11%;
    left: 50%;
}

.mesa-jogador-3 {
    top: 25%;
    left: 85%;
}

.mesa-jogador-4 {
    top: 68%;
    left: 85%;
}

.mesa-jogador-5 {
    top: 68%;
    left: 15%;
}

.mesa-jogador-6 {
    top: 91%;
    left: 50%;
    width: 120px;
}

.mesa-jogador-box {
    position: relative;
    width: 100%;
    min-height: 44px;
    padding: 7px 7px 6px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 13px;
    overflow: hidden;
    background: rgba(7, 7, 7, .95);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .36);
    text-align: center;
}

.mesa-jogador-box strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mesa-jogador-box > span {
    display: block;
    margin-top: 4px;
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
}

.mesa-jogador-vez .mesa-jogador-box {
    border-color: rgba(215, 255, 63, .65);
    box-shadow:
        0 7px 18px rgba(0, 0, 0, .36),
        0 0 17px rgba(215, 255, 63, .10);
}

.mesa-jogador-fold {
    opacity: .72;
}


/* =========================================================
   JOGADOR NA VEZ
========================================================= */

.mesa-jogador-vez .mesa-jogador-box {
    border-color: #d7ff3f;
    animation: mesaJogadorVez 1.6s ease-in-out infinite;
}

@keyframes mesaJogadorVez {

    0%,
    100% {
        box-shadow:
            0 0 0 1px rgba(215,255,63,.25),
            0 0 6px rgba(215,255,63,.16);
    }

    50% {
        box-shadow:
            0 0 0 2px rgba(215,255,63,.65),
            0 0 14px rgba(215,255,63,.38);
    }

}


/* =========================================================
   LUGARES LIVRES
========================================================= */

.mesa-assento-livre {
    z-index: 20;
    display: block;
    visibility: visible;
    opacity: 1;
}

.mesa-assento-livre-box {
    width: 100%;
    min-height: 44px;
    padding: 7px;
    border: 1px dashed rgba(255,255,255,.28);
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(7,7,7,.50);
    color: rgba(255,255,255,.55);
}

.mesa-assento-livre-box i {
    font-size: 11px;
}

.mesa-assento-livre-box strong {
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

/* =========================================================
   CARTAS FECHADAS DO BOARD
========================================================= */

.mesa-board .mesa-carta.mesa-carta-verso {
    padding: 0;
    border: 2px solid #fff;
    border-radius: 7px;
    overflow: hidden;
    background:
        repeating-linear-gradient(
            45deg,
            #9fbe22 0,
            #9fbe22 3px,
            #d7ff3f 3px,
            #d7ff3f 6px
        );
    box-shadow: 0 5px 12px rgba(0,0,0,.25);
}

.mesa-board .mesa-carta.mesa-carta-verso > div {
    display: none;
}


/* =========================================================
   TEMPO
========================================================= */

.mesa-tempo {
    position: relative;
    width: calc(100% + 14px);
    height: 3px;
    margin: 6px -7px -6px;
    visibility: hidden;
    overflow: hidden;
    background: rgba(255,255,255,.07);
}

.mesa-tempo div {
    width: 100%;
    height: 100%;
    background: #d7ff3f;
}

.mesa-jogador-vez .mesa-tempo {
    visibility: visible;
}

/* =========================================================
   DEALER
========================================================= */

.mesa-dealer {
    position: absolute;
    top: -8px;
    right: -8px;
    z-index: 40;
    width: 25px;
    height: 25px;
    border: 2px solid #111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #111;
    font-size: 10px;
    font-weight: 900;
}


/* =========================================================
   CARTAS FECHADAS
========================================================= */

.mesa-cartas-fechadas {
    position: absolute;
    top: -19px;
    left: 50%;
    z-index: -1;
    width: 42px;
    height: 30px;
    transform: translateX(-50%);
}

.mesa-cartas-fechadas span {
    position: absolute;
    top: 0;
    width: 26px;
    height: 36px;
    border: 2px solid #fff;
    border-radius: 6px;
    background:
        repeating-linear-gradient(
            45deg,
            #9fbe22 0,
            #9fbe22 3px,
            #d7ff3f 3px,
            #d7ff3f 6px
        );
    box-shadow: 0 3px 8px rgba(0, 0, 0, .30);
}

.mesa-cartas-fechadas span:first-child {
    left: 0;
    transform: rotate(-7deg);
}

.mesa-cartas-fechadas span:last-child {
    right: 0;
    transform: rotate(7deg);
}


/* =========================================================
   INÍCIO DA MÃO
========================================================= */

.mesa-inicio-mao .mesa-cartas-fechadas span,
.mesa-inicio-mao .mesa-cartas-jogador .mesa-carta-jogador {
    opacity: 0;
}

.mesa-sem-mao .mesa-centro,
.mesa-inicio-mao .mesa-centro,
.mesa-logo-centro .mesa-centro {
    opacity: 0;
    visibility: hidden;
}


/* =========================================================
   ANIMAÇÃO DO FLOP
========================================================= */

.mesa-board {
    perspective: 700px;
}

.mesa-carta.mesa-carta-abrindo {
    transform-origin: center;
    animation: mesaVirarCarta .22s ease-out both;
}

.mesa-carta.mesa-carta-abrindo:nth-child(2) {
    animation-delay: .08s;
}

.mesa-carta.mesa-carta-abrindo:nth-child(3) {
    animation-delay: .16s;
}

@keyframes mesaVirarCarta {

    0% {
        transform: rotateY(90deg) scale(.96);
        opacity: .55;
    }

    100% {
        transform: rotateY(0deg) scale(1);
        opacity: 1;
    }

}


/* =========================================================
   DISTRIBUIÇÃO DAS CARTAS
========================================================= */

.mesa-carta-recebida {
    animation: mesaReceberCarta .14s ease-out both;
}

@keyframes mesaReceberCarta {

    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

}


/* =========================================================
   AÇÃO DO JOGADOR
========================================================= */

.mesa-jogador-acao {
    width: fit-content;
    min-width: 47px;
    min-height: 22px;
    margin: 4px auto 0;
    padding: 0 8px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .72);
    color: #aaa;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.mesa-jogador-call .mesa-jogador-acao {
    background: #d7ff3f;
    color: #111;
}

.mesa-jogador-raise .mesa-jogador-acao {
    background: #ffd06a;
    color: #111;
}

.mesa-jogador-allin .mesa-jogador-box {
    border-color: rgba(255, 155, 145, .45);
}

.mesa-jogador-allin .mesa-jogador-box > span {
    color: #ff9b91;
}

.mesa-jogador-allin .mesa-jogador-acao {
    background: #ff9b91;
    color: #111;
}

.mesa-jogador-fold .mesa-jogador-acao {
    background: #7ccfff;
    color: #10202a;
}

.mesa-jogador-check .mesa-jogador-acao {
    background: #e5e5e5;
    color: #111;
}

.mesa-jogador-ausente {
    opacity: .55;
}

.mesa-jogador-ausente .mesa-jogador-acao {
    background: #555;
    color: #ddd;
}

.mesa-jogador-sem-fichas {
    opacity: .72;
}

.mesa-jogador-sem-fichas .mesa-jogador-box {
    border-color: rgba(255, 255, 255, .12);
}

.mesa-jogador-sem-fichas .mesa-jogador-box > span {
    color: #999;
}

.mesa-jogador-sem-fichas .mesa-jogador-acao {
    background: #2b2b2b;
    color: #ddd;
}


/* =========================================================
   FICHAS DE APOSTA
========================================================= */

.mesa-aposta-ficha {
    position: absolute;
    z-index: 30;
    height: 23px;
    min-width: 39px;
    padding: 0 7px 0 4px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(5, 5, 5, .88);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .30);
}

.mesa-aposta-ficha strong {
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    margin-left: 4px;
}

.mesa-ficha-mini {
    width: 15px;
    height: 15px;
    min-width: 15px;
    border: 2px dashed #101010;
    border-radius: 50%;
    display: block;
    background: #d7ff3f;
    box-shadow:
        0 0 0 1px #d7ff3f,
        0 2px 4px rgba(0, 0, 0, .35);
}

.mesa-jogador-1 .mesa-aposta-ficha {
    top: 63px;
    left: 86px;
}

.mesa-jogador-2 .mesa-aposta-ficha {
    top: 83px;
    left: 50%;
    transform: translateX(-50%);
}

.mesa-jogador-3 .mesa-aposta-ficha {
    top: 63px;
    right: 86px;
}

.mesa-jogador-4 .mesa-aposta-ficha {
    top: -35px;
    right: 86px;
}

.mesa-jogador-5 .mesa-aposta-ficha {
    top: -35px;
    left: 86px;
}

.mesa-jogador-6 .mesa-aposta-ficha {
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
}


/* =========================================================
   CENTRO DA MESA
========================================================= */

.mesa-centro {
    position: absolute;
    top: 40%;
    left: 50%;
    z-index: 10;
    width: 72%;
    transform: translate(-50%, -50%);
}

.mesa-pote {
    margin-bottom: 30px;
    text-align: center;
}

.mesa-pote span {
    display: block;
    color: rgba(255, 255, 255, .50);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.mesa-pote strong {
    display: block;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
}

.mesa-board {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.mesa-carta {
    width: 48px;
    height: 60px;
    padding: 5px 4px;
    border-radius: 7px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #f5f5f2;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .25);
}

.mesa-carta strong {
    font-size: 17px;
    font-weight: 900;
    line-height: 1;
}

.mesa-carta span {
    margin-top: 4px;
    font-size: 23px;
    font-weight: 900;
    line-height: 1;
}

.mesa-carta.preta {
    color: #111;
}

.mesa-carta.vermelha {
    color: #d62d3a;
}


/* =========================================================
   CARTAS DO JOGADOR
========================================================= */

.mesa-cartas-jogador {
    position: absolute;
    top: -50px;
    left: 50%;
    z-index: -1;
    width: 80px;
    height: 60px;
    transform: translateX(-50%);
}

.mesa-carta-jogador {
    position: absolute;
    top: 0;
    width: 45px;
    height: 62px;
    padding: 5px;
    border: 2px solid #fff;
    border-radius: 8px;
    background: #f7f7f4;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .32);
}

.mesa-carta-jogador:first-child {
    left: 3px;
    transform: rotate(-6deg);
}

.mesa-carta-jogador:last-child {
    right: 3px;
    transform: rotate(6deg);
}

.mesa-carta-jogador strong {
    display: block;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.mesa-carta-jogador span {
    display: block;
    margin-top: 3px;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
}

.mesa-carta-jogador.preta {
    color: #111;
}

.mesa-carta-jogador.vermelha {
    color: #d62d3a;
}

.mesa-page .mesa-board .mesa-carta.mesa-revelacao-oculta {
    visibility: visible !important;
    opacity: 1 !important;
    background: repeating-linear-gradient(45deg,#9fbe22 0,#9fbe22 3px,#d7ff3f 3px,#d7ff3f 6px);
    border: 2px solid #fff;
}

.mesa-page .mesa-board .mesa-carta.mesa-revelacao-oculta > strong,
.mesa-page .mesa-board .mesa-carta.mesa-revelacao-oculta > span {
    visibility: hidden;
}

.mesa-page.mesa-resultado-correndo .mesa-carta-vencedora {
    border-color: #fff;
    box-shadow: 0 5px 12px rgba(0,0,0,.25);
}

.mesa-page.mesa-resultado-correndo .mesa-board .mesa-carta-vencedora { transform: none; }
.mesa-page.mesa-resultado-correndo .mesa-carta-jogador.mesa-carta-vencedora:first-child { transform: rotate(-6deg); }
.mesa-page.mesa-resultado-correndo .mesa-carta-jogador.mesa-carta-vencedora:last-child { transform: rotate(6deg); }
.mesa-page.mesa-resultado-correndo .mesa-jogador-vencedor .mesa-jogador-box {
    border-color: rgba(255,255,255,.06);
    box-shadow: none;
}

.mesa-page.mesa-resultado-correndo .mesa-jogador-vencedor .mesa-jogador-box > span {
    visibility: hidden;
}


/* =========================================================
   CARTAS OPCIONAIS NO CARTÃO DE RESULTADO
========================================================= */

.mesa-pre-acoes-espera > .mesa-espera-cartao {
    position: relative;
}

.mesa-espera-cartao.mesa-espera-com-cartas {
    padding-left: 79px;
    padding-right: 48px;
}

.mesa-espera-cartao .mesa-mostrar-cartas {
    position: absolute;
    top: 50%;
    left: 10px;
    z-index: 45;
    display: flex;
    align-items: center;
    gap: 5px;
    transform: translateY(-50%);
}

.mesa-espera-cartao .mesa-mostrar-carta {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 25px;
    width: 25px;
    height: 35px;
    min-width: 25px;
    padding: 0;
    border: 2px solid rgba(255,255,255,.85);
    border-radius: 5px;
    cursor: pointer;
    background: repeating-linear-gradient(
        45deg,
        #9fbe22 0,
        #9fbe22 3px,
        #d7ff3f 3px,
        #d7ff3f 6px
    );
    box-shadow: 0 2px 6px rgba(0,0,0,.3);
    opacity: 1;
}

.mesa-espera-cartao .mesa-mostrar-carta:first-child {
    transform: rotate(-5deg);
}

.mesa-espera-cartao .mesa-mostrar-carta:last-child {
    transform: rotate(5deg);
}

.mesa-espera-cartao .mesa-mostrar-carta-face {
    display: none;
}

.mesa-espera-cartao .mesa-mostrar-carta.mesa-mostrar-carta-aberta,
.mesa-espera-cartao .mesa-mostrar-carta.mesa-mostrar-carta-aberta:disabled {
    background: #fff;
    opacity: 1;
    cursor: default;
}

.mesa-espera-cartao .mesa-mostrar-carta-aberta .mesa-mostrar-carta-face {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    line-height: 1;
    font-size: 10px;
    font-weight: 900;
    color: #111;
}

.mesa-espera-cartao .mesa-mostrar-carta-aberta .mesa-mostrar-carta-face.vermelha {
    color: #d62d3a;
}

.mesa-espera-cartao .mesa-mostrar-carta-face strong {
    font-size: 11px;
    line-height: 1.1;
}

.mesa-espera-cartao .mesa-mostrar-carta-face > span {
    font-size: 12px;
}


/* =========================================================
   CARTAS MOSTRADAS VOLUNTARIAMENTE
========================================================= */

.mesa-page.mesa-resultado-correndo
.mesa-jogador:not(.mesa-jogador-6)
.mesa-cartas-jogador.mesa-cartas-voluntarias {
    visibility: visible !important;
}


/* =========================================================
   RELOAD PEQUENO NO CARTÃO DE RESULTADO
========================================================= */

.mesa-espera-cartao > .mesa-recarregar.mesa-recarregar-resultado {
    position: absolute;
    top: 50%;
    right: 10px;
    left: auto;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    min-width: 25px;
    padding: 0;
    border: 1px solid rgba(215,255,63,.2);
    border-radius: 50%;
    background: rgba(7,7,7,.85);
    color: #d7ff3f;
    font-size: 11px;
    cursor: pointer;
    transform: translateY(-50%);
}

.mesa-espera-cartao > .mesa-recarregar.mesa-recarregar-resultado:active {
    transform: translateY(-50%) scale(.95);
}


/* =========================================================
   CARTAS REVELADAS DOS OPONENTES
========================================================= */

.mesa-page-resultado
.mesa-jogador:not(.mesa-jogador-6)
.mesa-cartas-jogador {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
    width: 88px;
}

.mesa-page-resultado
.mesa-jogador:not(.mesa-jogador-6)
.mesa-cartas-jogador .mesa-carta-jogador {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    flex: 0 0 42px;
    width: 42px;
    min-width: 42px;
    box-sizing: border-box;
    transform: none !important;
}


/* =========================================================
   ESPAÇO PARA O RELOAD NO CARTÃO
========================================================= */

.mesa-espera-cartao.mesa-espera-com-reload {
    padding-right: 48px;
}


/* =========================================================
   FOLD DO JOGADOR LOCAL
========================================================= */

.mesa-page .mesa-jogador-6.mesa-jogador-foldou-local .mesa-cartas-jogador,
.mesa-page .mesa-jogador-6.mesa-jogador-fold .mesa-cartas-jogador {
    opacity: .32;
    filter: grayscale(.65) brightness(.75);
}

.mesa-page .mesa-jogador-6.mesa-jogador-foldou-local .mesa-jogador-acao {
    background: #444;
    color: #e1e1e1;
}


/* =========================================================
   CASH GAME - CARTAS, MARCA E ESTADO FORA DA MÃO
========================================================= */

.mesa-page:not(.mesa-torneio-page) .mesa-topo-sair {
    border-color: rgba(255, 130, 117, .35);
    background: rgba(255, 130, 117, .12);
    color: #ff8275;
}

.mesa-page:not(.mesa-torneio-page) .mesa-rake {
    position: absolute;
    top: 19%;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, .58);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    pointer-events: none;
}

.mesa-page:not(.mesa-torneio-page) .mesa-feltro {
    overflow: visible;
}

.mesa-page:not(.mesa-torneio-page) .mesa-cartas-fechadas,
.mesa-page:not(.mesa-torneio-page) .mesa-cartas-jogador {
    z-index: 0;
}

.mesa-page:not(.mesa-torneio-page) .mesa-jogador-box {
    z-index: 1;
}

/* Pré-flop: pote e logo aparecem juntos em Cash, torneio e observadores.
   A partir do flop, somente o logo some; o centro/pote continua normal. */
.mesa-page[data-street="1"]:not(.mesa-page-resultado) .mesa-marca,
.mesa-page[data-street="1"]:not(.mesa-page-resultado) .mesa-centro {
    opacity: 1;
    visibility: visible;
}

.mesa-page:not(.mesa-torneio-page) .mesa-jogador-6.mesa-jogador-fora-mao-local .mesa-jogador-acao {
    background: #444;
    color: #e1e1e1;
}

/* =========================================================
   CONTROLES
========================================================= */

.mesa-aposta {
    width: 100%;
    min-height: 106px;
    flex: 0 0 auto;
    padding: 6px 10px;
    margin-top: 5px;
    margin-bottom: 8px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 17px;
    background: rgba(255,255,255,.045);
}

.mesa-page:not(.mesa-torneio-page) .mesa-aposta {
    padding: 9px 10px 10px;
}

.mesa-page:not(.mesa-torneio-page) .mesa-controles-jogo {
    width: 100%;
    min-height: 0;
    display: block;
}

.mesa-page:not(.mesa-torneio-page) .mesa-controles-principal {
    min-width: 0;
    display: grid;
    grid-template-rows: 34px 58px 52px;
    gap: 8px;
}


/* =========================================================
   ATALHOS
========================================================= */

.mesa-page:not(.mesa-torneio-page) .mesa-atalhos {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 6px;
}

.mesa-page:not(.mesa-torneio-page) .mesa-atalhos button {
    min-width: 0;
    min-height: 34px;
    padding: 0 3px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 9px;
    background: rgba(255,255,255,.055);
    color: #c5c5c5;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.mesa-page:not(.mesa-torneio-page) .mesa-atalhos button:active,
.mesa-page:not(.mesa-torneio-page) .mesa-atalhos button.mesa-atalho-ativo {
    background: rgba(215,255,63,.12);
    border-color: rgba(215,255,63,.20);
    color: #d7ff3f;
}

.mesa-page:not(.mesa-torneio-page) .mesa-atalhos .mesa-atalho-allin {
    border-color: rgba(255,155,145,.20);
    background: rgba(255,155,145,.10);
    color: #ff9b91;
}

.mesa-page:not(.mesa-torneio-page) .mesa-atalhos .mesa-atalho-allin:active,
.mesa-page:not(.mesa-torneio-page) .mesa-atalhos .mesa-atalho-allin.mesa-atalho-ativo {
    background: rgba(255,155,145,.18);
    border-color: rgba(255,155,145,.26);
    color: #ff9b91;
}


/* =========================================================
   AÇÕES
========================================================= */

.mesa-page:not(.mesa-torneio-page) .mesa-acoes {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
}

.mesa-page:not(.mesa-torneio-page) .mesa-acao {
    min-width: 0;
    min-height: 52px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    color: #111;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mesa-page:not(.mesa-torneio-page) .mesa-acao:active {
    transform: scale(.975);
}

.mesa-page:not(.mesa-torneio-page) .mesa-acao span {
    font-size: 13px;
    font-weight: 900;
}

.mesa-page:not(.mesa-torneio-page) .mesa-acao strong {
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    opacity: .78;
}

.mesa-page:not(.mesa-torneio-page) .mesa-acao-fold {
    background: #8fd9ff;
}

.mesa-page:not(.mesa-torneio-page) .mesa-acao-call {
    background: #d7ff3f;
}

.mesa-page:not(.mesa-torneio-page) .mesa-acao-raise {
    background: #ffd06a;
}

.mesa-page:not(.mesa-torneio-page) .mesa-acao-allin {
    background: #ff9b91 !important;
    color: #111 !important;
}


/* =========================================================
   CONTROLE DO RAISE
========================================================= */

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider {
    min-width: 0;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) 34px;
    align-items: center;
    gap: 9px;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-ajuste {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 9px;
    background: rgba(255,255,255,.05);
    color: #cfcfcf;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-ajuste:active {
    background: rgba(215,255,63,.10);
    color: #d7ff3f;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-ajuste:disabled {
    opacity: .35;
    cursor: default;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-faixa {
    min-width: 0;
    height: 58px;
    padding: 5px 2px 5px;
    display: grid;
    grid-template-rows: 20px 20px;
    align-content: center;
    gap: 5px;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-input {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 7px;
    margin: 0;
    align-self: center;
    border-radius: 999px;
    background: linear-gradient(90deg,#d7ff3f 0%,#d7ff3f var(--raise-percentual,0%),rgba(255,255,255,.10) var(--raise-percentual,0%),rgba(255,255,255,.10) 100%);
    outline: none;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-input::-webkit-slider-runnable-track {
    height: 7px;
    border-radius: 999px;
    background: transparent;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-input::-moz-range-track {
    height: 7px;
    border-radius: 999px;
    background: transparent;
    border: 0;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    margin-top: -5px;
    border-radius: 50%;
    border: 3px solid #d7ff3f;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,.38);
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-input::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 3px solid #d7ff3f;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,.38);
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-input:disabled {
    opacity: .35;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-valores {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 4px;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-valores span {
    min-width: 0;
    font-size: 9px;
    font-weight: 700;
    color: rgba(255,255,255,.62);
    white-space: nowrap;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-valores span:last-child {
    text-align: right;
}

.mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-valores strong {
    min-width: 64px;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    text-align: center;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}


/* =========================================================
   PRÉ-AÇÕES
========================================================= */

.mesa-pre-acoes {
    width: 100%;
    min-height: 92px;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: center;
    gap: 6px;
}

.mesa-pre-acoes label {
    min-width: 0;
    min-height: 56px;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(255,255,255,.035);
    color: #888;
    cursor: pointer;
}

.mesa-pre-acoes input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #d7ff3f;
}

.mesa-pre-acoes span {
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}


/* =========================================================
   MODAIS DA MESA
========================================================= */

.mesa-modal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: 999999;
    width: 100%;
    max-width: 560px;
    display: none;
    align-items: flex-end;
    justify-content: center;
    transform: translateX(-50%);
}

.mesa-modal-fundo {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .80);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.mesa-modal-conteudo {
    position: relative;
    z-index: 2;
    width: 100%;
    max-height: 92dvh;
    padding:
        20px
        18px
        calc(18px + env(safe-area-inset-bottom));
    border: 1px solid rgba(215, 255, 63, .15);
    border-bottom: 0;
    border-radius: 28px 28px 0 0;
    overflow-y: auto;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(215, 255, 63, .10),
            transparent 34%
        ),
        #101010;
    box-shadow: 0 -25px 70px rgba(0, 0, 0, .60);
    animation: mesaModalAbrir .20s ease-out;
}

@keyframes mesaModalAbrir {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

.mesa-modal-conteudo-menor {
    padding-bottom: calc(22px + env(safe-area-inset-bottom));
}

.mesa-modal-topo {
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.mesa-modal-topo small {
    display: block;
    margin-bottom: 5px;
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.mesa-modal-topo h2 {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.1;
}

.mesa-modal-fechar {
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .07);
    color: #aaa;
    cursor: pointer;
}

.mesa-modal-fechar i {
    font-size: 11px;
}

.mesa-modal-texto {
    margin: 14px 0 17px;
    color: #888;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.mesa-modal-texto-central {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}


/* =========================================================
   HISTÓRICO DA MESA
========================================================= */

.mesa-historico-modal {
    max-height: calc(100dvh - 28px);
    overflow-y: auto;
}

.mesa-historico-lista {
    width: 100%;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mesa-historico-mao {
    width: 100%;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
}

.mesa-historico-topo {
    width: 100%;
    padding-bottom: 11px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.mesa-historico-topo > div:first-child {
    min-width: 0;
}

.mesa-historico-topo > div:first-child strong {
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.mesa-historico-topo > div:first-child span {
    display: block;
    margin-top: 4px;
    color: #777;
    font-size: 12px;
    font-weight: 800;
}

.mesa-historico-resultado {
    flex: 0 0 auto;
    text-align: right;
}

.mesa-historico-resultado strong {
    display: block;
    font-size: 16px;
    font-weight: 900;
}

.mesa-historico-resultado span {
    display: block;
    margin-top: 3px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.mesa-historico-resultado.ganhou strong,
.mesa-historico-resultado.ganhou span {
    color: #d7ff3f;
}

.mesa-historico-resultado.perdeu strong {
    color: #ff7867;
}

.mesa-historico-resultado.perdeu span {
    color: #aa6259;
}

.mesa-historico-resultado.fold strong,
.mesa-historico-resultado.fold span {
    color: #7ccfff;
}


/* =========================================================
   CARTAS DO HISTÓRICO
========================================================= */

.mesa-historico-cartas {
    width: 100%;
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.mesa-historico-proprias {
    flex: 0 0 auto;
    display: flex;
    gap: 4px;
}

.mesa-historico-carta {
    width: 42px;
    height: 57px;
    padding: 5px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #f5f5f2;
    box-shadow: 0 4px 10px rgba(0,0,0,.20);
}

.mesa-historico-carta strong {
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

.mesa-historico-carta span {
    font-size: 20px;
    line-height: 1;
}

.mesa-historico-board {
    min-width: 0;
    flex: 1;
    display: flex;
    justify-content: flex-end;
    gap: 3px;
}

.mesa-historico-carta-mini {
    width: 31px;
    height: 44px;
    padding: 4px;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #f5f5f2;
}

.mesa-historico-carta-mini strong {
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.mesa-historico-carta-mini span {
    font-size: 14px;
    line-height: 1;
}

.mesa-historico-carta.preta,
.mesa-historico-carta-mini.preta {
    color: #111;
}

.mesa-historico-carta.vermelha,
.mesa-historico-carta-mini.vermelha {
    color: #db3043;
}

.mesa-historico-sem-board {
    min-width: 0;
    flex: 1;
    padding: 12px;
    border-radius: 11px;
    background: rgba(124,207,255,.05);
    color: #7ccfff;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}


/* =========================================================
   AVISO DO HISTÓRICO
========================================================= */

.mesa-historico-aviso {
    width: 100%;
    margin-top: 13px;
    padding: 11px 12px;
    border: 1px solid rgba(215,255,63,.10);
    border-radius: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(215,255,63,.04);
    color: #888;
}

.mesa-historico-aviso i {
    color: #d7ff3f;
    font-size: 12px;
}

.mesa-historico-aviso span {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}


/* =========================================================
   RESUMO DO BUY-IN
========================================================= */

.mesa-modal-resumo {
    width: 100%;
    padding: 13px 0;
    border-top: 1px solid rgba(255, 255, 255, .06);
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.mesa-modal-resumo > div {
    text-align: center;
}

.mesa-modal-resumo > div + div {
    border-left: 1px solid rgba(255, 255, 255, .06);
}

.mesa-modal-resumo span {
    display: block;
    color: #666;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.mesa-modal-resumo strong {
    display: block;
    margin-top: 4px;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}


/* =========================================================
   VALORES RÁPIDOS
========================================================= */

.mesa-modal-atalhos {
    width: 100%;
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.mesa-modal-atalhos button {
    min-height: 40px;
    border: 1px solid rgba(215, 255, 63, .13);
    border-radius: 12px;
    background: rgba(215, 255, 63, .06);
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.mesa-modal-atalhos button:active {
    background: rgba(215, 255, 63, .14);
}


/* =========================================================
   VALOR DAS FICHAS
========================================================= */

.mesa-modal-valor {
    width: 100%;
    height: 55px;
    margin-top: 8px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 15px;
    display: grid;
    grid-template-columns: 55px 1fr 55px;
    overflow: hidden;
    background: rgba(0, 0, 0, .22);
}

.mesa-modal-valor button {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: #aaa;
    cursor: pointer;
}

.mesa-modal-valor button:first-child {
    border-right: 1px solid rgba(255, 255, 255, .06);
}

.mesa-modal-valor button:last-child {
    border-left: 1px solid rgba(255, 255, 255, .06);
}

.mesa-modal-valor button i {
    font-size: 11px;
}

.mesa-modal-valor input {
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 21px;
    font-weight: 900;
    text-align: center;
    outline: none;
}


/* =========================================================
   AVISO
========================================================= */

.mesa-modal-aviso {
    width: 100%;
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(215, 255, 63, .10);
    border-radius: 13px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: rgba(215, 255, 63, .045);
}

.mesa-modal-aviso i {
    margin-top: 1px;
    color: #d7ff3f;
    font-size: 12px;
}

.mesa-modal-aviso span {
    color: #888;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}


/* =========================================================
   SAIR DA MESA
========================================================= */

.mesa-sair-icone {
    width: 58px;
    height: 58px;
    margin: 18px auto 0;
    border: 1px solid rgba(255, 115, 100, .18);
    border-radius: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 115, 100, .08);
    color: #ff8275;
}

.mesa-sair-icone i {
    font-size: 17px;
}

.mesa-sair-resumo {
    width: 100%;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 16px;
    background: rgba(255, 255, 255, .04);
    text-align: center;
}

.mesa-sair-resumo span {
    display: block;
    color: #777;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.mesa-sair-resumo strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}

.mesa-sair-resumo small {
    display: block;
    margin-top: 7px;
    color: #888;
    font-size: 10px;
    font-weight: 700;
}

.mesa-sair-aviso {
    width: 100%;
    margin-top: 9px;
    padding: 11px 12px;
    border: 1px solid rgba(255, 115, 100, .10);
    border-radius: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 115, 100, .045);
}

.mesa-sair-aviso i {
    color: #ff8275;
    font-size: 10px;
}

.mesa-sair-aviso span {
    color: #888;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.mesa-modal-confirmar-sair {
    background: #ff8275;
    color: #111;
}


/* =========================================================
   BOTÕES DO MODAL
========================================================= */

.mesa-modal-confirmar {
    width: 100%;
    min-height: 50px;
    margin-top: 12px;
    padding: 0 16px;
    border-radius: 15px;
    background: #d7ff3f;
    color: #111;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.mesa-modal-confirmar:active {
    transform: scale(.985);
}

.mesa-modal-confirmar-ausente {
    background: #ffd06a;
}

.mesa-modal-cancelar {
    width: 100%;
    min-height: 43px;
    margin-top: 7px;
    background: transparent;
    color: #777;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}


/* =========================================================
   AUSENTE
========================================================= */

.mesa-ausente-icone {
    width: 58px;
    height: 58px;
    margin: 18px auto 0;
    border: 1px solid rgba(255, 208, 106, .18);
    border-radius: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 208, 106, .08);
    color: #ffd06a;
}

.mesa-ausente-icone i {
    font-size: 17px;
}

.mesa-ausente-regra {
    width: 100%;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 15px;
    background: rgba(255, 255, 255, .04);
    text-align: center;
}

.mesa-ausente-regra strong {
    display: block;
    color: #ffd06a;
    font-size: 15px;
    font-weight: 900;
}

.mesa-ausente-regra span {
    display: block;
    max-width: 310px;
    margin: 5px auto 0;
    color: #777;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}


/* =========================================================
   MOBILE MENOR
========================================================= */

@media (max-width: 500px) {

    .mesa-page {
        padding-left: 4px;
        padding-right: 4px;
    }

    .mesa-barra {
        flex-basis: 40px;
        gap: 5px;
    }

    .mesa-barra-esquerda {
        gap: 5px;
    }

    .mesa-sair {
        width: 26px;
        min-width: 26px;
        height: 28px;
    }

    .mesa-barra-acoes {
        gap: 3px;
    }

    .mesa-area {
        padding-left: 1px;
        padding-right: 1px;
    }

    .mesa-feltro {
        border-width: 5px;
    }

    .mesa-jogador {
        width: 94px;
    }

    .mesa-jogador-6 {
        width: 111px;
    }

    .mesa-jogador-1 {
        left: 14%;
    }

    .mesa-jogador-3 {
        left: 86%;
    }

    .mesa-jogador-4 {
        left: 86%;
    }

    .mesa-jogador-5 {
        left: 14%;
    }

    .mesa-jogador-box {
        min-height: 42px;
        padding: 6px 5px 5px;
    }

    .mesa-tempo {
        width: calc(100% + 10px);
        margin-left: -5px;
        margin-right: -5px;
        margin-bottom: -5px;
    }

    .mesa-centro {
        width: 74%;
    }

    .mesa-board {
        gap: 3px;
    }

    .mesa-marca {
        width: 150px;
    }

}


/* =========================================================
   HOME DO CLUBE
========================================================= */

.clube-page {
    padding-bottom: 105px;
}


/* =========================================================
   DESTAQUE DO CLUBE
========================================================= */

.clube-destaque {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    padding: 20px;
    border: 1px solid rgba(215, 255, 63, .18);
    border-radius: 28px;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 255, 63, .13), transparent 38%),
        rgba(255, 255, 255, .035);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
}

.clube-destaque::after {
    content: '';
    position: absolute;
    top: -65px;
    right: -65px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(215, 255, 63, .035);
    pointer-events: none;
}

.clube-destaque-topo {
    position: relative;
    z-index: 2;
    width: 100%;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.clube-destaque-topo .login-voltar {
    margin: 0;
}

.clube-socio {
    min-height: 31px;
    padding: 0 11px;
    border: 1px solid rgba(215, 255, 63, .16);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(215, 255, 63, .09);
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}

.clube-socio i {
    font-size: 10px;
}

.clube-destaque-conteudo {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
}

.clube-destaque-icone {
    width: 64px;
    min-width: 64px;
    height: 64px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #111;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
}

.clube-destaque-icone i {
    font-size: 21px;
}

.clube-destaque-info-area {
    min-width: 0;
    flex: 1;
}

.clube-destaque-label {
    margin-bottom: 5px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.clube-destaque h1 {
    margin: 0;
    overflow: hidden;
    color: #fff;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.6px;
    text-overflow: ellipsis;
}

.clube-destaque p {
    margin-top: 8px;
    color: #999;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.clube-destaque-rodape {
    position: relative;
    z-index: 2;
    width: 100%;
    margin-top: 19px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .07);
    display: flex;
    align-items: center;
    gap: 8px;
    color: #aaa;
    font-size: 11px;
    font-weight: 800;
}

.clube-destaque-rodape i {
    color: #d7ff3f;
    font-size: 11px;
}


/* =========================================================
   MESAS DO CLUBE
========================================================= */

.clube-mesas {
    margin-top: 0;
}

.clube-nivel-card {
    position: relative;
    overflow: hidden;
}

.clube-nivel-card::after {
    content: '';
    position: absolute;
    top: -45px;
    right: -45px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(215, 255, 63, .025);
    pointer-events: none;
}

.clube-nivel-marca {
    position: relative;
    z-index: 2;
    width: 100%;
    margin-bottom: 13px;
    padding-bottom: 11px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    display: flex;
    align-items: center;
    gap: 7px;
    overflow: hidden;
    color: #d7ff3f;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .3px;
    text-transform: uppercase;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clube-nivel-marca i {
    flex: 0 0 auto;
    font-size: 11px;
}


/* =========================================================
   SEM MESAS NO CLUBE
========================================================= */

.clube-sem-mesas {
    width: 100%;
    padding: 32px 20px;
    border: 1px dashed rgba(215, 255, 63, .16);
    border-radius: 22px;
    background: rgba(255, 255, 255, .025);
    text-align: center;
}

.clube-sem-mesas-icone {
    width: 52px;
    height: 52px;
    margin: 0 auto 14px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215, 255, 63, .08);
    color: #d7ff3f;
}

.clube-sem-mesas-icone i {
    font-size: 16px;
}

.clube-sem-mesas strong {
    display: block;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}

.clube-sem-mesas span {
    display: block;
    max-width: 330px;
    margin: 8px auto 0;
    color: #888;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}


/* =========================================================
   HOME DO CLUBE MOBILE MENOR
========================================================= */

@media (max-width: 400px) {

    .clube-destaque {
        padding: 17px;
        border-radius: 24px;
    }

    .clube-destaque-conteudo {
        gap: 13px;
    }

    .clube-destaque-icone {
        width: 56px;
        min-width: 56px;
        height: 56px;
        border-radius: 18px;
    }

    .clube-destaque-topo {
        margin-bottom: 19px;
    }

}


/* =========================================================
   CASH GAME — MESA DO JOGADOR NO TOPO
========================================================= */

.home-page .home-nivel-card.home-nivel-minha-mesa {
    border-color: rgba(215, 255, 63, .42);
}

.home-page .home-nivel-minha-mesa .home-nivel-meu-aviso {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 6px 0 2px;
    color: #d7ff3f;
    font-size: 11px;
    font-weight: 800;
}

/* =========================================================
   AVISO DISCRETO DA MESA ATIVA
========================================================= */

.mesa-ativa-aviso {
    width: 100%;
    min-width: 0;
    margin-bottom: 16px;
    padding: 11px 12px;
    border: 1px solid rgba(215, 255, 63, .16);
    border-radius: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(215, 255, 63, .045);
}

.mesa-ativa-aviso-icone {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215, 255, 63, .10);
    color: #d7ff3f;
    font-size: 12px;
}

.mesa-ativa-aviso-texto {
    min-width: 0;
    flex: 1;
}

.mesa-ativa-aviso-texto small {
    display: block;
    margin-bottom: 3px;
    color: #d7ff3f;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.mesa-ativa-aviso-texto strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mesa-ativa-aviso-voltar {
    flex: 0 0 auto;
    min-height: 33px;
    padding: 0 11px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(215, 255, 63, .13);
    color: #d7ff3f;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mesa-ativa-aviso-voltar i {
    font-size: 10px;
}

.mesa-ativa-aviso-voltar:active {
    transform: scale(.97);
}

/* =========================================================
   RESULTADO DA MÃO
========================================================= */

.mesa-page-resultado .mesa-marca {
    opacity: 0;
    visibility: hidden;
}

.mesa-carta.mesa-carta-vencedora {
    transform: translateY(-7px);
    border: 2px solid #d7ff3f;
    box-shadow: 0 6px 14px rgba(0,0,0,.28), 0 0 9px rgba(215,255,63,.16);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.mesa-carta-jogador.mesa-carta-vencedora:first-child {
    transform: translateY(-7px) rotate(-6deg);
    border-color: #d7ff3f;
    box-shadow: 0 5px 13px rgba(0,0,0,.30), 0 0 8px rgba(215,255,63,.15);
}

.mesa-carta-jogador.mesa-carta-vencedora:last-child {
    transform: translateY(-7px) rotate(6deg);
    border-color: #d7ff3f;
    box-shadow: 0 5px 13px rgba(0,0,0,.30), 0 0 8px rgba(215,255,63,.15);
}

.mesa-jogador-vencedor .mesa-jogador-box {
    border-color: rgba(215,255,63,.65);
    box-shadow: 0 7px 18px rgba(0,0,0,.36), 0 0 11px rgba(215,255,63,.13);
}

.mesa-resultado-info {
    position: absolute;
    top: calc(100% + 9px);
    left: 50%;
    width: min(100%, 300px);
    z-index: 13;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
    pointer-events: none;
    margin-top: 10px;
}

.mesa-resultado-linha {
    max-width: 100%;
    padding: 5px 11px;
    border: 1px solid rgba(215,255,63,.30);
    border-radius: 9px;
    background: rgba(6,12,5,.91);
    box-shadow: 0 5px 14px rgba(0,0,0,.20);
}

.mesa-resultado-linha strong {
    display: block;
    font-size: 13px;
    font-weight: 900;
    color: #d7ff3f;
}

.mesa-resultado-linha span {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}

.mesa-resultado-correndo .mesa-resultado-info {
    opacity: 0;
    visibility: hidden;
}

.mesa-resultado-correndo .mesa-carta-vencedora,
.mesa-resultado-correndo .mesa-carta-jogador.mesa-carta-vencedora {
    border-color: #fff;
    box-shadow: 0 5px 12px rgba(0,0,0,.25);
}

.mesa-resultado-correndo .mesa-board .mesa-carta-vencedora { transform: none; }
.mesa-resultado-correndo .mesa-carta-jogador.mesa-carta-vencedora:first-child { transform: rotate(-6deg); }
.mesa-resultado-correndo .mesa-carta-jogador.mesa-carta-vencedora:last-child { transform: rotate(6deg); }

/* =========================================================
   MENSAGEM DE ESPERA — AJUSTE MOBILE
========================================================= */

.mesa-aposta .mesa-pre-acoes.mesa-pre-acoes-espera .mesa-espera-mensagem {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
    text-align: center;
}

.mesa-aposta .mesa-pre-acoes.mesa-pre-acoes-espera .mesa-espera-mensagem strong,
.mesa-aposta .mesa-pre-acoes.mesa-pre-acoes-espera .mesa-espera-mensagem > span {
    display: block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 390px) {
    .mesa-aposta .mesa-pre-acoes.mesa-pre-acoes-espera .mesa-espera-mensagem strong {
        font-size: 12px;
    }

    .mesa-aposta .mesa-pre-acoes.mesa-pre-acoes-espera .mesa-espera-mensagem > span {
        font-size: 10px;
    }
}

/* =========================================================
   REVELAÇÃO DAS CARTAS
========================================================= */

.mesa-page .mesa-board .mesa-carta.mesa-revelacao-oculta,
.mesa-page .mesa-board .mesa-carta.mesa-carta-verso {
    display: none !important;
}

/* Mantém as fichas visíveis, sem revelar o prêmio antecipadamente. */
.mesa-page.mesa-resultado-correndo
.mesa-jogador-vencedor .mesa-jogador-box > span {
    visibility: visible !important;
}

/* =========================================================
   DEALER — VOLTADO PARA O CENTRO
========================================================= */

.mesa-jogador-1 .mesa-dealer,
.mesa-jogador-5 .mesa-dealer {
    left: auto;
    right: -8px;
}

.mesa-jogador-3 .mesa-dealer,
.mesa-jogador-4 .mesa-dealer {
    right: auto;
    left: -8px;
}

/* =========================================================
   DEPÓSITO NO MODAL DE FICHAS
========================================================= */

#modal_fichas .mesa-modal-saldo-insuficiente[hidden],
#modal_fichas #modal_fichas_depositar[hidden] {
    display: none !important;
}

#modal_fichas .mesa-modal-saldo-insuficiente:not([hidden]) {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    margin: 0 0 14px;
    padding: 12px 13px;
    border: 1px solid rgba(255, 153, 72, .42);
    border-radius: 13px;
    background: rgba(255, 137, 55, .12);
    color: #ffb276;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
}

#modal_fichas .mesa-modal-saldo-insuficiente i {
    flex: 0 0 auto;
    margin-top: 2px;
    font-size: 14px;
}

#modal_fichas #modal_fichas_depositar:not([hidden]) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    margin-top: 12px;
    padding: 12px 16px;
    border: 1px solid rgba(215, 255, 63, .4);
    border-radius: 15px;
    background: #d7ff3f;
    color: #111;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    cursor: pointer;
}

#modal_fichas #modal_fichas_depositar i {
    font-size: 18px;
}

#modal_fichas #modal_fichas_depositar:active {
    transform: scale(.985);
}
/* =========================================================
   TORNEIOS - DEMONSTRAÇÃO
========================================================= */

.torneios-page .home-secao-titulo,
.clubes-central-page .home-secao-titulo {
    margin: 0;
}

.torneios-aviso {
    margin: 14px 0 18px;
    padding: 15px;
    border: 1px solid rgba(215, 255, 63, .20);
    border-radius: 19px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: rgba(215, 255, 63, .075);
}

.torneios-aviso-icone,
.clubes-central-acesso-icone {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215, 255, 63, .13);
    color: #d7ff3f;
}

.torneios-aviso strong {
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
}

.torneios-aviso p,
.clubes-central-acesso p,
.clubes-central-criacao p {
    margin: 5px 0 0;
    color: #aaa;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.55;
}

.torneios-lista {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.torneios-card {
    padding: 17px 16px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 23px;
    background: rgba(255, 255, 255, .05);
}

.torneios-card-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.torneios-card-categoria {
    color: #d7ff3f;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .55px;
}

.torneios-card h2 {
    margin: 6px 0 0;
    color: #fff;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 900;
}

.torneios-card-status {
    padding: 7px 9px;
    border: 1px solid rgba(255, 208, 106, .25);
    border-radius: 20px;
    color: #ffd06a;
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
}

.torneios-card-principal {
    margin-top: 17px;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, .07);
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.torneios-card-principal small,
.torneios-card-infos span {
    display: block;
    color: #888;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.torneios-card-principal strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
}

.torneios-card-infos {
    padding-top: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px 10px;
}

.torneios-card-infos strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.torneios-card-rodape {
    margin-top: 17px;
    min-height: 43px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #aaa;
    background: rgba(255, 255, 255, .035);
    font-size: 11px;
    font-weight: 800;
}

/* =========================================================
   CENTRAL DE CLUBES
========================================================= */

.clubes-central-grupo {
    margin-top: 15px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 20px;
    background: rgba(255, 255, 255, .04);
}

.clubes-central-grupo h2 {
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.clubes-central-grupo .conta-clubes-vazio {
    margin-top: 12px;
}

.clubes-central-pendente {
    cursor: default;
}

.clubes-central-acesso,
.clubes-central-criacao {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 11px;
}

.clubes-central-acesso > div:nth-child(2),
.clubes-central-criacao > div:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.clubes-central-codigo {
    width: 100%;
    margin-top: 3px;
}

.clubes-central-codigo label {
    display: block;
    margin-bottom: 7px;
    color: #ddd;
    font-size: 11px;
    font-weight: 800;
}

.clubes-central-codigo input {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: rgba(255, 255, 255, .04);
    color: #aaa;
    font-size: 16px;
    letter-spacing: 3px;
}

.clubes-central-codigo small {
    display: block;
    margin-top: 7px;
    color: #888;
    font-size: 10px;
    font-weight: 700;
}

.clubes-central-aviso {
    margin-top: 15px;
    padding: 14px;
    border: 1px solid rgba(255, 208, 106, .25);
    border-radius: 14px;
    color: #ffd06a;
    background: rgba(255, 208, 106, .07);
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   BUSCA DE CLUBES POR CODIGO
========================================================= */

.clubes-central-busca-linha {
    display: flex;
    gap: 9px;
    align-items: stretch;
}

.clubes-central-busca-linha input {
    flex: 1;
    min-width: 0;
}

.clubes-central-busca-linha button,
.clubes-busca-resultado button {
    border: 0;
    border-radius: 12px;
    padding: 0 14px;
    min-height: 44px;
    background: #d7ff3f;
    color: #111;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.clubes-central-busca-linha button:disabled,
.clubes-busca-resultado button:disabled {
    cursor: default;
    opacity: .65;
}

.clubes-busca-resultado {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 14px;
}

.clubes-busca-resultado[hidden] {
    display: none;
}

.clubes-busca-info {
    flex: 1;
    min-width: 145px;
}

.clubes-busca-info strong,
.clubes-busca-info span {
    display: block;
}

.clubes-busca-info strong {
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.clubes-busca-info span {
    margin-top: 4px;
    color: #aaa;
    font-size: 11px;
}

@media (max-width: 360px) {
    .clubes-central-busca-linha {
        flex-wrap: wrap;
    }
    .clubes-central-busca-linha button {
        width: 100%;
    }
}


/* =========================================================
   CRIACAO DE CLUBES
========================================================= */

.clubes-criacao-botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 43px;
    margin-top: 13px;
    padding: 0 17px;
    border-radius: 12px;
    color: #111;
    background: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}

.clube-criar-painel h2 { margin-bottom: 10px; }
.clube-criar-explicacao,
.clube-criar-concluido p {
    margin: 0 0 18px;
    color: #aaa;
    font-size: 12px;
    line-height: 1.55;
}
.clube-criar-form { display: grid; gap: 16px; }
.clube-criar-form .campo label {
    display: block;
    margin-bottom: 7px;
}
.clube-criar-form .campo input,
.clube-criar-form .campo textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 12px;
    background: rgba(255,255,255,.045);
    color: #fff;
    font-size: 14px;
    padding: 12px;
}
.clube-criar-form .campo input { min-height: 46px; }
.clube-criar-form .campo textarea { min-height: 105px; resize: vertical; }
.clube-criar-form .campo .campo-opcional { color: #999; font-weight: 400; }
.clube-criar-aviso {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border-radius: 12px;
    color: #bbb;
    background: rgba(215,255,63,.065);
    font-size: 11px;
    line-height: 1.5;
}
.clube-criar-aviso i { color: #d7ff3f; margin-top: 2px; }
.clube-criar-form .clube-criar-enviar {
    width: 100%;
    min-height: 46px;
    cursor: pointer;
}
.clube-criar-form .clube-criar-enviar:disabled { opacity: .6; cursor: wait; }
.clube-criar-concluido { text-align: center; }
.clube-criar-concluido[hidden],
.clube-criar-painel[hidden] { display: none; }
.clube-criar-concluido-icone { color: #d7ff3f; font-size: 33px; margin-bottom: 10px; }
.clube-criar-codigo {
    display: block;
    padding: 12px;
    margin: 12px 0;
    border: 1px dashed rgba(215,255,63,.4);
    border-radius: 13px;
    color: #d7ff3f;
    font-size: 28px;
    letter-spacing: 3px;
    font-variant-numeric: tabular-nums;
}
.clube-criar-nome-resultado { color: #fff; font-size: 13px; font-weight: 800; }
.clube-criar-concluido .clubes-criacao-botao { display: flex; }
.clube-criar-voltar { display: inline-block; margin-top: 16px; color: #aaa; font-size: 12px; }


/* =========================================================
   MEU CLUBE E PREVIA DO PORTAL
========================================================= */

.clubes-meu-clube { border-color: rgba(215,255,63,.23); }
.clubes-meu-clube-topo { display:flex; align-items:center; gap:11px; }
.clubes-meu-clube-identidade { flex:1; min-width:0; }
.clubes-meu-clube-identidade small { display:block; margin-bottom:5px; color:#d7ff3f; font-size:10px; font-weight:800; }
.clubes-meu-clube-identidade h2 { overflow-wrap:anywhere; }
.clubes-meu-clube-status { padding:7px 10px; border-radius:999px; border:1px solid rgba(215,255,63,.24); color:#d7ff3f; font-weight:900; font-size:10px; }
.clubes-meu-clube-inativo { border-color:rgba(255,180,90,.3); color:#ffcc83; }
.clubes-meu-clube-codigo { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:16px; padding:13px; border:1px dashed rgba(215,255,63,.35); border-radius:13px; background:rgba(215,255,63,.04); }
.clubes-meu-clube-codigo small { display:block; margin-bottom:5px; color:#aaa; font-size:10px; }
.clubes-meu-clube-codigo strong { color:#d7ff3f; font-size:23px; font-variant-numeric:tabular-nums; letter-spacing:2px; }
.clubes-meu-clube-codigo button { min-height:40px; padding:0 12px; border:1px solid rgba(215,255,63,.35); border-radius:10px; color:#d7ff3f; background:rgba(215,255,63,.08); cursor:pointer; font-size:11px; font-weight:900; }
.clubes-meu-clube-nota { margin:12px 0 0; color:#aaa; font-size:11px; line-height:1.6; }
.clubes-meu-clube-acoes { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:4px; }
.clubes-meu-clube-link, .clube-criar-portal-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:43px; margin-top:13px; padding:0 12px; border:1px solid rgba(255,255,255,.17); border-radius:12px; color:#eee; font-size:11px; font-weight:800; }
.clube-criar-confirmacao-texto { display:flex; justify-content:center; gap:8px; align-items:center; margin-top:12px; color:#d7ff3f; font-size:12px; font-weight:800; }
.clube-criar-portal-link { width:100%; }
.clube-portal-apresentacao h2 { margin-top:12px; }
.clube-portal-apresentacao p, .clube-portal-modulo p { margin:9px 0 0; color:#aaa; font-size:11px; line-height:1.6; }
.clube-portal-etiqueta { display:inline-block; padding:6px 9px; border-radius:999px; background:rgba(215,255,63,.1); color:#d7ff3f; font-size:10px; font-weight:900; }
.clube-portal-modulos { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; }
.clube-portal-modulos .clube-portal-modulo { margin-top:12px; }
.clube-portal-modulo > i { display:block; margin-bottom:12px; color:#d7ff3f; font-size:21px; }
.clube-portal-modulo span { display:inline-block; margin-top:13px; color:#d7ff3f; font-size:10px; font-weight:800; }

/* =========================================================
   REGRAS DA CASA E TAXAS
========================================================= */
.conta-politicas-link {
    margin-top: 14px;
    background: rgba(255, 255, 255, .035);
    color: #b5b5b5;
}
.conta-politicas-link i {
    color: #999;
}
.politicas-taxas {
    margin-bottom: 14px;
}
.politicas-taxas-etiqueta {
    display: block;
    margin-bottom: 8px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.politicas-taxas-cabecalho h2 {
    font-size: 17px;
}
.politicas-taxas-lista {
    padding: 0 0 8px;
}
.politicas-taxas-linha,
.clube-taxas-linha {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    column-gap: 13px;
    row-gap: 6px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
    color: #999;
    font-size: 11px;
    font-weight: 800;
}
.politicas-taxas-linha strong,
.clube-taxas-linha strong {
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
}
.politicas-taxas-linha span,
.clube-taxas-linha span {
    white-space: nowrap;
}
.politicas-taxas-observacao {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 12px 0 16px;
    padding: 12px;
    border: 1px solid rgba(215,255,63,.16);
    border-radius: 15px;
    background: rgba(215,255,63,.045);
}
.politicas-taxas-observacao i {
    color: #d7ff3f;
    margin-top: 2px;
}
.politicas-taxas-observacao p {
    margin: 0;
    color: #a6a6a6;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.55;
}
.politicas-taxas-aviso {
    padding: 14px 0;
    color: #aaa;
    font-size: 12px;
}
.clube-taxas {
    margin-top: -10px;
    margin-bottom: 22px;
    padding: 0 15px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.025);
}
.clube-taxas summary {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 14px 0;
    color: #aaa;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}
.clube-taxas summary::-webkit-details-marker { display: none; }
.clube-taxas summary > i:first-child { color: #d7ff3f; }
.clube-taxas-seta { margin-left: auto; font-size: 10px; }
.clube-taxas[open] .clube-taxas-seta { transform: rotate(180deg); }
.clube-taxas-conteudo { border-top: 1px solid rgba(255,255,255,.07); }
.clube-taxas-conteudo p {
    margin: 10px 0 15px;
    color: #888;
    font-size: 10px;
    line-height: 1.5;
}
@media (max-width: 370px) {
    .politicas-taxas-linha,
    .clube-taxas-linha {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px;
    }
    .politicas-taxas-linha strong,
    .clube-taxas-linha strong { grid-column: 1 / -1; }
}

/* Mantém o botão Voltar acessível acima do menu fixo. */
.politicas-page {
    padding-bottom: calc(125px + env(safe-area-inset-bottom));
}

/* =========================================================
   TRANSPARENCIA - CONDICOES COMERCIAIS DOS CLUBES
========================================================= */

/* Resumo discreto, visivel somente no cartao do proprietario. */
.clubes-condicoes-resumo {
    margin-top: 14px;
    padding: 12px 13px;
    border: 1px solid rgba(215,255,63,.17);
    border-radius: 12px;
    background: rgba(215,255,63,.035);
}
.clubes-condicoes-resumo-titulo {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #d7ff3f;
    font-size: 11px;
    font-weight: 850;
}
.clubes-condicoes-resumo p {
    margin: 6px 0;
    color: #c7c7c7;
    font-size: 11px;
    line-height: 1.6;
}
.clubes-condicoes-resumo p strong { color: #ededed; font-weight: 800; }
.clubes-condicoes-resumo small {
    display: block;
    margin-top: 9px;
    color: #999;
    font-size: 10px;
    line-height: 1.6;
}

/* Condicoes destacadas ANTES do envio da criacao do clube. */
.clube-criar-condicoes {
    margin: 15px 0 20px;
    padding: 15px;
    border: 1px solid rgba(215,255,63,.34);
    border-radius: 14px;
    background: rgba(215,255,63,.07);
}
.clube-criar-condicoes-titulo {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 9px;
    color: #d7ff3f;
    font-size: 13px;
    font-weight: 900;
}
.clube-criar-condicoes > p {
    margin: 0 0 12px;
    color: #d2d2d2;
    font-size: 12px;
    line-height: 1.55;
}
.clube-criar-condicoes-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,.12);
}
.clube-criar-condicoes-linha span {
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}
.clube-criar-condicoes-linha span small {
    display: block;
    margin-top: 4px;
    color: #a9a9a9;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
}
.clube-criar-condicoes-linha > strong {
    flex-shrink: 0;
    color: #d7ff3f;
    font-size: 20px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}
.clube-criar-condicoes > p.clube-criar-condicoes-rodape {
    margin: 9px 0 0;
    color: #bcbcbc;
    font-size: 10px;
    line-height: 1.65;
}


/* =========================================================
   CARTEIRA — DEPÓSITO E EXTRATO
========================================================= */

.carteira-acoes.carteira-acoes-novas {
    grid-template-columns: minmax(0,1fr);
    gap: 9px;
}
.carteira-acoes-novas .carteira-acao-principal {
    min-height: 90px;
    padding: 18px;
    border: 1px solid #d7ff3f;
    background: #d7ff3f;
    color: #111;
    box-shadow: 0 15px 35px rgba(215,255,63,.13);
}
.carteira-acoes-novas .carteira-acao-principal strong {
    color: #111;
    font-size: 16px;
}
.carteira-acoes-novas .carteira-acao-principal span {color:rgba(0,0,0,.62);font-size:11px;}
.carteira-acoes-novas .carteira-acao-principal .carteira-acao-icone {
    background:rgba(0,0,0,.10);
    color:#111;
    width:52px;
    min-width:52px;
    height:52px;
}
.carteira-acao-seta {margin-left:auto;font-size:15px;}
.carteira-acoes-novas .carteira-acao-saque-discreto {
    min-height:65px;
    background:rgba(255,255,255,.025);
    border-color:rgba(255,255,255,.08);
}
.carteira-acao-saque-discreto:disabled {cursor:not-allowed;opacity:.64;}
.carteira-extrato-nota {font-size:11px;line-height:1.6;color:#939393;margin:12px 0;}
.carteira-detalhes-link {
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    width:100%;padding:15px;border:1px solid rgba(215,255,63,.2);
    border-radius:15px;color:#d7ff3f;font-size:12px;font-weight:800;
    background:rgba(215,255,63,.065);cursor:pointer;
}
.carteira-carregar-mais {justify-content:center;margin-top:15px;}
.carteira-bloco-detalhes {margin-top:0;}

/* =========================================================
   CARTEIRA — MODAL PIX
========================================================= */

.carteira-pix-modal[hidden],.carteira-pix-modal [hidden] {display:none!important;}
.carteira-pix-modal {position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:15px;}
.carteira-pix-sombra {position:absolute;inset:0;background:rgba(0,0,0,.84);backdrop-filter:blur(8px);}
.carteira-pix-conteudo {
    position:relative;width:100%;max-width:490px;max-height:calc(100dvh - 30px);
    overflow-y:auto;padding:23px;border-radius:25px;
    border:1px solid rgba(215,255,63,.2);
    background:linear-gradient(155deg,#252b18,#141414 37%);
    box-shadow:0 30px 80px rgba(0,0,0,.65);
}
.carteira-pix-topo {display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;}
.carteira-pix-topo small {display:block;color:#d7ff3f;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.5px;}
.carteira-pix-topo h2 {margin:5px 0 0;font-size:21px;color:#fff;}
.carteira-pix-fechar {background:rgba(255,255,255,.08);color:#fff;border-radius:12px;min-width:38px;min-height:38px;cursor:pointer;}
.carteira-pix-texto {font-size:13px;color:#bbb;line-height:1.6;margin:0 0 20px;}
.carteira-pix-conteudo label {display:block;color:#d7ff3f;font-size:11px;font-weight:800;margin:14px 0 7px;}
.carteira-pix-conteudo input,.carteira-pix-conteudo textarea {
    width:100%;padding:14px 15px;border:1px solid rgba(255,255,255,.13);
    border-radius:13px;background:#101010;color:white;font-size:17px;
}
.carteira-pix-conteudo textarea {font-size:11px;line-height:1.5;resize:none;overflow-wrap:anywhere;}
.carteira-pix-atalhos {display:flex;gap:8px;margin-top:12px;}
.carteira-pix-atalhos button {flex:1;padding:11px 4px;border-radius:12px;border:1px solid rgba(215,255,63,.2);background:rgba(215,255,63,.07);color:#d7ff3f;font-weight:800;cursor:pointer;}
.carteira-pix-confirmar {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;border-radius:15px;background:#d7ff3f;color:#111;font-size:13px;font-weight:900;cursor:pointer;margin-top:17px;}
.carteira-pix-confirmar:disabled {opacity:.45;cursor:not-allowed;}
.carteira-pix-aviso {color:#ff9b87;font-size:11px;line-height:1.5;}
.carteira-pix-qr {display:flex;align-items:center;justify-content:center;min-height:190px;background:#fff;border-radius:20px;padding:13px;color:#111;text-align:center;}
.carteira-pix-qr img {width:190px;height:190px;object-fit:contain;}
.carteira-pix-qr span {font-size:13px;font-weight:700;}
.carteira-pix-prazo {margin:13px auto;text-align:center;color:#999;font-size:12px;}
.carteira-pix-prazo strong {color:#d7ff3f;font-size:16px;}
.carteira-pix-link {display:flex;justify-content:center;gap:9px;margin-top:15px;color:#d7ff3f;font-size:12px;font-weight:800;}
.carteira-pix-status {color:#b8b8b8;font-size:11px;line-height:1.6;text-align:center;margin:16px 0 2px;}

/* =========================================================
   CARTEIRA - AJUSTES VISUAIS
========================================================= */

.carteira-acoes-novas .carteira-acao-principal {
    min-height: 78px;
    padding: 12px 14px;
    border-color: rgba(215, 255, 63, .32);
    background:
        radial-gradient(circle at 100% 50%, rgba(215, 255, 63, .16), transparent 34%),
        rgba(215, 255, 63, .09);
    color: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.carteira-acoes-novas .carteira-acao-principal strong {
    color: #fff;
    font-size: 14px;
}

.carteira-acoes-novas .carteira-acao-principal span {
    color: #999;
    font-size: 12px;
}

.carteira-acoes-novas .carteira-acao-principal .carteira-acao-icone {
    width: 50px;
    min-width: 50px;
    height: 50px;
    border-radius: 16px;
    background: #d7ff3f;
    color: #111;
}

.carteira-acoes-novas .carteira-acao-principal .carteira-acao-icone i {
    font-size: 17px;
}

.carteira-acoes-novas .carteira-acao-principal .carteira-acao-seta {
    color: #d7ff3f;
    font-size: 11px;
}

.carteira-pix-topo {
    align-items: center;
}

.carteira-pix-simbolo {
    width: 43px;
    height: 43px;
    margin-left: auto;
    flex: 0 0 43px;
    border-radius: 15px;
    background: rgba(215, 255, 63, .12);
    color: #d7ff3f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.carteira-pix-conteudo .formatar_campo {
    font-size: 21px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: .15px;
}

.carteira-fim-historico {
    text-align: center;
    padding: 12px 0 0;
}

.carteira-fim-historico[hidden],
#carteira_carregar_mais[hidden] {
    display: none !important;
}

.carteira-pix-qr {
    width: 260px;
    height: 260px;
    max-width: 100%;
    min-height: 0;
    margin: 0 auto;
    padding: 10px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

#carteira_pix_qr_gerado {
    width: 240px;
    height: 240px;
    flex: none;
}

.carteira-pix-qr #carteira_pix_qr_gerado img,
.carteira-pix-qr #carteira_pix_qr_gerado canvas {
    width: 240px;
    height: 240px;
    max-width: 100%;
}

/* =========================================================
   CARTEIRA — VALORES / CONVERSÃO
========================================================= */

#carteira_pix_jades,
#carteira_transferencia_valor,
#carteira_venda_valor {
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.carteira-conversao {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    margin: 14px 0 4px;
    padding: 11px 14px;
    border: 1px solid rgba(215,255,63,.20);
    border-radius: 14px;
    background: rgba(215,255,63,.065);
    text-align: center;
}

.carteira-conversao span {
    color: #a9a9a9;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.carteira-conversao strong {
    color: #d7ff3f;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

/* =========================================================
   CARTEIRA — TRANSFERÊNCIA ENTRE JOGADORES
========================================================= */

.carteira-acoes-novas .carteira-acoes-duplas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.carteira-acoes-novas .carteira-acao-secundaria {
    min-width: 0;
    min-height: 73px;
    padding: 12px;
    gap: 9px;
    border-color: rgba(255,255,255,.09);
    background: rgba(255,255,255,.04);
}

.carteira-acao-secundaria .carteira-acao-icone {
    width: 37px;
    min-width: 37px;
    height: 37px;
    border-radius: 12px;
}

.carteira-acao-secundaria strong {font-size: 12px;}
.carteira-acao-secundaria span {font-size: 10px;line-height: 1.3;}
.carteira-acao-secundaria:disabled {opacity: .55;cursor: not-allowed;}

.carteira-transferencia-conteudo .campo label {margin: 14px 0 7px;}
.carteira-transferencia-conteudo .campo .iti {width: 100%;}
.carteira-transferencia-conteudo .campo .iti input {
    width: 100%;
    text-align: left;
    font-size: 17px;
    font-weight: 800;
    padding-right: 14px;
}
.carteira-transferencia-conteudo .campo .iti__selected-country {background: rgba(255,255,255,.045);}
.carteira-transferencia-conteudo .formatar_campo {
    font-size: 21px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}
.carteira-transferencia-conteudo .carteira-pix-aviso {margin-top: 10px;}

.carteira-transferencia-resumo {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px;
    border: 1px solid rgba(215,255,63,.18);
    border-radius: 17px;
    background: rgba(215,255,63,.055);
}
.carteira-transferencia-resumo small {margin-top: 8px;color: #949494;font-size: 10px;font-weight: 800;text-transform: uppercase;}
.carteira-transferencia-resumo small:first-child {margin-top: 0;}
.carteira-transferencia-resumo strong {color: #fff;font-size: 16px;overflow-wrap: anywhere;}
.carteira-transferencia-resumo span {color: #a8a8a8;font-size: 13px;}
.carteira-transferencia-resumo .carteira-transferencia-valor-resumo {color: #d7ff3f;font-size: 23px;font-variant-numeric: tabular-nums;}
.carteira-transferencia-voltar {
    display: block;
    margin: 12px auto 0;
    padding: 10px 15px;
    border: 0;
    background: transparent;
    color: #bbb;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.carteira-transferencia-voltar:disabled {opacity: .45;cursor: wait;}
#carteira_transferencia_sucesso {text-align: center;}
#carteira_transferencia_sucesso > strong {display:block;color:#d7ff3f;font-size:19px;}
#carteira_transferencia_sucesso > p {font-size:12px;line-height:1.6;color:#aaa;}
.carteira-transferencia-sucesso-icone {
    display:flex;
    align-items:center;
    justify-content:center;
    width:55px;
    height:55px;
    border-radius:18px;
    margin:0 auto 13px;
    background:#d7ff3f;
    color:#111;
    font-size:21px;
}
@media(max-width: 360px) {
    .carteira-acoes-novas .carteira-acao-secundaria {padding:9px;gap:7px;}
    .carteira-acao-secundaria .carteira-acao-icone {width:32px;min-width:32px;height:32px;}
    .carteira-acao-secundaria strong {font-size:11px;}
}


/* =========================================================
   CONTA — CHAVE PIX E EDIÇÃO DE PERFIL
========================================================= */

.conta-pix-valor {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.conta-form .campo[hidden] {
    display: none !important;
}

.conta-form .conta-campo-ajuda {
    display: block;
    margin: 7px 3px 0;
    color: #929292;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
}

.conta-form .campo input[readonly] {
    cursor: default;
    opacity: 1;
}

.conta-salvar:disabled {
    cursor: wait;
    opacity: .65;
}

/* =========================================================
   CARTEIRA — LISTA DE PAÍSES DA TRANSFERÊNCIA
========================================================= */

#carteira_transferencia_modal .iti--container {
    z-index: 100;
}

/* =========================================================
   CARTEIRA — SOLICITAÇÃO DE SAQUE PIX
========================================================= */

.carteira-saque-conteudo {max-width:490px;}
.carteira-saque-saldo {
    display:flex;flex-direction:column;gap:5px;padding:15px 17px;margin-bottom:17px;
    border:1px solid rgba(215,255,63,.22);border-radius:17px;background:rgba(215,255,63,.065);
}
.carteira-saque-saldo small,.carteira-saque-destino small {
    color:#a7a7a7;font-size:10px;font-weight:800;text-transform:uppercase;
}
.carteira-saque-saldo strong {color:#d7ff3f;font-size:27px;font-weight:900;font-variant-numeric:tabular-nums;}
.carteira-saque-atencao {
    padding:15px;border:1px solid rgba(255,92,72,.5);border-radius:16px;
    background:rgba(255,92,72,.09);color:#ffb1a6;margin-bottom:17px;
}
.carteira-saque-atencao > strong {display:flex;align-items:center;gap:8px;font-size:12px;font-weight:900;color:#ff725f;}
.carteira-saque-atencao p {margin:9px 0 0;font-size:12px;line-height:1.55;color:#ffbcb4;}
.carteira-saque-atencao b {color:#fff;}
.carteira-saque-destino,.carteira-saque-pendente {
    display:flex;flex-direction:column;gap:7px;padding:15px;border:1px solid rgba(215,255,63,.18);
    border-radius:15px;background:rgba(215,255,63,.055);
}
.carteira-saque-destino strong {font-size:14px;color:#fff;overflow-wrap:anywhere;}
.carteira-saque-destino span,.carteira-saque-pendente p {font-size:11px;line-height:1.55;color:#aaa;margin:0;}
.carteira-saque-pendente > strong {color:#d7ff3f;font-size:12px;display:flex;align-items:center;gap:7px;}
.carteira-saque-pendente .carteira-pix-confirmar {text-decoration:none;}
.carteira-saque-conteudo .formatar_campo {font-size:21px;font-weight:900;font-variant-numeric:tabular-nums;}
#carteira_saque_sucesso {text-align:center;}
#carteira_saque_sucesso > strong {display:block;color:#d7ff3f;font-size:19px;}
#carteira_saque_sucesso > p {font-size:12px;line-height:1.6;color:#aaa;}


/* =========================================================
   CARTEIRA — EXTRATO LEGÍVEL
========================================================= */

.carteira-extrato-info strong {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.4;
}

.carteira-extrato-info small {
    margin-top: 6px;
    color: #b8b8b8;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
}

.carteira-extrato-status {
    display: table;
    width: fit-content;
    margin-top: 5px;
    padding: 3px 8px;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.35;
}

.carteira-extrato-status-analise {
    border: 1px solid rgba(255, 183, 77, .26);
    background: rgba(255, 183, 77, .10);
    color: #ffcc80;
}

.carteira-extrato-valor {
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}


/* =========================================================
   CARTEIRA — IDENTIFICAÇÃO DE TRANSFERÊNCIAS
========================================================= */

.carteira-extrato-pessoa {
    display: block;
    margin-top: 4px;
    color: #d7d7d7;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

/* Usa a mesma leitura na carteira e no histórico completo. */
.carteira-extrato-info small {
    font-size: 12px;
    color: #c0c0c0;
}


/* =========================================================
   CARTEIRA — DEPÓSITO PIX CONFIRMADO
========================================================= */

#carteira_pix_modal.carteira-pix-modal-confirmado .carteira-pix-conteudo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 440px;
    padding: 32px 24px;
    border-color: rgba(215, 255, 63, .42);
    background:
        radial-gradient(circle at 50% 25%, rgba(215, 255, 63, .16), transparent 50%),
        linear-gradient(160deg, #202717, #111 65%);
}

#carteira_pix_modal.carteira-pix-modal-confirmado .carteira-pix-topo {
    display: none;
}

#carteira_pix_modal .carteira-pix-sucesso {
    width: 100%;
    text-align: center;
    animation: carteiraPixSucessoEntrar .35s ease-out both;
}

#carteira_pix_modal .carteira-pix-sucesso-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    margin: 0 auto 22px;
    border: 1px solid rgba(215, 255, 63, .6);
    border-radius: 50%;
    background: #d7ff3f;
    color: #121609;
    font-size: 43px;
    box-shadow: 0 0 0 12px rgba(215, 255, 63, .065), 0 0 45px rgba(215, 255, 63, .19);
    animation: carteiraPixCheckEntrar .48s cubic-bezier(.2, .9, .2, 1.2) both;
}

#carteira_pix_modal .carteira-pix-sucesso-etiqueta {
    display: block;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .9px;
    text-transform: uppercase;
}

#carteira_pix_modal .carteira-pix-sucesso h2 {
    margin: 9px 0 11px;
    color: #fff;
    font-size: clamp(23px, 5vw, 29px);
    font-weight: 900;
    line-height: 1.15;
}

#carteira_pix_modal .carteira-pix-sucesso-texto {
    max-width: 320px;
    margin: 0 auto 22px;
    color: #b9b9b9;
    font-size: 13px;
    line-height: 1.55;
}

#carteira_pix_modal .carteira-pix-sucesso-valor {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 15px;
    border: 1px solid rgba(215, 255, 63, .23);
    border-radius: 17px;
    background: rgba(215, 255, 63, .065);
}

#carteira_pix_modal .carteira-pix-sucesso-valor span {
    color: #b7b7b7;
    font-size: 11px;
    font-weight: 800;
}

#carteira_pix_modal .carteira-pix-sucesso-valor strong {
    color: #d7ff3f;
    font-size: 28px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

#carteira_pix_modal .carteira-pix-sucesso-botao {
    min-height: 52px;
    margin-top: 19px;
}

@keyframes carteiraPixSucessoEntrar {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes carteiraPixCheckEntrar {
    from { opacity: 0; transform: scale(.7); }
    to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    #carteira_pix_modal .carteira-pix-sucesso,
    #carteira_pix_modal .carteira-pix-sucesso-icone {
        animation: none;
    }
}
/* =========================================================
   TORNEIOS - PARTICIPACAO EM ANDAMENTO
========================================================= */

.torneios-card-destaque {
    border-color: rgba(215, 255, 63, .7);
    background: rgba(215, 255, 63, .10);
    box-shadow: 0 0 22px rgba(215, 255, 63, .12);
}

.torneios-card-destaque .torneios-card-status,
.torneios-card-destaque .torneios-card-rodape {
    color: #d7ff3f;
    border-color: rgba(215, 255, 63, .4);
}

/* =========================================================
   TORNEIOS - DETALHES E INSCRICAO
========================================================= */

.torneios-card-link,
.torneio-botao {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-decoration: none;
    border: 0;
    border-radius: 13px;
    color: #10160a;
    background: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.torneios-card-link {
    margin-top: 10px;
    min-height: 43px;
}

.torneio-botao {
    min-height: 48px;
    width: 100%;
    padding: 12px 15px;
}

.torneios-card-link:focus-visible,
.torneio-botao:focus-visible,
.torneio-link-deposito:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.torneio-detalhes-descricao,
.torneio-saldo,
.torneio-inscricao-form p {
    color: #bdbdbd;
    font-size: 12px;
    line-height: 1.6;
}

.torneio-detalhes-descricao {
    margin: 14px 0;
}

.torneio-detalhes-grade {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    margin-top: 18px;
}

.torneio-detalhes-grade > div,
.torneio-detalhes-bloco {
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 17px;
    background: rgba(255,255,255,.045);
    padding: 14px;
}

.torneio-detalhes-grade small,
.torneio-detalhes-precos span {
    display: block;
    color: #999;
    font-size: 10px;
    font-weight: 800;
}

.torneio-detalhes-grade strong,
.torneio-detalhes-precos strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.torneio-detalhes-bloco {
    margin-top: 14px;
}

.torneio-detalhes-bloco h2 {
    margin: 0 0 13px;
    color: #d7ff3f;
    font-size: 15px;
}

.torneio-detalhes-precos {
    display: grid;
    gap: 9px;
}

.torneio-detalhes-precos > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.torneio-inscricao-form {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}

.torneio-inscricao-form p {
    margin: 0;
}

.torneio-link-deposito {
    display: inline-block;
    margin-top: 12px;
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 800;
}

.torneio-mensagem-inscrito {
    display: flex;
    gap: 8px;
    align-items: center;
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 800;
}

.torneio-alerta-sucesso {
    border-color: rgba(215,255,63,.65);
}

.torneio-tabela-rolagem {
    max-width: 100%;
    overflow-x: auto;
}

.torneio-tabela {
    width: 100%;
    min-width: 340px;
    border-collapse: collapse;
    color: #eee;
    font-size: 11px;
}

.torneio-tabela th,
.torneio-tabela td {
    padding: 11px 8px;
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,.09);
    white-space: nowrap;
}

.torneio-tabela th {
    color: #d7ff3f;
}

@media (min-width: 680px) {
    .torneio-detalhes-grade {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}


/* =========================================================
   TORNEIOS - AJUSTES VISUAIS
========================================================= */

.torneios-page .login-voltar,
.torneio-detalhes-page .login-voltar {
    margin: 4px 0 16px;
    padding: 0;
    color: #cfcfcf;
    font-size: 13px;
    font-weight: 900;
}

.torneios-page .login-voltar i,
.torneio-detalhes-page .login-voltar i {
    font-size: 13px;
}

.torneios-page .home-secao-topo,
.torneio-detalhes-page .home-secao-topo {
    margin-bottom: 18px;
}

.torneios-page .home-secao-label,
.torneio-detalhes-page .home-secao-label {
    margin-bottom: 7px;
    font-size: 13px;
    letter-spacing: .9px;
}

.torneios-page .home-secao-titulo,
.torneio-detalhes-page .home-secao-titulo {
    line-height: 1.15;
}

.torneios-card {
    padding: 18px;
    border-radius: 24px;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .18);
}

.torneios-card-topo {
    gap: 14px;
}

.torneios-card-categoria {
    font-size: 13px;
    letter-spacing: .85px;
}

.torneios-card h2 {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.18;
}

.torneios-card-status {
    padding: 9px 12px;
    font-size: 11px;
}

.torneios-card-principal small,
.torneios-card-infos span {
    font-size: 11px;
    letter-spacing: .3px;
}

.torneios-card-principal strong {
    font-size: 14px;
    line-height: 1.25;
}

.torneios-card-infos strong {
    font-size: 16px;
    line-height: 1.25;
}

.torneios-card-rodape {
    margin-top: 18px;
    min-height: 48px;
    padding: 12px 14px;
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
}

.torneios-card-link,
.torneio-botao {
    width: 100%;
    min-height: 50px;
    padding: 0 18px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 900;
    box-shadow: 0 14px 30px rgba(215, 255, 63, .12);
}

.torneios-card-link {
    margin-top: 14px;
}

.torneios-card-link i,
.torneio-botao i {
    font-size: 14px;
}

.torneio-detalhes-page {
    padding-top: 16px;
}

.torneio-detalhes-page .home-secao {
    padding-top: 0;
}

.torneio-detalhes-page .login-voltar {
    margin: 0 0 20px;
}

.torneio-detalhes-descricao {
    margin: 0 0 16px;
    font-size: 15px;
    color: #efefef;
    line-height: 1.65;
}

.torneio-detalhes-grade {
    gap: 14px;
}

.torneio-detalhes-grade > div,
.torneio-detalhes-bloco {
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.048);
}

.torneio-detalhes-grade small,
.torneio-detalhes-precos span {
    font-size: 12px;
    letter-spacing: .35px;
}

.torneio-detalhes-grade strong,
.torneio-detalhes-precos strong {
    margin-top: 7px;
    font-size: 17px;
    line-height: 1.3;
}

.torneio-detalhes-bloco {
    margin-top: 16px;
}

.torneio-detalhes-bloco h2 {
    margin-bottom: 15px;
    color: #fff;
    font-size: 18px;
    line-height: 1.2;
}

.torneio-detalhes-precos {
    gap: 12px;
}

.torneio-detalhes-precos > div {
    align-items: flex-start;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.torneio-detalhes-precos > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.torneio-saldo,
.torneio-inscricao-form p,
.torneio-link-deposito {
    font-size: 14px;
}

.torneio-inscricao-form {
    gap: 14px;
    margin-top: 14px;
}

.torneio-link-deposito {
    margin-top: 14px;
}

.torneio-mensagem-inscrito {
    padding: 14px 15px;
    margin-top: 14px;
    border: 1px solid rgba(215,255,63,.25);
    border-radius: 15px;
    background: rgba(215,255,63,.07);
    font-size: 14px;
    line-height: 1.5;
}

.torneio-tabela {
    min-width: 100%;
    font-size: 13px;
}

.torneio-tabela th,
.torneio-tabela td {
    padding: 13px 10px;
}

.torneio-tabela th {
    font-size: 12px;
    letter-spacing: .35px;
}

@media (max-width: 480px) {
    .torneios-card-principal,
    .torneios-card-infos,
    .torneio-detalhes-grade {
        grid-template-columns: minmax(0, 1fr);
    }

    .torneios-card-status {
        white-space: normal;
        text-align: center;
    }

    .torneio-detalhes-precos > div {
        flex-direction: column;
        gap: 4px;
    }
}


/* =========================================================
   TORNEIOS - INSCRICAO DIRETA E CONFIRMACAO
========================================================= */

.torneios-card-inscrito {
    border-color: rgba(215, 255, 63, .50);
    background: linear-gradient(150deg, rgba(215, 255, 63, .10), rgba(255, 255, 255, .045) 62%);
}

.torneios-card-confirmado {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 15px;
    border: 1px solid rgba(215, 255, 63, .62);
    border-radius: 15px;
    background: rgba(215, 255, 63, .15);
    color: #e8ff9b;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.torneios-card-confirmado > i {
    color: #d7ff3f;
    font-size: 23px;
    flex-shrink: 0;
}

.torneios-card-confirmado strong {
    display: block;
    margin-bottom: 3px;
    color: #d7ff3f;
    font-size: 15px;
    font-weight: 900;
}

.torneios-card-form {
    margin: 16px 0 0;
}

.torneios-card-inscrever {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    margin-top: 16px;
    padding: 12px 15px;
    border: 0;
    border-radius: 14px;
    background: #d7ff3f;
    color: #10160a;
    box-shadow: 0 14px 30px rgba(215, 255, 63, .15);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
}

.torneios-card-form .torneios-card-inscrever {
    margin-top: 0;
}

.torneios-card-link-secundario {
    min-height: 42px;
    margin-top: 8px;
    border: 1px solid rgba(255, 255, 255, .17);
    background: rgba(255, 255, 255, .055);
    color: #ececec;
    box-shadow: none;
    font-size: 13px;
}

.torneio-mensagem-inscrito {
    border-color: rgba(215, 255, 63, .65);
    background: rgba(215, 255, 63, .16);
    color: #e8ff9b;
    font-size: 14px;
}

.torneio-mensagem-inscrito i {
    color: #d7ff3f;
    font-size: 20px;
    flex-shrink: 0;
}

.torneios-card-inscrever:focus-visible,
.torneios-card-link-secundario:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}


/* =========================================================
   TORNEIOS - AJUSTE FINAL DA INSCRICAO
========================================================= */

.torneio-detalhes-precos > div {
    align-items: center;
}

.torneio-detalhes-precos strong {
    margin-top: 0;
    font-size: 15px;
    text-align: right;
}

.torneio-detalhes-precos > div:last-child {
    padding-bottom: 12px;
    margin-bottom: 2px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.torneio-inscricao-form p {
    margin-top: 2px;
}

.torneio-link-deposito {
    display: block;
    margin-top: 12px;
    text-align: center;
    font-size: 13px;
    line-height: 1.45;
}

@media (max-width: 480px) {
    .torneio-detalhes-precos > div {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .torneio-detalhes-precos strong {
        font-size: 14px;
    }

    .torneio-link-deposito {
        font-size: 12px;
    }
}


/* =========================================================
   TORNEIOS - STATUS E COMPARTILHAMENTO
========================================================= */

.torneios-card-topo {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}

.torneios-card-identidade {
    min-width: 0;
}

.torneios-card-acoes-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.torneios-card-acoes-topo .torneios-card-status {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    max-width: calc(100% - 56px);
    padding: 8px 12px;
    white-space: normal;
    line-height: 1.3;
    text-align: left;
}

.torneios-card-compartilhar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    height: 42px;
    border: 1px solid rgba(215,255,63,.27);
    border-radius: 13px;
    background: rgba(215,255,63,.075);
    color: #d7ff3f;
    font-size: 16px;
    -webkit-tap-highlight-color: transparent;
}

.torneios-card-compartilhar:active {
    transform: scale(.96);
}

.torneios-card-compartilhar:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

/* =========================================================
   MESA DE TORNEIO - MESMO LAYOUT DO CASH GAME
========================================================= */

/* A view possui um agrupador para o WebSocket: seus filhos participam do
   flex da .mesa-page como no Cash, mantendo o painel inferior sempre visivel. */
.mesa-torneio-page #torneio_mesa_conteudo {
    display: contents;
}

.mesa-torneio-page .torneio-mesa-informacoes {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 1px 3px 3px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 800;
}

.mesa-torneio-page .torneio-mesa-informacoes span {
    padding: 3px 5px;
    border: 1px solid rgba(215,255,63,.14);
    border-radius: 8px;
    background: rgba(215,255,63,.06);
}

.mesa-torneio-page .torneio-mesa-informacoes i { margin-right: 3px; }
.mesa-torneio-page .torneio-mesa-relogio strong { font-variant-numeric: tabular-nums; }

/* So mensagens exclusivas do torneio; feltro, assentos, cartas e botoes
   herdam diretamente as regras existentes do Cash Game. */
.mesa-torneio-page .torneio-mesa-erro {
    margin: auto;
    max-width: 440px;
    padding: 20px;
    text-align: center;
}
.mesa-torneio-page .torneio-mesa-erro strong { display: block; font-size: 16px; }
.mesa-torneio-page .torneio-mesa-erro p { margin: 12px 0; color: #bbb; font-size: 13px; }
.mesa-torneio-page .torneio-mesa-erro a {
    display: inline-flex;
    padding: 9px 12px;
    border: 1px solid rgba(215,255,63,.24);
    border-radius: 9px;
    color: #d7ff3f;
}
.mesa-torneio-page .torneio-mesa-aviso-acao,
.mesa-torneio-page .torneio-mesa-acoes-alerta {
    margin: 4px 0 0;
    color: #ffcf84;
    font-size: 11px;
    text-align: center;
}
.mesa-torneio-page .torneio-mesa-aviso-acao[hidden] { display: none; }
.mesa-torneio-page .mesa-aposta form { margin: 0; }
.mesa-torneio-page .mesa-acao:disabled,
.mesa-torneio-page .mesa-atalhos button:disabled { opacity: .35; cursor: not-allowed; }
#torneio_mesa_status_sincronizacao:not([hidden]) {
    position: absolute;
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: 12px;
    right: 12px;
    z-index: 30;
    padding: 5px;
    border-radius: 8px;
    background: #171717;
    color: #ffcf84;
    font-size: 11px;
    text-align: center;
}

/* =========================================================
   TORNEIOS - INFORMACOES DOS CARDS EM DUAS COLUNAS
========================================================= */

/* Mantem um card por linha na lista; somente as informacoes
   internas ficam em pares, inclusive nos celulares. */
.torneios-page .torneios-card-principal,
.torneios-page .torneios-card-infos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    min-width: 0;
}

.torneios-page .torneios-card-principal {
    margin-top: 15px;
    padding: 0;
    border-top: 0;
    border-bottom: 0;
}

.torneios-page .torneios-card-infos {
    padding-top: 10px;
}

.torneios-page .torneios-card-principal > div,
.torneios-page .torneios-card-infos > div {
    box-sizing: border-box;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    background: rgba(255, 255, 255, .045);
}

.torneios-page .torneios-card-principal small,
.torneios-page .torneios-card-infos span {
    font-size: 10px;
    line-height: 1.35;
}

.torneios-page .torneios-card-principal strong,
.torneios-page .torneios-card-infos strong {
    overflow-wrap: break-word;
    line-height: 1.35;
}

.torneios-page .torneios-card-principal strong {
    font-size: 14px;
}

.torneios-page .torneios-card-infos strong {
    font-size: 14px;
}

@media (max-width: 380px) {
    .torneios-page .torneios-card {
        padding: 14px;
    }

    .torneios-page .torneios-card-principal,
    .torneios-page .torneios-card-infos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .torneios-page .torneios-card-principal > div,
    .torneios-page .torneios-card-infos > div {
        padding: 10px 9px;
        border-radius: 12px;
    }

    .torneios-page .torneios-card-principal strong,
    .torneios-page .torneios-card-infos strong {
        font-size: 12px;
    }
}

/* =========================================================
   AVISO GLOBAL DE INÍCIO DO TORNEIO
========================================================= */

.torneio-aviso-global[hidden] { display: none !important; }

.torneio-aviso-global {
    position: fixed;
    z-index: 9998;
    top: max(12px, env(safe-area-inset-top));
    left: 50%;
    transform: translateX(-50%);
    width: min(460px, calc(100% - 24px));
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    color: #fff;
    background: #1d2111;
    border: 1px solid #d8ff43;
    border-radius: 16px;
    box-shadow: 0 10px 35px rgba(0,0,0,.55);
}

.torneio-aviso-global-icone {
    color: #d8ff43;
    font-size: 22px;
    flex: 0 0 auto;
}

.torneio-aviso-global-conteudo {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.torneio-aviso-global-conteudo strong { font-size: 16px; color: #d8ff43; }
.torneio-aviso-global-conteudo span { font-size: 13px; overflow-wrap: anywhere; }

.torneio-aviso-global-conteudo a {
    align-self: flex-start;
    margin-top: 4px;
    padding: 10px 13px;
    background: #d8ff43;
    color: #111;
    border-radius: 10px;
    font-weight: 800;
    text-decoration: none;
    font-size: 13px;
}

#torneio-aviso-global-fechar {
    background: transparent;
    color: #fff;
    border: 0;
    padding: 4px;
    cursor: pointer;
    flex: 0 0 auto;
}


/* =========================================================
   TORNEIOS - PREMIACAO E AVISO PERSISTENTE
========================================================= */

.torneio-detalhes-page .torneio-tabela-blinds {
    min-width: 100%;
    table-layout: fixed;
}

.torneio-detalhes-page .torneio-tabela-blinds th,
.torneio-detalhes-page .torneio-tabela-blinds td {
    text-align: center;
    white-space: normal;
    padding: 13px 5px;
}

.torneio-detalhes-page .torneio-tabela-blinds th:nth-child(1) { width: 16%; }
.torneio-detalhes-page .torneio-tabela-blinds th:nth-child(2) { width: 27%; }
.torneio-detalhes-page .torneio-tabela-blinds th:nth-child(3) { width: 35%; }
.torneio-detalhes-page .torneio-tabela-blinds th:nth-child(4) { width: 22%; }

.torneio-detalhes-page .torneio-bloco-premios h2 {
    color: #d7ff3f;
}

.torneio-premios-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
    font-size: 12px;
    color: #d7ff3f;
}

.torneio-detalhes-page .torneio-premios-total strong {
    display: inline-block;
    padding: 7px 12px;
    border: 1px solid rgba(215,255,63,.35);
    border-radius: 10px;
    background: rgba(215,255,63,.055);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.torneio-detalhes-page .torneio-tabela-premios {
    table-layout: fixed;
}

.torneio-detalhes-page .torneio-tabela-premios th,
.torneio-detalhes-page .torneio-tabela-premios td {
    width: 33.333%;
    padding: 13px 5px;
    text-align: center;
    white-space: normal;
}

.torneio-detalhes-page .torneio-premio-valor {
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
}

.torneio-detalhes-page .torneio-detalhes-precos ~ .torneio-botao {
    margin-top: 16px;
}

.torneio-aviso-global-atalho[hidden] { display: none !important; }

.torneio-aviso-global-atalho {
    position: fixed;
    z-index: 9998;
    top: max(12px, env(safe-area-inset-top));
    right: 12px;
    max-width: min(360px, calc(100% - 24px));
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 14px;
    border: 1px solid #d8ff43;
    border-radius: 14px;
    background: #1d2111;
    color: #d8ff43;
    box-shadow: 0 8px 24px rgba(0,0,0,.5);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.torneio-aviso-global-atalho span { overflow-wrap: anywhere; }


/* =========================================================
   TORNEIOS - DETALHES NO MESMO PADRAO DOS CARDS
========================================================= */

.torneio-detalhes-page .torneio-detalhes-grade {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.torneio-detalhes-page .torneio-detalhes-grade > div {
    box-sizing: border-box;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    background: rgba(255, 255, 255, .045);
}

.torneio-detalhes-page .torneio-detalhes-grade small {
    display: block;
    font-size: 10px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .45px;
    color: #999;
}

.torneio-detalhes-page .torneio-detalhes-grade strong {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: break-word;
    color: #fff;
}

@media (max-width: 480px) {
    .torneio-detalhes-page .torneio-detalhes-grade {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .torneio-detalhes-page .torneio-detalhes-grade > div {
        padding: 10px 9px;
        border-radius: 12px;
    }

    .torneio-detalhes-page .torneio-detalhes-grade strong {
        font-size: 12px;
    }
}
/* =========================================================
   TORNEIOS - CARDS COMPACTOS NO PADRAO CASH GAME
========================================================= */

.torneios-page .torneio-card-compacto .torneio-card-identidade {
    flex: 1;
    min-width: 0;
}

.torneios-page .torneio-card-compacto .home-nivel-blinds {
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.torneios-page .torneio-card-compacto .home-nivel-status {
    white-space: nowrap;
}

.torneios-page .torneio-card-acoes .torneio-card-form {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
}

.torneios-page .torneio-card-acoes .torneio-card-form .home-nivel-botao {
    width: 100%;
    margin: 0;
}

.torneios-page .torneio-card-acoes .torneio-card-detalhes {
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .055);
    color: #fff;
    box-shadow: none;
}

.torneios-page .torneio-card-acoes .home-nivel-botao:focus-visible,
.torneios-page .torneio-card-compacto .home-nivel-compartilhar:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

@media (max-width: 380px) {
    .torneios-page .torneio-card-compacto .home-nivel-topo {
        gap: 7px;
    }

    .torneios-page .torneio-card-compacto .home-nivel-status-acoes {
        gap: 5px;
    }

    .torneios-page .torneio-card-compacto .home-nivel-status {
        padding: 0 7px;
        font-size: 9px;
    }

    .torneios-page .torneio-card-acoes .home-nivel-botao {
        padding: 0 10px;
        font-size: 12px;
    }
}

/* =========================================================
   HOME E CLUBES - CABECALHO DOS CARDS EM LINHAS
========================================================= */

.home-page .home-nivel-card .home-nivel-topo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 10px;
    row-gap: 8px;
}

.home-page .home-nivel-card .home-nivel-topo > :first-child {
    display: contents;
}

.home-page .home-nivel-card .home-nivel-topo .home-nivel-nome {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    margin-bottom: 0;
    line-height: 1.25;
}

.home-page .home-nivel-card .home-nivel-topo .home-nivel-status-acoes {
    grid-column: 2;
    grid-row: 1;
}

.home-page .home-nivel-card .home-nivel-topo .home-nivel-blinds {
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
    font-size: 16px;
    line-height: 1.25;
    overflow-wrap: break-word;
}

.home-page .home-nivel-card .home-nivel-topo .home-nivel-taxas {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 0;
}

/* =========================================================
   TORNEIOS - MESAS E CLASSIFICACAO AO VIVO
========================================================= */
.torneio-ws-mesa {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.torneio-ws-mesa > span { font-size: 13px; }
.torneio-ws-mesa .torneio-botao { width: auto; margin: 0; padding: 10px 14px; }
.torneio-detalhes-page [hidden], .torneios-lista [hidden] { display: none !important; }
/* =========================================================
   TORNEIOS - LOGO DA MESA DURANTE A MAO
========================================================= */

/* Mesmo criterio do Cash: marca antes do flop, desaparece quando abre o board. */
.mesa-torneio-page .mesa-marca { opacity: 0; visibility: hidden; }
.mesa-torneio-page.mesa-logo-centro:not(.mesa-page-resultado) .mesa-marca { opacity: 1; visibility: visible; }
.mesa-torneio-page.mesa-page-resultado .mesa-marca { opacity: 0; visibility: hidden; }

/* =========================================================
   TORNEIOS - SITUACAO E DOIS BOTOES DO CARD
========================================================= */
.torneios-lista .torneio-card-acoes {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.torneios-lista .torneio-card-situacao {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: 0;
}

.torneios-lista .torneio-card-situacao-eliminado {
    border-color: rgba(255, 171, 91, .43);
    background: rgba(255, 171, 91, .045);
    color: #ffc18b;
}

.torneios-lista .torneio-card-situacao-inscrito {
    border-color: rgba(190, 223, 124, .30);
    background: rgba(190, 223, 124, .04);
    color: #d0e5ac;
}

.torneios-lista .torneio-card-situacao,
.torneios-lista .torneio-card-situacao * {
    text-align: center !important;
}

.torneios-lista .torneio-card-situacao {
    justify-content: center !important;
}

.torneios-lista .torneio-card-botoes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    width: 100%;
    min-width: 0;
    gap: 10px;
}

.torneios-lista .torneio-card-botoes > .home-nivel-botao,
.torneios-lista .torneio-card-botoes > .torneio-card-form {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
}

.torneios-lista .torneio-card-botoes .torneio-card-form .home-nivel-botao {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
}

.torneios-lista .torneio-card-botoes .home-nivel-botao {
    min-width: 0;
    padding: 0 11px;
    gap: 4px;
    font-size: 12px;
}

.torneios-lista .torneio-card-botoes .torneio-card-detalhes {
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .055);
    color: #fff;
    box-shadow: none;
}

.torneios-lista .torneio-card-botoes .torneio-card-observar:disabled {
    border: 1px solid rgba(255, 255, 255, .15);
    background: rgba(255, 255, 255, .055);
    color: rgba(255, 255, 255, .60);
    box-shadow: none;
    opacity: 1;
    cursor: not-allowed;
}

.torneios-lista .torneio-card-botoes .torneio-card-aguardando:disabled {
    border: 1px solid rgba(190, 223, 124, .22);
    background: rgba(190, 223, 124, .045);
    color: #d0e5ac;
    box-shadow: none;
    opacity: 1;
    cursor: default;
}

/* =========================================================
   TORNEIOS - REVELACAO E RESULTADO CENTRAL
========================================================= */
.mesa-torneio-page .mesa-centro .torneio-pote-devolucao {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,.83);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-transform: none;
    letter-spacing: 0;
}

.mesa-torneio-page .mesa-centro .mesa-resultado-info {
    top: calc(100% + 14px);
    left: 50%;
    width: min(100%, 340px);
    margin-top: 8px;
    transform: translateX(-50%);
    z-index: 15;
}

.mesa-torneio-page .mesa-centro .mesa-resultado-linha {
    padding: 9px 14px;
    border-color: rgba(215,255,63,.48);
    background: rgba(7,15,7,.97);
    box-shadow: 0 8px 20px rgba(0,0,0,.40);
}

.mesa-torneio-page .mesa-centro .mesa-resultado-linha strong {
    font-size: 15px;
    line-height: 1.4;
}

@media (max-width: 480px) {
    .mesa-torneio-page .mesa-centro .mesa-resultado-info { width: min(120%, 300px); }
    .mesa-torneio-page .mesa-centro .mesa-resultado-linha strong { font-size: 13px; }
}

/* =========================================================
   TORNEIOS - AVISOS COMPACTOS E INSCRICAO PELO CARD
========================================================= */
.torneio-detalhes-page #torneio_ws_mesas .torneio-ws-mesas-vazio {
    margin: 9px 0 1px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    color: #b9bbb2;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}
.torneios-page .torneio-card-retorno {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 11px;
    background: rgba(255,255,255,.035);
    color: #d9ded0;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

.torneios-page .torneio-card-retorno > span {
    display: block;
    width: 100%;
    text-align: center;
}

.torneios-page .torneio-card-retorno > a {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.torneios-page .torneio-card-retorno-sucesso {
    border-color: rgba(190,223,124,.27);
    color: #cfe7a1;
}
.torneios-page .torneio-card-retorno-erro {
    border-color: rgba(255,171,91,.35);
    color: #ffc18b;
}
.torneios-page .torneio-card-retorno a { color: #d7ff3f; font-weight: 700; }

/* =========================================================
   TORNEIOS - CARTAS DO RESULTADO FORA DO RECORTE DO FELTRO
========================================================= */
.mesa-torneio-page.mesa-page-resultado .mesa-feltro {
    overflow: visible;
}

.mesa-torneio-page.mesa-page-resultado .mesa-cartas-jogador {
    z-index: 0;
}

.mesa-torneio-page.mesa-page-resultado .mesa-jogador-box {
    z-index: 1;
}

.mesa-torneio-page .torneio-mesa-informacoes[hidden],
.mesa-torneio-page .torneio-mesa-informacoes [hidden] {
    display: none !important;
}

/* =========================================================
   TORNEIOS - CAMADAS E VIRADA DAS CARTAS
========================================================= */
.mesa-torneio-page .mesa-feltro {
    overflow: visible;
}

.mesa-torneio-page .mesa-cartas-fechadas {
    z-index: 0;
}

.mesa-torneio-page .mesa-jogador-box {
    z-index: 1;
}

.mesa-torneio-page .mesa-board .mesa-carta.mesa-carta-abrindo {
    animation-duration: .65s;
}

.mesa-torneio-page.mesa-page-resultado
.mesa-jogador:not(.mesa-jogador-vencedor)
.mesa-carta-jogador.mesa-carta-vencedora {
    border-color: #fff;
    box-shadow: 0 5px 14px rgba(0,0,0,.32);
}

/* =========================================================
   TORNEIOS - AJUSTES PONTUAIS NOS DETALHES
========================================================= */

.torneio-detalhes-page .torneio-aviso-eliminacao {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
}

.torneio-detalhes-page .torneio-aviso-eliminacao > div {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
}

.torneio-detalhes-page .torneio-aviso-eliminacao strong,
.torneio-detalhes-page .torneio-aviso-eliminacao p {
    display: block;
    width: 100%;
    margin: 0;
    text-align: center;
}

.torneio-detalhes-page #torneio_inscricao_ws > .torneio-mensagem-inscrito {
    margin-top: 20px;
    margin-bottom: 12px;
}

.torneio-detalhes-page #torneio_inscricao_ws > .torneio-botao {
    display: flex;
    width: 100%;
    margin-top: 12px;
}

.torneio-detalhes-page #torneio_ws_mesas .torneio-ws-mesa > .torneio-botao {
    display: flex;
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    margin: 4px 0 0;
    justify-content: center;
}

/* =========================================================
   INSTALAÇÃO NO IOS
========================================================= */
.instalar-ios-modal[hidden],
.instalar-ios-modal [hidden] {
    display: none !important;
}

.instalar-ios-modal {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    padding: max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .82);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.instalar-ios-conteudo {
    position: relative;
    width: 100%;
    max-width: 390px;
    max-height: 100%;
    padding: 28px 20px 20px;
    overflow-y: auto;
    border: 1px solid rgba(215, 255, 63, .23);
    border-radius: 20px;
    background: #171914;
    color: #fff;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .6);
    -webkit-overflow-scrolling: touch;
}

.instalar-ios-fechar {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    cursor: pointer;
}

.instalar-ios-icone {
    margin-bottom: 12px;
    color: #d7ff3f;
    font-size: 28px;
}

.instalar-ios-conteudo h2 {
    margin: 0 0 8px;
    font-size: 21px;
}

.instalar-ios-conteudo p {
    margin: 0 0 18px;
    color: #bfc1b8;
    font-size: 13px;
    line-height: 1.5;
}

.instalar-ios-conteudo .instalar-ios-aviso {
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(215, 255, 63, .10);
    color: #d7ff3f;
}

.instalar-ios-passos {
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.instalar-ios-passos li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    color: #e9e9e9;
    font-size: 13px;
    line-height: 1.5;
}

.instalar-ios-passos li span {
    flex: 0 0 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #d7ff3f;
    color: #101010;
    font-weight: 900;
}

.instalar-ios-passos li div {
    flex: 1;
    min-width: 0;
}

.instalar-ios-entendi {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    background: #d7ff3f;
    color: #111;
    font-weight: 900;
    cursor: pointer;
}

/* =========================================================
   IOS - ALTURA DA MESA NO SAFARI
========================================================= */
@supports (-webkit-touch-callout: none) {
    body:has(.mesa-page),
    body:has(.mesa-page) .app {
        height: 100svh;
        min-height: 100svh;
    }
}

/* =========================================================
   TORNEIOS - CONTROLES DE APOSTA
========================================================= */

.mesa-torneio-page .mesa-aposta {
    padding: 9px 10px 10px;
}

.mesa-torneio-page .mesa-controles-jogo {
    width: 100%;
    min-height: 0;
    display: block;
}

.mesa-torneio-page .mesa-controles-principal {
    min-width: 0;
    display: grid;
    grid-template-rows: 34px 58px 52px;
    gap: 8px;
}


/* =========================================================
   ATALHOS
========================================================= */

.mesa-torneio-page .mesa-atalhos {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 6px;
}

.mesa-torneio-page .mesa-atalhos button {
    min-width: 0;
    min-height: 34px;
    padding: 0 3px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 9px;
    background: rgba(255,255,255,.055);
    color: #c5c5c5;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.mesa-torneio-page .mesa-atalhos button:active,
.mesa-torneio-page .mesa-atalhos button.mesa-atalho-ativo {
    background: rgba(215,255,63,.12);
    border-color: rgba(215,255,63,.20);
    color: #d7ff3f;
}

.mesa-torneio-page .mesa-atalhos .mesa-atalho-allin {
    border-color: rgba(255,155,145,.20);
    background: rgba(255,155,145,.10);
    color: #ff9b91;
}

.mesa-torneio-page .mesa-atalhos .mesa-atalho-allin:active,
.mesa-torneio-page .mesa-atalhos .mesa-atalho-allin.mesa-atalho-ativo {
    background: rgba(255,155,145,.18);
    border-color: rgba(255,155,145,.26);
    color: #ff9b91;
}


/* =========================================================
   AÇÕES
========================================================= */

.mesa-torneio-page .mesa-acoes {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
}

.mesa-torneio-page .mesa-acao {
    min-width: 0;
    min-height: 52px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    color: #111;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mesa-torneio-page .mesa-acao:active {
    transform: scale(.975);
}

.mesa-torneio-page .mesa-acao span {
    font-size: 13px;
    font-weight: 900;
}

.mesa-torneio-page .mesa-acao strong {
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    opacity: .78;
}

.mesa-torneio-page .mesa-acao-fold {
    background: #8fd9ff;
}

.mesa-torneio-page .mesa-acao-call {
    background: #d7ff3f;
}

.mesa-torneio-page .mesa-acao-raise {
    background: #ffd06a;
}

.mesa-torneio-page .mesa-acao-allin {
    background: #ff9b91 !important;
    color: #111 !important;
}


.mesa-page:not(.mesa-torneio-page) .mesa-acoes.mesa-acoes-duas,
.mesa-torneio-page .mesa-acoes.mesa-acoes-duas {
    grid-template-columns: repeat(2,minmax(0,1fr));
    max-width: none;
    margin: 0;
}


/* =========================================================
   CONTROLE DO RAISE
========================================================= */

.mesa-torneio-page .mesa-raise-slider {
    min-width: 0;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) 34px;
    align-items: center;
    gap: 9px;
}

.mesa-torneio-page .mesa-raise-ajuste {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 9px;
    background: rgba(255,255,255,.05);
    color: #cfcfcf;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.mesa-torneio-page .mesa-raise-ajuste:active {
    background: rgba(215,255,63,.10);
    color: #d7ff3f;
}

.mesa-torneio-page .mesa-raise-ajuste:disabled {
    opacity: .35;
    cursor: default;
}

.mesa-torneio-page .mesa-raise-slider-faixa {
    min-width: 0;
    height: 58px;
    padding: 5px 2px 5px;
    display: grid;
    grid-template-rows: 20px 20px;
    align-content: center;
    gap: 5px;
}

.mesa-torneio-page .mesa-raise-slider-input {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 7px;
    margin: 0;
    align-self: center;
    border-radius: 999px;
    background: linear-gradient(90deg,#d7ff3f 0%,#d7ff3f var(--raise-percentual,0%),rgba(255,255,255,.10) var(--raise-percentual,0%),rgba(255,255,255,.10) 100%);
    outline: none;
}

.mesa-torneio-page .mesa-raise-slider-input::-webkit-slider-runnable-track {
    height: 7px;
    border-radius: 999px;
    background: transparent;
}

.mesa-torneio-page .mesa-raise-slider-input::-moz-range-track {
    height: 7px;
    border-radius: 999px;
    background: transparent;
    border: 0;
}

.mesa-torneio-page .mesa-raise-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    margin-top: -5px;
    border-radius: 50%;
    border: 3px solid #d7ff3f;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,.38);
}

.mesa-torneio-page .mesa-raise-slider-input::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 3px solid #d7ff3f;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,.38);
}

.mesa-torneio-page .mesa-raise-slider-input:disabled {
    opacity: .35;
}

.mesa-torneio-page .mesa-raise-slider-valores {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 4px;
}

.mesa-torneio-page .mesa-raise-slider-valores span {
    min-width: 0;
    font-size: 9px;
    font-weight: 700;
    color: rgba(255,255,255,.62);
    white-space: nowrap;
}

.mesa-torneio-page .mesa-raise-slider-valores span:last-child {
    text-align: right;
}

.mesa-torneio-page .mesa-raise-slider-valores strong {
    min-width: 64px;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    text-align: center;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}


.mesa-torneio-page .mesa-raise-slider-valores strong {
    min-width: 60px;
    padding: 4px 6px;
    font-size: 10px;
}

.mesa-torneio-page .mesa-raise-slider-valores span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 360px) {
    .mesa-page:not(.mesa-torneio-page) .mesa-aposta,
    .mesa-torneio-page .mesa-aposta {
        padding: 8px 8px 9px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-controles-principal,
    .mesa-torneio-page .mesa-controles-principal {
        grid-template-rows: 32px 54px 48px;
        gap: 7px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-atalhos button,
    .mesa-torneio-page .mesa-atalhos button {
        padding: 0 2px;
        min-height: 32px;
        font-size: 10px;
        white-space: nowrap;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-raise-slider,
    .mesa-torneio-page .mesa-raise-slider {
        grid-template-columns: 32px minmax(0,1fr) 32px;
        gap: 8px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-raise-ajuste,
    .mesa-torneio-page .mesa-raise-ajuste {
        width: 32px;
        height: 32px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-acoes,
    .mesa-torneio-page .mesa-acoes {
        gap: 6px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-acao,
    .mesa-torneio-page .mesa-acao {
        min-height: 48px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-acao span,
    .mesa-torneio-page .mesa-acao span {
        font-size: 12px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-acao strong,
    .mesa-torneio-page .mesa-acao strong {
        font-size: 10px;
    }
}

/* =========================================================
   TORNEIOS - MENSAGENS INTERNAS DAS MODALIDADES
========================================================= */
.torneio-detalhes-page [data-torneio-oferta-original="rebuy"] > p,
.torneio-detalhes-page [data-torneio-oferta-original="addon"] > p,
.torneio-detalhes-page [data-torneio-oferta-original="reentry"] > p,
.torneio-detalhes-page #torneio_ws_ofertas .torneio-oferta-mensagem-estilo > p {
    margin: 9px 0 1px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    color: #b9bbb2;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

.torneio-detalhes-page [data-torneio-oferta-original="rebuy"] > p + p,
.torneio-detalhes-page [data-torneio-oferta-original="addon"] > p + p,
.torneio-detalhes-page [data-torneio-oferta-original="reentry"] > p + p {
    margin-top: 7px;
}

/* =========================================================
   MESA - CONTROLES COMPACTOS NO MOBILE
========================================================= */

@media (max-width: 560px) {
    .mesa-page:not(.mesa-torneio-page) .mesa-aposta,
    .mesa-torneio-page .mesa-aposta {
        padding: 6px 7px 7px;
        margin-top: 2px;
        margin-bottom: 5px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-controles-principal,
    .mesa-torneio-page .mesa-controles-principal {
        grid-template-rows: 30px 48px 46px;
        gap: 6px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-atalhos,
    .mesa-torneio-page .mesa-atalhos {
        gap: 5px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-atalhos button,
    .mesa-torneio-page .mesa-atalhos button {
        min-height: 30px;
        padding: 0 2px;
        font-size: 10px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-raise-slider,
    .mesa-torneio-page .mesa-raise-slider {
        gap: 7px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-faixa,
    .mesa-torneio-page .mesa-raise-slider-faixa {
        height: 48px;
        padding: 2px 2px;
        grid-template-rows: 18px 18px;
        gap: 4px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-valores strong,
    .mesa-torneio-page .mesa-raise-slider-valores strong {
        padding-top: 3px;
        padding-bottom: 3px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-acoes,
    .mesa-torneio-page .mesa-acoes {
        gap: 6px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-acao,
    .mesa-torneio-page .mesa-acao {
        min-height: 46px;
        border-radius: 11px;
    }
}

@media (max-width: 360px) {
    .mesa-page:not(.mesa-torneio-page) .mesa-controles-principal,
    .mesa-torneio-page .mesa-controles-principal {
        grid-template-rows: 29px 46px 44px;
        gap: 5px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-atalhos button,
    .mesa-torneio-page .mesa-atalhos button {
        min-height: 29px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-raise-slider-faixa,
    .mesa-torneio-page .mesa-raise-slider-faixa {
        height: 46px;
    }

    .mesa-page:not(.mesa-torneio-page) .mesa-acao,
    .mesa-torneio-page .mesa-acao {
        min-height: 44px;
    }
}


/* =========================================================
   TORNEIOS - PRAZO DE INSCRICOES NOS DETALHES
========================================================= */
.torneio-detalhes-page .torneio-prazo-inscricoes {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    padding: 14px 15px;
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(215,255,63,.45);
    border-radius: 16px;
    background: rgba(215,255,63,.065);
}

.torneio-detalhes-page .torneio-prazo-inscricoes-icone {
    display: grid;
    place-items: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    border-radius: 11px;
    color: #d7ff3f;
    background: rgba(215,255,63,.10);
    font-size: 17px;
}

.torneio-detalhes-page .torneio-prazo-inscricoes-texto {
    min-width: 0;
    flex: 1;
}

.torneio-detalhes-page .torneio-prazo-inscricoes-texto strong {
    display: block;
    color: #d7ff3f;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 900;
}

.torneio-detalhes-page .torneio-prazo-inscricoes-texto p {
    margin: 4px 0 0;
    color: #c5c5c5;
    font-size: 11px;
    line-height: 1.5;
}

.torneio-detalhes-page .torneio-prazo-inscricoes-encerrado {
    border-color: rgba(255,255,255,.15);
    background: rgba(255,255,255,.045);
}

.torneio-detalhes-page .torneio-prazo-inscricoes-encerrado .torneio-prazo-inscricoes-icone,
.torneio-detalhes-page .torneio-prazo-inscricoes-encerrado .torneio-prazo-inscricoes-texto strong {
    color: #b6b6b6;
}

.torneio-detalhes-page .torneio-prazo-inscricoes-encerrado .torneio-prazo-inscricoes-icone {
    background: rgba(255,255,255,.055);
}

@media (max-width: 560px) {
    .torneio-detalhes-page .torneio-prazo-inscricoes {
        gap: 10px;
        padding: 12px;
    }
}

/* =========================================================
   CONTROLES - SOMENTE FOLD + ALL-IN
========================================================= */

/* Recolhe as linhas vazias e a altura minima da caixa. */
.mesa-page .mesa-aposta.mesa-aposta-so-call {
    min-height: 0;
}

.mesa-page:not(.mesa-torneio-page) .mesa-controles-so-call .mesa-controles-principal,
.mesa-torneio-page .mesa-controles-so-call .mesa-controles-principal {
    display: block;
}

.mesa-page .mesa-controles-so-call .mesa-atalhos,
.mesa-page .mesa-controles-so-call .mesa-raise-slider {
    display: none;
}

.mesa-page:not(.mesa-torneio-page) .mesa-controles-so-call .mesa-acoes,
.mesa-torneio-page .mesa-controles-so-call .mesa-acoes {
    display: grid;
    grid-row: auto;
    grid-template-columns: repeat(2,minmax(0,1fr));
    width: 100%;
    max-width: none;
    margin: 0;
}
/* =========================================================
   TORNEIOS - AVISO DO CAMPEAO CENTRALIZADO
========================================================= */

.torneio-detalhes-page .torneio-alerta-campeao {
    align-items: center;
    justify-content: center;
    text-align: center;
}

.torneio-detalhes-page .torneio-alerta-campeao > div {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    text-align: center;
}

.torneio-detalhes-page .torneio-alerta-campeao strong,
.torneio-detalhes-page .torneio-alerta-campeao p {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    white-space: normal;
    overflow-wrap: break-word;
}

/* =========================================================
   MESA - TEXTO DE ESPERA DENTRO DO CARTAO
========================================================= */

.mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao {
    max-width: 100%;
    min-width: 0;
    height: auto;
}

.mesa-page .mesa-aposta .mesa-pre-acoes-espera .mesa-espera-mensagem {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    text-align: center;
}

.mesa-page .mesa-aposta .mesa-pre-acoes-espera .mesa-espera-mensagem strong,
.mesa-page .mesa-aposta .mesa-pre-acoes-espera .mesa-espera-mensagem > span {
    display: block;
    max-width: 100%;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    text-align: center;
}


/* =========================================================
   TORNEIOS - PREMIACAO PROGRESSIVA E CANCELAMENTO
========================================================= */

.torneio-detalhes-page .torneio-premios-progressiva {
    width: 100%;
    min-width: 0;
    margin: 12px 0 16px;
    padding: 13px 14px;
    border: 1px solid rgba(215,255,63,.22);
    border-radius: 13px;
    background: linear-gradient(115deg,rgba(215,255,63,.075),rgba(255,255,255,.025));
    overflow-wrap: break-word;
}

.torneio-detalhes-page .torneio-premios-progressiva-titulo {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.4;
}

.torneio-detalhes-page .torneio-premios-progressiva-titulo i {
    font-size: 11px;
}

.torneio-detalhes-page .torneio-premios-progressiva-indicadores {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.torneio-detalhes-page .torneio-premios-progressiva-indicadores span {
    max-width: 100%;
    padding: 6px 9px;
    border: 1px solid rgba(215,255,63,.15);
    border-radius: 9px;
    background: rgba(215,255,63,.055);
    color: #e7eacb;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    overflow-wrap: break-word;
}

.torneio-detalhes-page .torneio-premios-progressiva > p {
    margin: 10px 0 0;
    color: #b5b7a9;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: break-word;
}

.torneio-detalhes-page #torneio-cancelar-inscricao {
    width: 100%;
    margin-top: 14px;
}

.torneio-detalhes-page #torneio-cancelar-inscricao .torneio-botao-cancelar {
    border: 1px solid rgba(255,113,104,.43);
    background: rgba(255,92,82,.075);
    color: #ff9b94;
    box-shadow: none;
}

.torneio-detalhes-page #torneio-cancelar-inscricao .torneio-botao-cancelar:active {
    background: rgba(255,92,82,.16);
    border-color: rgba(255,113,104,.66);
}

.torneio-detalhes-page #torneio-cancelar-inscricao > p {
    margin: 9px 0 0;
    padding: 0 9px;
    color: #a8a9a3;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    overflow-wrap: break-word;
}
/* =========================================================
   TORNEIOS - MODAL DE CANCELAMENTO DA INSCRICAO
========================================================= */
.torneio-cancelamento-modal {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: grid;
    place-items: center;
    padding: 18px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease;
}

.torneio-cancelamento-modal:target {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.torneio-cancelamento-modal-fundo {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.82);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}

.torneio-cancelamento-modal-card {
    position: relative;
    z-index: 1;
    width: min(440px,100%);
    max-height: calc(100dvh - 36px);
    overflow-y: auto;
    padding: 28px 24px 22px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 0,rgba(255,91,82,.115),transparent 38%),
        linear-gradient(180deg,#181918 0%,#0e0f0e 100%);
    box-shadow: 0 28px 80px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.035);
    color: #f6f6f1;
    text-align: center;
}

.torneio-cancelamento-modal-fechar {
    position: absolute;
    top: 15px;
    right: 15px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    background: rgba(255,255,255,.045);
    color: #a9aaa5;
    font-size: 15px;
    text-decoration: none;
}

.torneio-cancelamento-modal-fechar:active {
    background: rgba(255,255,255,.09);
    color: #f2f2ee;
}

.torneio-cancelamento-modal-icone {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 17px;
    border: 1px solid rgba(255,103,94,.32);
    border-radius: 20px;
    background: linear-gradient(145deg,rgba(255,91,82,.16),rgba(255,91,82,.06));
    color: #ff827a;
    box-shadow: 0 13px 34px rgba(255,74,64,.10);
    font-size: 25px;
}

.torneio-cancelamento-modal-etiqueta {
    margin-bottom: 7px;
    color: #ff8e87;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.torneio-cancelamento-modal h3 {
    margin: 0;
    color: #f7f7f2;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.18;
}

.torneio-cancelamento-modal #torneio-cancelamento-modal-texto {
    max-width: 365px;
    margin: 12px auto 0;
    color: #c1c2bc;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
}

.torneio-cancelamento-modal-valor {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    padding: 13px 14px;
    border: 1px solid rgba(215,255,63,.16);
    border-radius: 15px;
    background: rgba(215,255,63,.045);
    text-align: left;
}

.torneio-cancelamento-modal-valor-icone {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(215,255,63,.09);
    color: #d7ff3f;
    font-size: 16px;
}

.torneio-cancelamento-modal-valor > div:last-child {
    min-width: 0;
    flex: 1;
}

.torneio-cancelamento-modal-valor span,
.torneio-cancelamento-modal-valor strong {
    display: block;
}

.torneio-cancelamento-modal-valor span {
    color: #9fa097;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
}

.torneio-cancelamento-modal-valor strong {
    margin-top: 2px;
    color: #eaff8f;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
}

.torneio-cancelamento-modal-alerta {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 12px;
    padding: 11px 12px;
    border: 1px solid rgba(255,107,98,.13);
    border-radius: 13px;
    background: rgba(255,91,82,.04);
    color: #aaa9a3;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.torneio-cancelamento-modal-alerta i {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #d3746e;
    font-size: 12px;
}

.torneio-cancelamento-modal-acoes {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 10px;
    margin-top: 20px;
}

.torneio-cancelamento-modal-voltar,
.torneio-cancelamento-modal-confirmar {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 14px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.torneio-cancelamento-modal-voltar {
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.055);
    color: #d6d6d0;
}

.torneio-cancelamento-modal-confirmar {
    gap: 7px;
    border: 1px solid rgba(255,103,94,.42);
    background: linear-gradient(180deg,rgba(255,91,82,.16),rgba(255,91,82,.09));
    color: #ff9a94;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.torneio-cancelamento-modal-voltar:active {
    background: rgba(255,255,255,.10);
}

.torneio-cancelamento-modal-confirmar:active {
    border-color: rgba(255,103,94,.66);
    background: rgba(255,91,82,.21);
}

.torneio-cancelamento-modal-fechar:focus-visible,
.torneio-cancelamento-modal-voltar:focus-visible,
.torneio-cancelamento-modal-confirmar:focus-visible,
.torneio-detalhes-page #torneio-cancelar-inscricao .torneio-botao-cancelar:focus-visible {
    outline: 2px solid rgba(215,255,63,.85);
    outline-offset: 3px;
}

@media (max-width: 480px) {
    .torneio-cancelamento-modal {
        padding: 12px;
    }

    .torneio-cancelamento-modal-card {
        max-height: calc(100dvh - 24px);
        padding: 25px 18px 18px;
        border-radius: 21px;
    }

    .torneio-cancelamento-modal-icone {
        width: 58px;
        height: 58px;
        margin-bottom: 15px;
        border-radius: 18px;
        font-size: 23px;
    }

    .torneio-cancelamento-modal h3 {
        font-size: 22px;
    }

    .torneio-cancelamento-modal #torneio-cancelamento-modal-texto {
        font-size: 12px;
    }

    .torneio-cancelamento-modal-acoes {
        grid-template-columns: 1fr;
    }

    .torneio-cancelamento-modal-voltar {
        order: 2;
    }

    .torneio-cancelamento-modal-confirmar {
        order: 1;
    }
}


/* =========================================================
   TORNEIOS - OBSERVADOR
========================================================= */

.torneio-observador #torneio-observador-mesa {
    display: contents;
}

.torneio-observador .torneio-observador-aviso:empty {
    display: none;
}

.torneio-observador .torneio-observador-aviso:not(:empty) {
    flex: 0 0 auto;
    width: 100%;
    padding: 6px 10px;
    color: #ffcf84;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
}

.torneio-observador .torneio-observador-rodape {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    padding: 8px 10px calc(9px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: #101010;
    color: #888;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.torneio-observador .torneio-observador-rodape a {
    color: #d7ff3f;
    font-weight: 900;
}

/* =========================================================
   TORNEIOS - VER DETALHES EM LINHA INTEIRA
========================================================= */

.torneios-lista .torneio-card-botoes-tardia > .torneio-card-detalhes,
.torneios-lista .torneio-card-botoes > .torneio-card-detalhes:only-child {
    grid-column: 1 / -1;
    width: 100%;
}


/* =========================================================
   TORNEIOS - FLUXO RAPIDO DE REBUY, ADD-ON E RE-ENTRY
========================================================= */

.torneio-detalhes-page #rebuy,
.torneio-detalhes-page #addon,
.torneio-detalhes-page #reentry {
    scroll-margin-top: 18px;
}

.torneio-detalhes-page .torneio-botao-perigo {
    margin-top: 10px;
    border: 1px solid rgba(255,103,94,.42);
    background: linear-gradient(180deg,rgba(255,91,82,.16),rgba(255,91,82,.09));
    color: #ff9a94;
    box-shadow: none;
}

.torneio-detalhes-page .torneio-botao-perigo:active {
    border-color: rgba(255,103,94,.66);
    background: rgba(255,91,82,.21);
}

.torneio-detalhes-page .torneio-botao-secundario {
    margin-top: 10px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.055);
    color: #d6d6d0;
    box-shadow: none;
}

.torneio-detalhes-page .torneio-botao-secundario:active {
    background: rgba(255,255,255,.10);
}

.torneio-detalhes-page .torneio-botao-perigo:focus-visible,
.torneio-detalhes-page .torneio-botao-secundario:focus-visible {
    outline: 2px solid rgba(215,255,63,.85);
    outline-offset: 3px;
}


/* =========================================================
   TORNEIOS - ANTE NA MESA
========================================================= */

.mesa-torneio-page .mesa-ante-ficha {
    position: absolute;
    z-index: 29;
    min-height: 21px;
    min-width: 52px;
    padding: 0 7px;
    border: 1px solid rgba(215, 255, 63, .22);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background: rgba(5, 5, 5, .84);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .24);
    white-space: nowrap;
}

.mesa-torneio-page .mesa-ante-ficha > span {
    color: rgba(215, 255, 63, .72);
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.mesa-torneio-page .mesa-ante-ficha > strong {
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.mesa-torneio-page .mesa-jogador-1 .mesa-ante-ficha {
    top: 90px;
    left: 86px;
}

.mesa-torneio-page .mesa-jogador-2 .mesa-ante-ficha {
    top: 110px;
    left: 50%;
    transform: translateX(-50%);
}

.mesa-torneio-page .mesa-jogador-3 .mesa-ante-ficha {
    top: 90px;
    right: 86px;
}

.mesa-torneio-page .mesa-jogador-4 .mesa-ante-ficha {
    top: -63px;
    right: 86px;
}

.mesa-torneio-page .mesa-jogador-5 .mesa-ante-ficha {
    top: -63px;
    left: 86px;
}

.mesa-torneio-page .mesa-jogador-6 .mesa-ante-ficha {
    top: -108px;
    left: 50%;
    transform: translateX(-50%);
}
/* =========================================================
   TORNEIOS - ACOES DO TOPO E SAIDA VOLUNTARIA
========================================================= */
.mesa-torneio-page .mesa-topo-acao-perigo {
    border-color: rgba(255,130,117,.28);
    background: rgba(255,130,117,.08);
    color: #ff8275;
}

.mesa-torneio-page .mesa-modal-confirmar-perigo {
    background: #ff8275;
    color: #111;
}

/* Em fold, mantém a marca somente enquanto o resultado ainda está correndo.
   Quando o card do vencedor aparece, a marca some para não ficar atrás dele. */
.mesa-torneio-page.mesa-page-resultado.mesa-resultado-fold.mesa-resultado-fold-preflop.mesa-resultado-correndo .mesa-marca {
    opacity: 1;
    visibility: visible;
}

/* Na lista de torneios, o aviso do torneio atual fica acima do título,
   seguindo o mesmo destaque usado pela mesa atual do Cash Game. */
.torneios-page .home-secao {
    display: flex;
    flex-direction: column;
}

.torneios-page #torneio-ativo-aviso {
    order: -1;
}

/* =========================================================
   MESA - CONTROLES COMPACTOS E ALTURA ESTAVEL
   Pre-acoes e mensagens mantem a mesma altura da linha de
   Fold / All-in. Somente os controles completos de aposta
   podem aumentar a area inferior da mesa.
========================================================= */

.mesa-page .mesa-aposta:has(> .mesa-pre-acoes) {
    min-height: 0;
}

.mesa-page .mesa-aposta > .mesa-pre-acoes,
.mesa-page .mesa-aposta > .mesa-pre-acoes:not(.mesa-pre-acoes-espera) label,
.mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera,
.mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera:has(.mesa-espera-com-cartas),
.mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera:has(.mesa-espera-com-reload),
.mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao,
.mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao.mesa-espera-com-cartas,
.mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao.mesa-espera-com-reload {
    height: 52px;
    min-height: 52px;
}

.mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
}

/* Sem o cartao verde interno: fica apenas o painel externo da mesa. */
.mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao,
.mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao.mesa-espera-com-cartas,
.mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao.mesa-espera-com-reload {
    width: 100%;
    padding: 0 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    gap: 0;
}

.mesa-page .mesa-aposta .mesa-pre-acoes-espera .mesa-espera-mensagem {
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-align: center;
}

.mesa-page .mesa-aposta .mesa-pre-acoes-espera .mesa-espera-mensagem strong,
.mesa-page .mesa-aposta .mesa-pre-acoes-espera .mesa-espera-mensagem > span {
    width: 100%;
    margin: 0;
    text-align: center;
}

/* Sem bolinha piscando para o texto permanecer realmente centralizado. */
.mesa-page .mesa-aposta .mesa-pre-acoes-espera .mesa-espera-sinal,
.mesa-page .mesa-aposta .mesa-pre-acoes-espera .mesa-espera-sinal-pausa {
    display: none !important;
}

/* No mobile acompanha exatamente a altura atual dos botoes de acao. */
@media (max-width: 560px) {
    .mesa-page .mesa-aposta > .mesa-pre-acoes,
    .mesa-page .mesa-aposta > .mesa-pre-acoes:not(.mesa-pre-acoes-espera) label,
    .mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera,
    .mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera:has(.mesa-espera-com-cartas),
    .mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera:has(.mesa-espera-com-reload),
    .mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao,
    .mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao.mesa-espera-com-cartas,
    .mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao.mesa-espera-com-reload {
        height: 46px;
        min-height: 46px;
    }
}

@media (max-width: 360px) {
    .mesa-page .mesa-aposta > .mesa-pre-acoes,
    .mesa-page .mesa-aposta > .mesa-pre-acoes:not(.mesa-pre-acoes-espera) label,
    .mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera,
    .mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera:has(.mesa-espera-com-cartas),
    .mesa-page .mesa-aposta > .mesa-pre-acoes.mesa-pre-acoes-espera:has(.mesa-espera-com-reload),
    .mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao,
    .mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao.mesa-espera-com-cartas,
    .mesa-page .mesa-aposta .mesa-pre-acoes-espera > .mesa-espera-cartao.mesa-espera-com-reload {
        height: 44px;
        min-height: 44px;
    }
}

/* =========================================================
   TORNEIOS — DESTAQUE DO TORNEIO ATUAL E FASE FECHADA
========================================================= */

/* O card "Seu torneio" fica antes do título, igual ao destaque "Sua mesa". */
.torneios-page > .home-secao {
    display: flex;
    flex-direction: column;
}

.torneios-page > .home-secao > #torneio-ativo-aviso {
    order: -2;
    margin-top: 0;
    margin-bottom: 14px;
}

.torneios-page > .home-secao > .home-secao-topo {
    order: -1;
}

/* Laranja = torneio em andamento já fechado para novas fases de entrada. */
.home-nivel-status.fechado {
    border-color: rgba(255, 173, 66, .38);
    background: rgba(255, 173, 66, .13);
    color: #ffad42;
}

.home-nivel-status.fechado span {
    background: #ffad42;
    box-shadow: 0 0 8px rgba(255, 173, 66, .55);
}

.torneios-lista .torneio-card-botoes .torneio-card-observar-fechado {
    border-color: rgba(255, 173, 66, .55);
    background: #ffad42;
    color: #15110c;
    box-shadow: 0 8px 24px rgba(255, 173, 66, .16);
}

.torneios-lista .torneio-card-botoes .torneio-card-observar-fechado:hover,
.torneios-lista .torneio-card-botoes .torneio-card-observar-fechado:focus-visible {
    background: #ffb75c;
    color: #15110c;
}



/* =========================================================
   TORNEIOS — INTERVALO NA MESA / OBSERVADOR
========================================================= */

/* Durante o intervalo, a mão anterior não fica "congelada" na tela.
   Os jogadores e stacks continuam visíveis, mas cartas, pote, ações,
   apostas e dealer somem até o próximo nível jogável. */
.mesa-torneio-page.mesa-em-intervalo .mesa-marca,
.mesa-torneio-page.mesa-em-intervalo .mesa-centro,
.mesa-torneio-page.mesa-em-intervalo .mesa-cartas-jogador,
.mesa-torneio-page.mesa-em-intervalo .mesa-cartas-fechadas,
.mesa-torneio-page.mesa-em-intervalo .mesa-jogador-acao,
.mesa-torneio-page.mesa-em-intervalo .mesa-aposta-ficha,
.mesa-torneio-page.mesa-em-intervalo .mesa-ante-ficha,
.mesa-torneio-page.mesa-em-intervalo .mesa-dealer,
.mesa-torneio-page.mesa-em-intervalo .mesa-tempo {
    display: none !important;
}

.mesa-torneio-page.mesa-em-intervalo .mesa-aposta,
.mesa-torneio-page .mesa-aposta.mesa-aposta-intervalo {
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.torneio-intervalo-overlay {
    position: absolute;
    inset: 0;
    z-index: 18;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.torneio-intervalo-card {
    min-width: 170px;
    padding: 18px 22px 16px;
    border: 1px solid rgba(204,255,45,.42);
    border-radius: 16px;
    background: rgba(8,18,11,.92);
    box-shadow: 0 14px 35px rgba(0,0,0,.34), inset 0 0 24px rgba(204,255,45,.045);
    text-align: center;
}

.torneio-intervalo-card span,
.torneio-intervalo-card strong,
.torneio-intervalo-card small {
    display: block;
}

.torneio-intervalo-card span {
    margin-bottom: 5px;
    color: #ccff2d;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
}

.torneio-intervalo-card strong {
    color: #fff;
    font-size: 31px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.torneio-intervalo-card small {
    margin-top: 7px;
    color: rgba(255,255,255,.62);
    font-size: 11px;
    font-weight: 700;
}

@media (max-width: 560px) {
    .torneio-intervalo-card {
        min-width: 150px;
        padding: 15px 18px 14px;
        border-radius: 14px;
    }

    .torneio-intervalo-card strong {
        font-size: 27px;
    }
}


/* =========================================================
   ATIVIDADE CRUZADA — CASH X TORNEIOS
========================================================= */

/* Na tela de torneios, a mesa Cash atual aparece antes do título e antes do card do torneio. */
.torneios-page > .home-secao > #cash-ativo-aviso {
    order: -3;
    margin-top: 0;
    margin-bottom: 10px;
}

/* Links e botões do aviso usam a mesma geometria. */
a.mesa-ativa-aviso-voltar {
    text-decoration: none;
}

.mesa-ativa-aviso-voltar:disabled {
    cursor: default;
    opacity: .78;
}

/* TORNEIOS - ofertas abertas por ancora a partir da mesa */
#rebuy, #addon, #reentry { scroll-margin-top: 18px; }

.carteira-extrato-status-pago {
    border: 1px solid rgba(215, 255, 63, .25);
    background: rgba(215, 255, 63, .08);
    color: #d7ff3f;
}

.carteira-extrato-status-recusado {
    border: 1px solid rgba(255, 102, 84, .30);
    background: rgba(255, 102, 84, .09);
    color: #ff7968;
}

.carteira-extrato-status-estorno {
    border: 1px solid rgba(105, 176, 255, .25);
    background: rgba(105, 176, 255, .08);
    color: #8cc5ff;
}

/* =========================================================
   TORNEIO DETALHES - LISTA DE MESAS
   Ajuste visual de jogadores + status
========================================================= */

.torneio-detalhes-page .torneio-ws-mesa {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.torneio-detalhes-page .torneio-ws-mesa > strong {
    min-width: 0;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
}

.torneio-detalhes-page .torneio-ws-mesa > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

/* Quantidade de jogadores */
.torneio-detalhes-page .torneio-ws-mesa > span:nth-of-type(1) {
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.09);
}

/* Situação da mesa */
.torneio-detalhes-page .torneio-ws-mesa > span:nth-of-type(2) {
    gap: 6px;
    color: #d2ff39;
    background: rgba(202,255,45,.075);
    border: 1px solid rgba(202,255,45,.16);
}

.torneio-detalhes-page .torneio-ws-mesa > span:nth-of-type(2)::before {
    content: '';
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 9px rgba(210,255,57,.45);
}

.torneio-detalhes-page .torneio-ws-mesa .torneio-botao {
    grid-column: 1 / -1;
    width: 100%;
    margin: 2px 0 0;
}

@media (max-width: 420px) {
    .torneio-detalhes-page .torneio-ws-mesa {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 8px;
    }

    .torneio-detalhes-page .torneio-ws-mesa > span {
        min-height: 28px;
        padding: 5px 8px;
        font-size: 11px;
    }
}

/* =========================================================
   VIVA POKER - CHAT DE MESA
========================================================= */


/* Estado hidden do chat deve sempre prevalecer sobre display:flex/inline-flex. */
.mesa-chat-painel[hidden],
.mesa-chat-status[hidden],
.mesa-chat-desligado[hidden],
.mesa-chat-leitura[hidden],
.mesa-chat-form[hidden],
.mesa-chat-silenciar-alvo[hidden],
.mesa-chat-nao-lidas[hidden],
.mesa-chat-aviso-geral[hidden] {
    display: none !important;
}


.mesa-chat-flutuante {
    position: fixed;
    z-index: 119900;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    background: transparent;
    color: #d7ff3f;
    cursor: pointer;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.85));
    -webkit-tap-highlight-color: transparent;
}

.mesa-chat-flutuante > i {
    font-size: 23px;
    line-height: 1;
}

.mesa-chat-flutuante:active {
    transform: scale(.92);
}

.mesa-chat-flutuante.mesa-topo-acao-ativo {
    color: #fff;
}

.mesa-chat-flutuante.mesa-chat-desativado {
    color: #777;
}

.mesa-chat-nao-lidas {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border: 2px solid #070707;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #070707;
    font-size: 8px;
    font-weight: 1000;
    line-height: 1;
}

.mesa-chat-painel {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: auto;
    right: auto;
    bottom: 58px;
    left: 10px;
    z-index: 120000;
    width: min(330px,calc(100vw - 20px));
    max-height: min(520px,calc(100dvh - 80px));
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(8,8,8,.985);
    box-shadow: 0 22px 60px rgba(0,0,0,.55);
    color: #fff;
    backdrop-filter: blur(16px);
}

.mesa-chat-painel[hidden] {
    display: none !important;
}

.mesa-chat-topo {
    min-height: 52px;
    padding: 9px 10px 9px 13px;
    border-bottom: 1px solid rgba(255,255,255,.07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.mesa-chat-titulo {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.mesa-chat-titulo > i {
    color: #d7ff3f;
    font-size: 15px;
}

.mesa-chat-titulo small,
.mesa-chat-titulo strong {
    display: block;
}

.mesa-chat-titulo small {
    color: #777;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .8px;
}

.mesa-chat-titulo strong {
    margin-top: 1px;
    color: #fff;
    font-size: 14px;
    font-weight: 950;
}

.mesa-chat-topo-acoes {
    display: flex;
    align-items: center;
    gap: 4px;
}

.mesa-chat-topo-acoes button,
.mesa-chat-silenciar-alvo,
.mesa-chat-mensagem-acoes button {
    border: 1px solid rgba(255,255,255,.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.045);
    color: #999;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mesa-chat-topo-acoes button {
    width: 34px;
    height: 34px;
    border-radius: 10px;
}

.mesa-chat-topo-acoes button:active,
.mesa-chat-silenciar-alvo:active,
.mesa-chat-mensagem-acoes button:active {
    transform: scale(.95);
}

.mesa-chat-botao-estado {
    width: auto !important;
    min-width: 92px;
    padding: 0 11px;
    font-size: 9px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .25px;
    transition: background .15s ease,border-color .15s ease,color .15s ease;
}

.mesa-chat-botao-estado-ativo {
    border-color: rgba(255,92,72,.30) !important;
    background: rgba(255,92,72,.11) !important;
    color: #ff725f !important;
}

.mesa-chat-botao-estado-inativo {
    border-color: rgba(215,255,63,.30) !important;
    background: rgba(215,255,63,.12) !important;
    color: #d7ff3f !important;
}

.mesa-chat-status {
    margin: 8px 10px 0;
    padding: 8px 10px;
    border: 1px solid rgba(215,255,63,.18);
    border-radius: 10px;
    background: rgba(215,255,63,.07);
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
}

.mesa-chat-status-erro {
    border-color: rgba(255,94,94,.22);
    background: rgba(255,94,94,.08);
    color: #ff9a9a;
}

.mesa-chat-historico {
    min-height: 150px;
    max-height: 285px;
    margin: 9px;
    padding: 9px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: rgba(255,255,255,.025);
    scroll-behavior: smooth;
}

.mesa-chat-historico::-webkit-scrollbar {
    width: 4px;
}

.mesa-chat-historico::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255,255,255,.16);
}

.mesa-chat-mensagem {
    position: relative;
    width: fit-content;
    max-width: 84%;
    margin: 0;
    padding: 8px 9px 7px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 13px 13px 13px 4px;
    align-self: flex-start;
    background: rgba(255,255,255,.045);
}

.mesa-chat-mensagem-outro {
    align-self: flex-start;
}

.mesa-chat-mensagem-propria {
    align-self: flex-end;
    border-color: rgba(215,255,63,.22);
    border-radius: 13px 13px 4px 13px;
    background: rgba(215,255,63,.10);
}

.mesa-chat-mensagem-direta {
    border-color: rgba(255,208,106,.22);
}

.mesa-chat-mensagem-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.mesa-chat-mensagem-topo strong {
    min-width: 0;
    overflow: hidden;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mesa-chat-mensagem-direta .mesa-chat-mensagem-topo strong {
    color: #ffd06a;
}

.mesa-chat-mensagem-topo > span {
    flex: 0 0 auto;
    color: #666;
    font-size: 8px;
    font-weight: 800;
}

.mesa-chat-mensagem p {
    margin: 4px 0 0;
    color: #e8e8e8;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.28;
    overflow-wrap: anywhere;
}

.mesa-chat-mensagem-acoes {
    position: absolute;
    top: 5px;
    right: 5px;
    display: flex;
    gap: 3px;
}

.mesa-chat-mensagem-acoes button {
    width: 19px;
    height: 19px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #777;
    font-size: 8px;
}

.mesa-chat-mensagem-acoes button:hover {
    color: #d7ff3f;
}

.mesa-chat-vazio {
    min-height: 92px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #666;
    text-align: center;
}

.mesa-chat-vazio i {
    font-size: 18px;
}

.mesa-chat-vazio span {
    font-size: 10px;
    font-weight: 800;
}

.mesa-chat-desligado {
    min-height: 145px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #777;
    text-align: center;
}

.mesa-chat-desligado i {
    margin-bottom: 3px;
    color: #d7ff3f;
    font-size: 22px;
}

.mesa-chat-desligado strong {
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.mesa-chat-desligado span {
    max-width: 220px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
}

.mesa-chat-leitura {
    margin: 0 10px 10px;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 10px;
    background: rgba(255,255,255,.03);
    color: #888;
    font-size: 9px;
    font-weight: 850;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.mesa-chat-leitura i {
    margin-right: 4px;
    color: #d7ff3f;
}

.mesa-chat-form {
    padding: 8px 9px 9px;
    border-top: 1px solid rgba(255,255,255,.07);
}

.mesa-chat-destino-linha {
    margin-bottom: 6px;
    display: flex;
    align-items: flex-end;
    gap: 5px;
}

.mesa-chat-destino-linha label {
    min-width: 0;
    flex: 1;
}

.mesa-chat-destino-linha label > span {
    display: block;
    margin: 0 0 3px 3px;
    color: #777;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.mesa-chat-destino-linha select,
.mesa-chat-escrever input {
    width: 100%;
    border: 1px solid rgba(255,255,255,.09);
    outline: 0;
    background: rgba(255,255,255,.045);
    color: #fff;
    font-family: inherit;
}

.mesa-chat-destino-linha select {
    height: 34px;
    padding: 0 9px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 850;
}

.mesa-chat-destino-linha select option {
    background: #111;
    color: #fff;
}

.mesa-chat-silenciar-alvo {
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 10px;
    color: #d7ff3f;
}

.mesa-chat-escrever {
    display: flex;
    align-items: center;
    gap: 5px;
}

.mesa-chat-escrever input {
    height: 38px;
    padding: 0 11px;
    border-radius: 11px;
    font-size: 11px;
    font-weight: 700;
}

.mesa-chat-escrever input::placeholder {
    color: #666;
}

.mesa-chat-escrever input:focus,
.mesa-chat-destino-linha select:focus {
    border-color: rgba(215,255,63,.38);
    box-shadow: 0 0 0 2px rgba(215,255,63,.06);
}

.mesa-chat-escrever button {
    width: 40px;
    min-width: 40px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #0a0a0a;
    cursor: pointer;
}

.mesa-chat-escrever button:disabled {
    opacity: .45;
    cursor: default;
}

.mesa-chat-escrever button:active:not(:disabled) {
    transform: scale(.96);
}

.mesa-chat-contador {
    height: 13px;
    padding: 3px 3px 0;
    color: #666;
    font-size: 8px;
    font-weight: 800;
    text-align: right;
}

.mesa-chat-aviso-geral {
    position: fixed;
    top: 58px;
    left: 50%;
    z-index: 119500;
    width: min(360px,calc(100vw - 24px));
    padding: 9px 12px;
    border: 1px solid rgba(215,255,63,.24);
    border-radius: 13px;
    background: rgba(7,7,7,.96);
    box-shadow: 0 12px 35px rgba(0,0,0,.42);
    opacity: 0;
    pointer-events: auto;
    transform: translate(-50%,-10px);
    transition: opacity .18s ease,transform .18s ease;
    text-align: center;
}

.mesa-chat-aviso-geral-visivel {
    opacity: 1;
    transform: translate(-50%,0);
}

.mesa-chat-aviso-geral strong,
.mesa-chat-aviso-geral span {
    display: block;
}

.mesa-chat-aviso-geral strong {
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 950;
}

.mesa-chat-aviso-geral span {
    margin-top: 3px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.mesa-jogador .mesa-chat-balao-jogador {
    position: absolute;
    left: 50%;
    z-index: 80;
    width: max-content;
    max-width: 175px;
    min-width: 105px;
    padding: 7px 8px;
    border: 1px solid rgba(255,208,106,.28);
    border-radius: 10px;
    background: rgba(7,7,7,.97);
    box-shadow: 0 9px 24px rgba(0,0,0,.45);
    transform: translateX(-50%);
    pointer-events: none;
    text-align: center;
}

.mesa-jogador-1 .mesa-chat-balao-jogador,
.mesa-jogador-2 .mesa-chat-balao-jogador,
.mesa-jogador-3 .mesa-chat-balao-jogador {
    top: calc(100% + 7px);
}

.mesa-jogador-4 .mesa-chat-balao-jogador,
.mesa-jogador-5 .mesa-chat-balao-jogador,
.mesa-jogador-6 .mesa-chat-balao-jogador {
    bottom: calc(100% + 7px);
}

.mesa-chat-balao-jogador strong,
.mesa-chat-balao-jogador span {
    display: block;
}

.mesa-chat-balao-jogador strong {
    overflow: hidden;
    color: #ffd06a;
    font-size: 8px;
    font-weight: 950;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mesa-chat-balao-jogador span {
    margin-top: 3px;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

@media (max-width:700px) {
    .mesa-chat-painel {
        position: fixed;
        top: auto;
        right: 7px;
        bottom: max(52px,calc(7px + env(safe-area-inset-bottom)));
        left: 7px;
        width: auto;
        max-height: min(58dvh,520px);
        border-radius: 17px;
    }

    .mesa-chat-flutuante > i {
        font-size: 24px;
    }

    .mesa-chat-topo {
        min-height: 55px;
    }

    .mesa-chat-titulo small {
        font-size: 9px;
    }

    .mesa-chat-titulo strong {
        font-size: 15px;
    }

    .mesa-chat-historico {
        max-height: min(30dvh,245px);
    }

    .mesa-chat-mensagem-topo strong {
        font-size: 11px;
    }

    .mesa-chat-mensagem p {
        font-size: 13px;
        line-height: 1.3;
    }

    .mesa-chat-destino-linha select {
        font-size: 12px;
    }

    .mesa-chat-escrever input {
        font-size: 13px;
    }

    .mesa-chat-aviso-geral {
        top: 53px;
    }

    .mesa-chat-aviso-geral strong {
        font-size: 11px;
    }

    .mesa-chat-aviso-geral span {
        font-size: 13px;
    }

    .mesa-chat-balao-jogador strong {
        font-size: 9px;
    }

    .mesa-chat-balao-jogador span {
        font-size: 11px;
    }
}


/* =========================================================
   CHAT - AJUSTES FINAIS DE CONVERSA
========================================================= */

.mesa-chat-mensagem-outro .mesa-chat-mensagem-topo {
    padding-right: 18px;
}

.mesa-chat-mensagem-propria .mesa-chat-mensagem-topo {
    padding-right: 0;
}

.mesa-chat-mensagem-propria .mesa-chat-mensagem-topo strong,
.mesa-chat-mensagem-propria .mesa-chat-mensagem-topo > span,
.mesa-chat-mensagem-propria p {
    text-align: right;
}

.mesa-chat-mensagem-acoes {
    top: 6px;
    right: 6px;
}

.mesa-chat-mensagem-acoes button {
    width: 16px;
    height: 16px;
    font-size: 7px;
}

/* Mute/autofalante removido da interface. */
.mesa-chat-silenciar-alvo {
    display: none !important;
}

/* Antigo painel grande de "Chat desligado" não aparece mais. */
.mesa-chat-desligado {
    display: none !important;
}

.mesa-chat-balao-jogador-flutuante {
    position: fixed !important;
    z-index: 120500 !important;
    min-width: 125px;
    max-width: 190px;
    padding: 9px 30px 9px 10px !important;
    border: 1px solid rgba(255,208,106,.30) !important;
    border-radius: 12px !important;
    display: block;
    background: rgba(7,7,7,.98) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.50) !important;
    transform: none !important;
    pointer-events: auto !important;
    text-align: left !important;
}

.mesa-chat-balao-jogador-flutuante strong,
.mesa-chat-balao-jogador-flutuante span {
    display: block;
}

.mesa-chat-balao-jogador-flutuante strong {
    color: #ffd06a;
    font-size: 9px;
    font-weight: 950;
    line-height: 1.15;
}

.mesa-chat-balao-jogador-flutuante span {
    margin-top: 4px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.mesa-chat-dialogo-fechar {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    color: #aaa;
    cursor: pointer;
    pointer-events: auto;
}

.mesa-chat-dialogo-fechar i {
    font-size: 9px;
}

.mesa-chat-dialogo-fechar:active {
    transform: scale(.92);
}

.mesa-chat-aviso-geral {
    /* O X fica sobreposto no canto e NÃO desloca o texto central. */
    padding: 9px 12px;
}

.mesa-chat-aviso-geral .mesa-chat-dialogo-fechar {
    position: absolute;
    top: 6px;
    right: 6px;
}

@media (max-width:700px) {
    .mesa-chat-historico {
        min-height: 145px;
        max-height: min(31dvh,255px);
        margin: 8px;
    }

    .mesa-chat-mensagem {
        max-width: 86%;
    }

    .mesa-chat-botao-estado {
        min-width: 88px;
        padding: 0 9px;
        font-size: 9px;
    }
}


/* =========================================================
   CHAT - LADOS E CORES DEFINITIVOS
   Eu = direita / verde
   Outros = esquerda / laranja
========================================================= */

.mesa-chat-mensagem-propria,
.mesa-chat-mensagem-propria.mesa-chat-mensagem-direta {
    align-self: flex-end !important;
    border-color: rgba(215,255,63,.28) !important;
    border-radius: 13px 13px 4px 13px !important;
    background: rgba(215,255,63,.11) !important;
}

.mesa-chat-mensagem-propria .mesa-chat-mensagem-topo strong,
.mesa-chat-mensagem-propria.mesa-chat-mensagem-direta .mesa-chat-mensagem-topo strong {
    color: #d7ff3f !important;
}

.mesa-chat-mensagem-outro,
.mesa-chat-mensagem-outro.mesa-chat-mensagem-direta {
    align-self: flex-start !important;
    border-color: rgba(255,173,66,.28) !important;
    border-radius: 13px 13px 13px 4px !important;
    background: rgba(255,173,66,.09) !important;
}

.mesa-chat-mensagem-outro .mesa-chat-mensagem-topo strong,
.mesa-chat-mensagem-outro.mesa-chat-mensagem-direta .mesa-chat-mensagem-topo strong {
    color: #ffb347 !important;
}

/* Minha caixa de diálogo também fica verde; a dos outros, laranja. */
.mesa-chat-balao-jogador-flutuante {
    border-color: rgba(255,173,66,.34) !important;
}

.mesa-chat-balao-jogador-flutuante strong {
    color: #ffb347 !important;
}


/* =========================================================
   AJUSTE MOBILE — SALDOS E AÇÕES DA CARTEIRA
========================================================= */
@media (max-width: 480px) {
    .conta-carteira strong {
        font-size: 18px;
    }

    .carteira-saldo > strong {
        font-size: 18px;
    }

    .carteira-acoes-novas .carteira-acoes-duplas {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .conta-carteira strong,
    .carteira-saldo > strong {
        font-size: 17px;
    }
}

/* Carteira — venda acima do saldo */
.carteira-conversao-venda.carteira-conversao-erro{border-color:rgba(255,79,79,.58)!important;background:rgba(255,79,79,.09)!important;box-shadow:0 0 0 1px rgba(255,79,79,.06) inset}
.carteira-conversao-venda.carteira-conversao-erro span,.carteira-conversao-venda.carteira-conversao-erro strong{color:#ff6262!important}
.carteira-pix-conteudo input.carteira-input-erro{border-color:#ff6262!important;box-shadow:0 0 0 1px rgba(255,98,98,.16)!important}
.carteira-venda-limite{margin:8px 2px 0;text-align:center;color:#ff6262;font-size:12px;font-weight:800;line-height:1.35}
.carteira-pix-confirmar:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.65)}

/* =========================================================
   SITE INSTITUCIONAL — HOME FULL WIDTH
========================================================= */
.app-view-home {
    max-width: none;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 9%, rgba(215,255,63,.09), transparent 24%),
        radial-gradient(circle at 14% 42%, rgba(215,255,63,.035), transparent 26%),
        #070707;
}

.app-view-home > .instalar-app {
    display: none !important;
}

.app-view-home .topo {
    min-height: 86px;
    padding: 16px max(24px, calc((100vw - 1380px) / 2));
    background: rgba(7,7,7,.82);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.app-view-home .topo::after {
    left: max(24px, calc((100vw - 1380px) / 2));
    width: 150px;
}

.app-view-home .topo-logo {
    flex: 0 0 auto;
}

.app-view-home .topo-logo-img {
    width: 145px;
}

.topo-site-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin: 0 auto;
}

.topo-site-nav a {
    position: relative;
    padding: 10px 0;
    color: #a7a7a7;
    font-size: 12px;
    font-weight: 800;
    transition: color .18s ease;
}

.topo-site-nav a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 2px;
    height: 2px;
    border-radius: 999px;
    background: #d7ff3f;
    transition: right .18s ease;
}

.topo-site-nav a:hover {
    color: #fff;
}

.topo-site-nav a:hover::after {
    right: 0;
}

.site-home {
    width: 100%;
    overflow: hidden;
}

.site-home-hero {
    position: relative;
    width: min(1380px, calc(100% - 48px));
    min-height: 690px;
    margin: 0 auto;
    padding: 78px 24px 72px;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr);
    align-items: center;
    gap: 54px;
}

.site-home-hero-glow {
    position: absolute;
    right: -120px;
    top: 40px;
    width: 650px;
    height: 650px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(215,255,63,.14) 0%, rgba(215,255,63,.05) 33%, transparent 68%);
    filter: blur(4px);
    pointer-events: none;
}

.site-home-hero-conteudo,
.site-home-hero-visual {
    position: relative;
    z-index: 2;
}

.site-home-eyebrow,
.site-home-kicker {
    color: #d7ff3f;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 1.25px;
    text-transform: uppercase;
}

.site-home-eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
}

.site-home-eyebrow span {
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: #d7ff3f;
    box-shadow: 0 0 16px rgba(215,255,63,.45);
}

.site-home-hero h1 {
    max-width: 720px;
    margin: 19px 0 0;
    color: #fff;
    font-size: clamp(64px, 6.5vw, 104px);
    font-weight: 950;
    line-height: .88;
    letter-spacing: -5px;
}

.site-home-hero h1 em {
    display: block;
    color: #d7ff3f;
    font-style: normal;
}

.site-home-hero-texto {
    max-width: 650px;
    margin: 27px 0 0;
    color: #a3a3a3;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.68;
}

.site-home-hero-texto strong {
    color: #fff;
    font-weight: 900;
}

.site-home-hero-acoes {
    margin-top: 34px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.site-home-btn {
    min-height: 56px;
    padding: 0 22px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 12px;
    font-weight: 950;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.site-home-btn:hover {
    transform: translateY(-2px);
}

.site-home-btn-principal {
    border-color: #d7ff3f;
    background: #d7ff3f;
    color: #090909;
    box-shadow: 0 18px 50px rgba(215,255,63,.14);
}

.site-home-btn-secundario {
    background: rgba(255,255,255,.045);
    color: #fff;
}

.site-home-btn-secundario:hover {
    border-color: rgba(215,255,63,.28);
    background: rgba(215,255,63,.07);
}

.site-home-hero-pontos {
    margin-top: 27px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
}

.site-home-hero-pontos span {
    color: #777;
    font-size: 12px;
    font-weight: 800;
}

.site-home-hero-pontos i {
    margin-right: 6px;
    color: #d7ff3f;
    font-size: 10px;
}

.site-home-hero-visual {
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-home-visual-orbita {
    position: absolute;
    border: 1px solid rgba(215,255,63,.10);
    border-radius: 50%;
}

.site-home-visual-orbita-1 {
    width: 490px;
    height: 490px;
}

.site-home-visual-orbita-2 {
    width: 375px;
    height: 375px;
    border-style: dashed;
    border-color: rgba(255,255,255,.07);
    transform: rotate(18deg);
}

.site-home-carta {
    position: absolute;
    width: 250px;
    height: 355px;
    border-radius: 28px;
}

.site-home-carta-fundo {
    top: 75px;
    left: 50%;
    margin-left: -175px;
    border: 1px solid rgba(215,255,63,.19);
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(145deg, rgba(215,255,63,.10), rgba(215,255,63,.015)),
        #11140e;
    color: rgba(215,255,63,.24);
    transform: rotate(-13deg);
    box-shadow: 0 38px 90px rgba(0,0,0,.44);
}

.site-home-carta-fundo i {
    font-size: 84px;
}

.site-home-carta-mini {
    position: absolute;
    left: 22px;
    bottom: 22px;
    color: rgba(255,255,255,.22);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 2px;
}

.site-home-carta-as {
    top: 70px;
    left: 50%;
    margin-left: -72px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 18%, rgba(215,255,63,.20), transparent 25%),
        linear-gradient(145deg, #ffffff, #e9ece3);
    color: #0a0a0a;
    transform: rotate(10deg);
    box-shadow: 0 45px 100px rgba(0,0,0,.56), 0 0 60px rgba(215,255,63,.08);
}

.site-home-carta-as::before {
    content: '';
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 21px;
}

.site-home-carta-canto {
    position: absolute;
    top: 27px;
    left: 27px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: .9;
}

.site-home-carta-canto strong {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 48px;
    font-weight: 800;
}

.site-home-carta-canto i {
    margin-top: 6px;
    font-size: 24px;
}

.site-home-carta-naipe {
    position: absolute;
    left: 50%;
    top: 49%;
    width: 104px;
    height: 104px;
    object-fit: contain;
    opacity: .94;
    transform: translate(-50%, -50%);
}

.site-home-carta-marca {
    position: absolute;
    right: 25px;
    bottom: 27px;
    width: 93px;
    opacity: .88;
}

.site-home-visual-selo {
    position: absolute;
    right: 6px;
    bottom: 62px;
    min-width: 190px;
    padding: 13px 16px;
    border: 1px solid rgba(215,255,63,.16);
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(11,13,10,.90);
    box-shadow: 0 20px 55px rgba(0,0,0,.36);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.site-home-visual-selo > i {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #090909;
    font-size: 14px;
}

.site-home-visual-selo small,
.site-home-visual-selo strong {
    display: block;
}

.site-home-visual-selo small {
    color: #777;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.site-home-visual-selo strong {
    margin-top: 4px;
    color: #fff;
    font-size: 12px;
    font-weight: 950;
}

.site-home-faixa {
    width: min(1320px, calc(100% - 48px));
    min-height: 92px;
    margin: 0 auto;
    padding: 18px 30px;
    border: 1px solid rgba(215,255,63,.13);
    border-radius: 30px;
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    background:
        radial-gradient(circle at 50% 100%, rgba(215,255,63,.07), transparent 55%),
        rgba(255,255,255,.035);
}

.site-home-faixa > i {
    color: rgba(215,255,63,.30);
    font-size: 9px;
}

.site-home-faixa div {
    text-align: center;
}

.site-home-faixa strong,
.site-home-faixa span {
    display: block;
}

.site-home-faixa strong {
    color: #fff;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .7px;
}

.site-home-faixa span {
    margin-top: 6px;
    color: #777;
    font-size: 11px;
    font-weight: 750;
}

.site-home-faixa-quebra {
    display: none;
}

.site-home-secao {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    padding: 118px 0 0;
}

.site-home-secao-cabecalho {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .65fr);
    align-items: end;
    gap: 72px;
}

.site-home-secao h2,
.site-home-clube-chamada h2,
.site-home-manifesto h2,
.site-home-cta-final h2 {
    margin: 12px 0 0;
    color: #fff;
    font-size: clamp(36px, 4vw, 62px);
    font-weight: 950;
    line-height: .98;
    letter-spacing: -2.7px;
}

.site-home-secao-cabecalho > p,
.site-home-clube-chamada-conteudo > p,
.site-home-manifesto > p,
.site-home-cta-final p {
    margin: 0;
    color: #8d8d8d;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.72;
}

.site-home-grid {
    margin-top: 42px;
    display: grid;
    gap: 15px;
}

.site-home-grid-3 {
    grid-template-columns: repeat(3, minmax(0,1fr));
}

.site-home-grid-4 {
    grid-template-columns: repeat(4, minmax(0,1fr));
}

.site-home-card {
    position: relative;
    min-height: 330px;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(150deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.site-home-card:hover {
    transform: translateY(-4px);
    border-color: rgba(215,255,63,.18);
    background: linear-gradient(150deg, rgba(215,255,63,.065), rgba(255,255,255,.02));
}

.site-home-card-destaque {
    border-color: rgba(215,255,63,.17);
    background:
        radial-gradient(circle at 100% 0%, rgba(215,255,63,.13), transparent 36%),
        linear-gradient(150deg, rgba(215,255,63,.07), rgba(255,255,255,.02));
}

.site-home-card-icone {
    width: 51px;
    height: 51px;
    border: 1px solid rgba(215,255,63,.16);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215,255,63,.08);
    color: #d7ff3f;
    font-size: 17px;
}

.site-home-card-numero {
    position: absolute;
    top: 29px;
    right: 28px;
    color: rgba(255,255,255,.18);
    font-size: 12px;
    font-weight: 950;
}

.site-home-card h3,
.site-home-modulo h3 {
    margin: 56px 0 0;
    color: #fff;
    font-size: 23px;
    font-weight: 950;
    letter-spacing: -.7px;
}

.site-home-card p,
.site-home-modulo p {
    margin: 13px 0 0;
    color: #858585;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.7;
}

.site-home-card a {
    position: absolute;
    left: 28px;
    bottom: 27px;
    color: #d7ff3f;
    font-size: 11px;
    font-weight: 950;
}

.site-home-card a i {
    margin-left: 7px;
}

.site-home-clube-chamada {
    position: relative;
    width: min(1320px, calc(100% - 48px));
    min-height: 500px;
    margin: 118px auto 0;
    padding: 55px 62px;
    border: 1px solid rgba(215,255,63,.14);
    border-radius: 42px;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 72px;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 18% 50%, rgba(215,255,63,.12), transparent 40%),
        linear-gradient(135deg, #0b0e09, #080808 64%);
}

.site-home-clube-chamada::after {
    content: '♠';
    position: absolute;
    right: -70px;
    bottom: -120px;
    color: rgba(215,255,63,.025);
    font-family: Georgia, serif;
    font-size: 430px;
    line-height: 1;
    transform: rotate(-10deg);
}

.site-home-clube-chamada-visual,
.site-home-clube-chamada-conteudo {
    position: relative;
    z-index: 2;
}

.site-home-clube-chamada-visual {
    min-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-home-mesa-oval {
    position: relative;
    width: min(100%, 560px);
    aspect-ratio: 1.72 / 1;
    border: 2px solid rgba(215,255,63,.20);
    border-radius: 50%;
    background:
        radial-gradient(ellipse at 50% 42%, rgba(215,255,63,.11), transparent 54%),
        linear-gradient(180deg, #11190d, #0a0e08);
    box-shadow:
        inset 0 0 0 13px rgba(0,0,0,.28),
        inset 0 0 70px rgba(0,0,0,.38),
        0 35px 90px rgba(0,0,0,.45),
        0 0 60px rgba(215,255,63,.04);
    transform: perspective(900px) rotateX(14deg) rotateZ(-4deg);
}

.site-home-mesa-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(215,255,63,.10);
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215,255,63,.045);
    color: rgba(215,255,63,.48);
    font-size: 26px;
    transform: translate(-50%, -50%);
}

.site-home-mesa-lugar {
    position: absolute;
    width: 50px;
    height: 17px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    background: #0b0b0b;
    box-shadow: 0 9px 22px rgba(0,0,0,.35);
}

.site-home-mesa-lugar-1 { left: 12%; top: 18%; transform: rotate(26deg); }
.site-home-mesa-lugar-2 { right: 12%; top: 18%; transform: rotate(-26deg); }
.site-home-mesa-lugar-3 { right: 4%; top: 50%; transform: translateY(-50%) rotate(-4deg); }
.site-home-mesa-lugar-4 { right: 18%; bottom: 11%; transform: rotate(22deg); }
.site-home-mesa-lugar-5 { left: 18%; bottom: 11%; transform: rotate(-22deg); }
.site-home-mesa-lugar-6 { left: 4%; top: 50%; transform: translateY(-50%) rotate(4deg); }

.site-home-clube-chamada-conteudo h2 {
    max-width: 520px;
}

.site-home-clube-chamada-conteudo > p {
    max-width: 510px;
    margin-top: 22px;
}

.site-home-link-forte {
    margin-top: 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #d7ff3f;
    font-size: 12px;
    font-weight: 950;
}

.site-home-link-forte i {
    transition: transform .16s ease;
}

.site-home-link-forte:hover i {
    transform: translateX(4px);
}

.site-home-modulo {
    min-height: 280px;
    padding: 27px;
    border-top: 1px solid rgba(215,255,63,.17);
    background: linear-gradient(180deg, rgba(215,255,63,.032), transparent 70%);
}

.site-home-modulo > i {
    color: #d7ff3f;
    font-size: 22px;
}

.site-home-modulo h3 {
    margin-top: 58px;
    font-size: 18px;
}

.site-home-criar-clube {
    margin-top: 26px;
    padding: 30px 32px;
    border: 1px solid rgba(215,255,63,.14);
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    background:
        radial-gradient(circle at 0% 50%, rgba(215,255,63,.08), transparent 42%),
        linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}

.site-home-criar-clube-conteudo {
    min-width: 0;
    flex: 1;
}

.site-home-criar-clube h3 {
    margin: 9px 0 0;
    color: #fff;
    font-size: 24px;
    font-weight: 950;
    letter-spacing: -.8px;
}

.site-home-criar-clube-passos {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.site-home-criar-clube-passos span {
    min-height: 35px;
    padding: 0 13px 0 8px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #929292;
    font-size: 11px;
    font-weight: 750;
}

.site-home-criar-clube-passos b {
    width: 23px;
    height: 23px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #101010;
    font-size: 10px;
    font-weight: 950;
}

.site-home-criar-clube-passos strong {
    color: #fff;
    font-weight: 900;
}

.site-home-criar-clube-botao {
    width: auto;
    min-width: 190px;
    flex: 0 0 auto;
}

.site-home-manifesto {
    position: relative;
    width: min(1320px, calc(100% - 48px));
    margin: 125px auto 0;
    padding: 76px 0;
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.07);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, .65fr);
    align-items: end;
    gap: 90px;
    overflow: hidden;
}

.site-home-manifesto-marca {
    position: absolute;
    left: 44%;
    top: 50%;
    color: rgba(215,255,63,.022);
    font-family: Georgia, serif;
    font-size: 320px;
    line-height: 1;
    transform: translate(-50%, -50%) rotate(8deg);
    pointer-events: none;
}

.site-home-manifesto h2 {
    position: relative;
    z-index: 2;
}

.site-home-manifesto > p {
    position: relative;
    z-index: 2;
    max-width: 430px;
}

.site-home-cta-final {
    width: min(1320px, calc(100% - 48px));
    min-height: 260px;
    margin: 118px auto 0;
    padding: 45px 52px;
    border: 1px solid rgba(215,255,63,.19);
    border-radius: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    background:
        radial-gradient(circle at 86% 20%, rgba(215,255,63,.16), transparent 28%),
        linear-gradient(135deg, rgba(215,255,63,.075), rgba(255,255,255,.025));
}

.site-home-cta-final h2 {
    font-size: clamp(34px, 3.5vw, 54px);
}

.site-home-cta-final p {
    margin-top: 13px;
}

.site-home-footer {
    width: min(1320px, calc(100% - 48px));
    min-height: 125px;
    margin: 48px auto 0;
    padding: 28px 0 38px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    color: #5d5d5d;
    font-size: 10px;
    font-weight: 800;
}

.site-home-footer img {
    width: 118px;
}

.site-home-footer span {
    text-align: center;
}

.site-home-footer a {
    justify-self: end;
    transition: color .16s ease;
}

.site-home-footer a:hover {
    color: #d7ff3f;
}

/* =========================================================
   AMBIENTE DO CLUBE — DESKTOP LARGO / MESA OVAL
========================================================= */
@media (min-width: 900px) {
    .app-view-clube,
    .app-view-clube_torneios,
    .app-view-torneios {
        max-width: none;
        overflow: hidden;
        background:
            radial-gradient(ellipse at 50% 300px, rgba(215,255,63,.075), transparent 37%),
            linear-gradient(180deg, #070707 0%, #080a07 38%, #070707 100%);
    }

    .app-view-clube::before,
    .app-view-clube_torneios::before,
    .app-view-torneios::before {
        content: '';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 128px;
        width: min(1640px, 98vw);
        height: 700px;
        border: 1px solid rgba(215,255,63,.10);
        border-radius: 50%;
        background:
            radial-gradient(ellipse at 50% 42%, rgba(215,255,63,.085), transparent 47%),
            linear-gradient(180deg, rgba(19,27,14,.55), rgba(8,10,7,.22));
        box-shadow:
            inset 0 0 0 20px rgba(0,0,0,.16),
            inset 0 0 100px rgba(0,0,0,.36),
            0 40px 120px rgba(0,0,0,.24);
        transform: translateX(-50%);
        pointer-events: none;
    }

    .app-view-clube::after,
    .app-view-clube_torneios::after,
    .app-view-torneios::after {
        content: '♠';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 305px;
        color: rgba(215,255,63,.025);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 285px;
        line-height: 1;
        transform: translateX(-50%) rotate(-7deg);
        pointer-events: none;
    }

    .app-view-clube > *,
    .app-view-clube_torneios > *,
    .app-view-torneios > * {
        position: relative;
        z-index: 1;
    }

    .app-view-clube .topo,
    .app-view-clube_torneios .topo,
    .app-view-torneios .topo {
        padding-right: max(28px, calc((100vw - 1560px) / 2));
        padding-left: max(28px, calc((100vw - 1560px) / 2));
        background: rgba(6,6,6,.78);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .app-view-clube .topo::after,
    .app-view-clube_torneios .topo::after,
    .app-view-torneios .topo::after {
        left: max(28px, calc((100vw - 1560px) / 2));
    }

    .app-view-clube > .instalar-app,
    .app-view-clube_torneios > .instalar-app,
    .app-view-torneios > .instalar-app {
        width: min(1560px, calc(100% - 48px));
        margin: 18px auto 0;
    }

    .app-view-clube .home-page,
    .app-view-clube_torneios .home-page,
    .app-view-torneios .home-page {
        position: relative;
        width: min(1600px, calc(100% - 40px));
        margin: 0 auto;
        padding: 36px 24px 145px;
    }

    .app-view-clube_torneios .home-secao,
    .app-view-torneios .home-secao {
        border-color: rgba(215,255,63,.12);
        background: rgba(8,10,7,.72);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    .app-view-clube .clube-mesas,
    .app-view-clube_torneios .home-secao,
    .app-view-torneios .home-secao {
        margin-top: 30px;
        padding: 28px;
        border: 1px solid rgba(255,255,255,.055);
        border-radius: 34px;
        box-shadow: 0 28px 80px rgba(0,0,0,.18);
    }

    .app-view-clube .home-niveis,
    .app-view-clube_torneios .home-niveis,
    .app-view-torneios .home-niveis {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 16px;
    }

    .app-view-clube .home-nivel-card,
    .app-view-clube_torneios .home-nivel-card,
    .app-view-torneios .home-nivel-card {
        min-height: 100%;
        background: rgba(10,11,9,.84);
        box-shadow: 0 18px 45px rgba(0,0,0,.22);
    }

    .app-view-clube .menu,
    .app-view-clube_torneios .menu,
    .app-view-torneios .menu {
        bottom: 16px;
        width: min(1520px, calc(100% - 64px));
        max-width: 1520px;
        padding: 9px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 24px;
        background: rgba(9,9,9,.92);
        box-shadow: 0 20px 55px rgba(0,0,0,.48);
    }

    .app-view-clube .menu-item,
    .app-view-clube_torneios .menu-item,
    .app-view-torneios .menu-item {
        min-height: 58px;
    }
}

@media (max-width: 899px) {
    .app-view-home {
        max-width: 560px;
        margin: 0 auto;
    }

    .app-view-home .topo {
        min-height: 75px;
        padding: 15px 18px;
    }

    .app-view-home .topo::after {
        left: 18px;
        width: 120px;
    }

    .app-view-home .topo-logo-img {
        width: 120px;
    }

    .topo-site-nav {
        display: none;
    }

    .site-home-hero {
        width: 100%;
        min-height: 0;
        padding: 46px 18px 54px;
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .site-home-hero h1 {
        font-size: clamp(49px, 15vw, 72px);
        letter-spacing: -3.5px;
    }

    .site-home-hero-texto {
        margin-top: 21px;
        font-size: 14px;
        line-height: 1.62;
    }

    .site-home-hero-acoes {
        margin-top: 27px;
        display: grid;
        grid-template-columns: 1fr;
    }

    .site-home-btn {
        width: 100%;
        min-height: 54px;
    }

    .site-home-hero-pontos {
        gap: 9px 14px;
        justify-content: center;
        text-align: center;
    }

    .site-home-hero-pontos span {
        font-size: 13px;
    }

    .site-home-hero-pontos i {
        font-size: 11px;
    }

    .site-home-hero-visual {
        min-height: 365px;
    }

    .site-home-visual-orbita-1 {
        width: 340px;
        height: 340px;
    }

    .site-home-visual-orbita-2 {
        width: 260px;
        height: 260px;
    }

    .site-home-carta {
        width: 172px;
        height: 246px;
        border-radius: 21px;
    }

    .site-home-carta-fundo {
        top: 54px;
        margin-left: -123px;
    }

    .site-home-carta-as {
        top: 50px;
        margin-left: -52px;
    }

    .site-home-carta-canto {
        top: 20px;
        left: 20px;
    }

    .site-home-carta-canto strong {
        font-size: 34px;
    }

    .site-home-carta-canto i {
        font-size: 17px;
    }

    .site-home-carta-naipe {
        width: 76px;
        height: 76px;
    }

    .site-home-carta-marca {
        right: 18px;
        bottom: 21px;
        width: 67px;
    }

    .site-home-visual-selo {
        right: 10px;
        bottom: 36px;
        min-width: 170px;
    }

    .site-home-faixa {
        width: calc(100% - 36px);
        padding: 17px 13px;
        border-radius: 23px;
        gap: 8px;
    }

    .site-home-faixa strong {
        font-size: 12px;
    }

    .site-home-faixa span {
        font-size: 10px;
        line-height: 1.35;
    }

    .site-home-faixa > i {
        font-size: 8px;
    }

    .site-home-faixa-quebra {
        display: block;
    }

    .site-home-secao {
        width: calc(100% - 36px);
        padding-top: 78px;
    }

    .site-home-secao-cabecalho {
        grid-template-columns: 1fr;
        gap: 19px;
    }

    .site-home-secao h2,
    .site-home-clube-chamada h2,
    .site-home-manifesto h2,
    .site-home-cta-final h2 {
        font-size: 36px;
        letter-spacing: -1.7px;
    }

    .site-home-grid-3,
    .site-home-grid-4 {
        grid-template-columns: 1fr;
    }

    .site-home-card {
        min-height: 286px;
        padding: 23px;
        border-radius: 24px;
    }

    .site-home-card h3 {
        margin-top: 46px;
    }

    .site-home-card a {
        left: 23px;
        bottom: 23px;
    }

    .site-home-clube-chamada {
        width: calc(100% - 36px);
        min-height: 0;
        margin-top: 78px;
        padding: 31px 23px 35px;
        border-radius: 30px;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .site-home-clube-chamada-visual {
        min-height: 240px;
    }

    .site-home-mesa-oval {
        width: 100%;
    }

    .site-home-secao-clubes {
        padding-top: 78px;
    }

    .site-home-modulo {
        min-height: 220px;
        padding: 22px 3px;
    }

    .site-home-modulo h3 {
        margin-top: 38px;
    }

    .site-home-criar-clube {
        margin-top: 20px;
        padding: 24px 20px;
        border-radius: 24px;
        flex-direction: column;
        align-items: stretch;
        gap: 22px;
    }

    .site-home-criar-clube h3 {
        font-size: 22px;
    }

    .site-home-criar-clube-passos {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .site-home-criar-clube-passos span {
        min-height: 39px;
        font-size: 13px;
    }

    .site-home-criar-clube-passos b {
        width: 25px;
        height: 25px;
        font-size: 11px;
    }

    .site-home-criar-clube-botao {
        width: 100%;
        min-width: 0;
    }

    .site-home-manifesto {
        width: calc(100% - 36px);
        margin-top: 78px;
        padding: 55px 0;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .site-home-manifesto-marca {
        left: 68%;
        font-size: 230px;
    }

    .site-home-cta-final {
        width: calc(100% - 36px);
        min-height: 0;
        margin-top: 78px;
        padding: 31px 23px;
        border-radius: 28px;
        flex-direction: column;
        align-items: stretch;
        gap: 26px;
    }

    .site-home-footer {
        width: calc(100% - 36px);
        min-height: 150px;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 13px;
        text-align: center;
    }

    .site-home-footer a {
        justify-self: center;
    }
}

@media (max-width: 390px) {
    .site-home-hero h1 {
        font-size: 49px;
    }

    .site-home-hero-visual {
        min-height: 330px;
    }

    .site-home-visual-orbita-1 {
        width: 305px;
        height: 305px;
    }

    .site-home-visual-orbita-2 {
        width: 235px;
        height: 235px;
    }

    .site-home-visual-selo {
        right: 0;
        min-width: 155px;
        padding: 10px 12px;
    }
}


/* =========================================================
   POLÍTICAS — VISUAL CASH / JADES POR CLUBE
========================================================= */

.app-view-politicas {
    background:
        radial-gradient(circle at 84% 9%, rgba(215,255,63,.085), transparent 28%),
        radial-gradient(circle at 8% 34%, rgba(215,255,63,.035), transparent 24%),
        #080808;
}

.politicas-page {
    max-width: 980px;
    margin: 0 auto;
    padding: 18px 18px 52px;
}

.politicas-voltar-topo {
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #cfcfcf;
    font-size: 13px;
    font-weight: 900;
}

.politicas-voltar-topo i {
    font-size: 13px;
}

.politicas-topo {
    position: relative;
    overflow: hidden;
    padding: 30px 28px;
    border: 1px solid rgba(215,255,63,.17);
    border-radius: 30px;
    background:
        linear-gradient(145deg, rgba(215,255,63,.075), rgba(255,255,255,.025) 46%, rgba(255,255,255,.012));
    box-shadow:
        0 24px 65px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.035);
}

.politicas-topo::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    right: -90px;
    bottom: -150px;
    border: 1px solid rgba(215,255,63,.14);
    border-radius: 50%;
}

.politicas-topo-brilho {
    position: absolute;
    width: 220px;
    height: 220px;
    right: -65px;
    top: -90px;
    border-radius: 50%;
    background: rgba(215,255,63,.09);
    filter: blur(38px);
    pointer-events: none;
}

.politicas-icone {
    position: relative;
    z-index: 1;
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    border: 1px solid rgba(215,255,63,.28);
    border-radius: 18px;
    background: rgba(215,255,63,.12);
    color: #d7ff3f;
    box-shadow: 0 12px 28px rgba(215,255,63,.08);
}

.politicas-icone i {
    font-size: 21px;
}

.politicas-topo small,
.politicas-topo h1,
.politicas-topo p {
    position: relative;
    z-index: 1;
}

.politicas-topo small {
    font-size: 11px;
    letter-spacing: .8px;
}

.politicas-topo h1 {
    max-width: 700px;
    font-size: 29px;
    letter-spacing: -1px;
}

.politicas-topo p {
    max-width: 720px;
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.65;
}

.politicas-jades {
    margin-top: 16px;
    padding: 24px;
    border: 1px solid rgba(215,255,63,.14);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(215,255,63,.055), transparent 30%),
        rgba(255,255,255,.025);
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.politicas-jades-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.politicas-jades-cabecalho small {
    display: block;
    margin-bottom: 7px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .75px;
}

.politicas-jades-cabecalho h2 {
    margin: 0;
    color: #fff;
    font-size: 21px;
    font-weight: 950;
    letter-spacing: -.6px;
}

.politicas-jades-cabecalho > i {
    width: 48px;
    height: 48px;
    border: 1px solid rgba(215,255,63,.2);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #d7ff3f;
    background: rgba(215,255,63,.07);
    font-size: 18px;
}

.politicas-jades-intro {
    max-width: 760px;
    margin: 13px 0 0;
    color: #9a9a9a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
}

.politicas-jades-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.politicas-jades-item {
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 20px;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    background: linear-gradient(145deg, rgba(255,255,255,.038), rgba(255,255,255,.014));
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.politicas-jades-item:hover {
    transform: translateY(-2px);
    border-color: rgba(215,255,63,.19);
    background: linear-gradient(145deg, rgba(215,255,63,.045), rgba(255,255,255,.018));
}

.politicas-jades-item-icone {
    width: 39px;
    height: 39px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #d7ff3f;
    background: rgba(215,255,63,.085);
    font-size: 14px;
}

.politicas-jades-item > div {
    min-width: 0;
}

.politicas-jades-item strong {
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 950;
}

.politicas-jades-item p {
    margin: 7px 0 0;
    color: #8f8f8f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.55;
}

.politicas-jades-aviso {
    margin-top: 14px;
    padding: 14px 15px;
    border: 1px solid rgba(215,255,63,.15);
    border-radius: 17px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: rgba(215,255,63,.035);
}

.politicas-jades-aviso i {
    margin-top: 2px;
    color: #d7ff3f;
}

.politicas-jades-aviso p {
    margin: 0;
    color: #a0a0a0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.55;
}

.politicas-card {
    margin-top: 16px;
    padding: 7px 22px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.014));
    box-shadow: 0 18px 42px rgba(0,0,0,.17);
}

.politicas-taxas {
    border-color: rgba(215,255,63,.12);
}

.politicas-taxas-cabecalho {
    padding-top: 22px;
}

.politicas-taxas-cabecalho h2 {
    font-size: 19px;
    letter-spacing: -.35px;
}

.politicas-taxas-cabecalho p {
    font-size: 13px;
    line-height: 1.6;
}

.politicas-taxas-linha {
    padding: 15px 0;
    font-size: 12px;
}

.politicas-taxas-linha strong {
    font-size: 13px;
}

.politicas-taxas-observacao {
    margin: 14px 0 18px;
    padding: 14px;
    border-radius: 17px;
}

.politicas-taxas-observacao p {
    font-size: 12px;
}

.politicas-regras .politicas-item {
    position: relative;
    padding: 21px 0;
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    gap: 14px;
    align-items: flex-start;
}

.politicas-item-numero {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(215,255,63,.16);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d7ff3f;
    background: rgba(215,255,63,.045);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .4px;
}

.politicas-regras .politicas-item h2 {
    margin-bottom: 8px;
    font-size: 16px;
}

.politicas-regras .politicas-item p {
    font-size: 13px;
    line-height: 1.6;
}

.politicas-voltar {
    margin-top: 16px;
    min-height: 56px;
    border: 1px solid rgba(215,255,63,.3);
    border-radius: 17px;
    background: #d7ff3f;
    box-shadow: 0 15px 36px rgba(215,255,63,.09);
}

.politicas-voltar:hover {
    filter: brightness(1.035);
}

.app-view-politicas > .menu {
    display: none !important;
}

@media (max-width: 640px) {
    .politicas-page {
        padding: 14px 16px 34px;
    }

    .politicas-voltar-topo {
        margin-bottom: 13px;
        font-size: 14px;
    }

    .politicas-voltar-topo i {
        font-size: 14px;
    }

    .politicas-topo {
        padding: 25px 21px;
        border-radius: 25px;
    }

    .politicas-icone {
        width: 54px;
        height: 54px;
    }

    .politicas-topo small {
        font-size: 12px;
    }

    .politicas-topo h1 {
        font-size: 26px;
        line-height: 1.12;
    }

    .politicas-topo p {
        font-size: 14px;
        line-height: 1.62;
    }

    .politicas-jades {
        padding: 20px 17px;
        border-radius: 24px;
    }

    .politicas-jades-cabecalho h2 {
        font-size: 20px;
    }

    .politicas-jades-intro {
        font-size: 14px;
    }

    .politicas-jades-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .politicas-jades-item {
        padding: 16px;
    }

    .politicas-jades-item strong {
        font-size: 15px;
    }

    .politicas-jades-item p,
    .politicas-jades-aviso p {
        font-size: 13px;
    }

    .politicas-card {
        padding: 6px 17px;
        border-radius: 24px;
    }

    .politicas-taxas-cabecalho h2 {
        font-size: 18px;
    }

    .politicas-taxas-cabecalho p,
    .politicas-taxas-observacao p {
        font-size: 13px;
    }

    .politicas-taxas-linha {
        font-size: 12px;
    }

    .politicas-regras .politicas-item {
        grid-template-columns: 38px minmax(0,1fr);
        gap: 12px;
        padding: 19px 0;
    }

    .politicas-item-numero {
        width: 34px;
        height: 34px;
        font-size: 10px;
    }

    .politicas-regras .politicas-item h2 {
        font-size: 16px;
    }

    .politicas-regras .politicas-item p {
        font-size: 14px;
        line-height: 1.6;
    }

    .politicas-voltar {
        min-height: 56px;
        font-size: 14px;
    }
}


/* =========================================================
   POLÍTICAS — PADRÃO VISUAL CLUBE / CASH
   Containers amplos + efeitos discretos de mesa.
========================================================= */

.politicas-page {
    width: calc(100% - 48px);
    max-width: 1560px;
    margin: 0 auto;
    padding: 18px 0 58px;
}

.politicas-voltar-topo {
    margin: 0 0 14px 2px;
}

.politicas-topo,
.politicas-jades,
.politicas-taxas,
.politicas-regras {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.politicas-topo {
    padding: 30px 32px;
    border: 1px solid rgba(215,255,63,.20);
    border-radius: 30px;
    background:
        radial-gradient(circle at 100% 0%, rgba(215,255,63,.12), transparent 34%),
        linear-gradient(145deg, rgba(215,255,63,.035), rgba(255,255,255,.025) 48%, rgba(255,255,255,.012));
    box-shadow: 0 20px 50px rgba(0,0,0,.24);
}

.politicas-topo::before {
    content: "";
    position: absolute;
    z-index: 0;
    width: 520px;
    height: 520px;
    right: -250px;
    top: -300px;
    border: 1px solid rgba(215,255,63,.12);
    border-radius: 50%;
    pointer-events: none;
}

.politicas-topo::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 260px;
    height: 260px;
    right: -95px;
    bottom: -160px;
    border-radius: 50%;
    background: rgba(215,255,63,.025);
    pointer-events: none;
}

.politicas-topo > * {
    position: relative;
    z-index: 2;
}

.politicas-topo h1 {
    max-width: 920px;
    font-size: 32px;
}

.politicas-topo p {
    max-width: 900px;
    font-size: 14px;
}

.politicas-jades,
.politicas-taxas,
.politicas-regras {
    margin-top: 24px;
    padding: 30px;
    border: 1px solid rgba(215,255,63,.14);
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 10%, rgba(215,255,63,.065), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.014));
    box-shadow:
        0 22px 55px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.025);
}

.politicas-jades::before,
.politicas-taxas::before,
.politicas-regras::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    width: 112%;
    height: 84%;
    border: 1px solid rgba(215,255,63,.085);
    border-radius: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
}

.politicas-jades::after,
.politicas-taxas::after,
.politicas-regras::after {
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    color: rgba(215,255,63,.025);
    font-size: 180px;
    line-height: 1;
    transform: translate(-50%,-50%);
    pointer-events: none;
}

.politicas-jades::after {
    content: "♦";
}

.politicas-taxas::after {
    content: "♠";
}

.politicas-regras::after {
    content: "♣";
}

.politicas-jades > *,
.politicas-taxas > *,
.politicas-regras > * {
    position: relative;
    z-index: 2;
}

.politicas-jades-cabecalho h2 {
    font-size: 23px;
}

.politicas-jades-intro {
    max-width: 980px;
    font-size: 13px;
}

.politicas-jades-grid {
    margin-top: 24px;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.politicas-jades-item {
    min-height: 135px;
    padding: 20px;
    border-color: rgba(255,255,255,.08);
    border-radius: 23px;
    background:
        radial-gradient(circle at 100% 0%, rgba(215,255,63,.035), transparent 36%),
        rgba(7,9,7,.86);
    box-shadow: 0 14px 32px rgba(0,0,0,.18);
}

.politicas-jades-item:hover {
    transform: translateY(-2px);
    border-color: rgba(215,255,63,.22);
}

.politicas-jades-item-icone {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(215,255,63,.12);
    border-radius: 15px;
    background: rgba(215,255,63,.08);
}

.politicas-jades-item strong {
    font-size: 15px;
}

.politicas-jades-item p {
    font-size: 12px;
}

.politicas-jades-aviso {
    margin-top: 16px;
    padding: 15px 17px;
    background: rgba(7,9,7,.72);
}

.politicas-taxas {
    padding: 30px;
}

.politicas-taxas-cabecalho {
    padding: 0 0 20px;
    border-bottom: 1px solid rgba(255,255,255,.065);
}

.politicas-taxas-cabecalho h2 {
    font-size: 21px;
}

.politicas-taxas-cabecalho p {
    max-width: 1080px;
}

.politicas-taxas-lista {
    margin-top: 16px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
    gap: 11px;
}

.politicas-taxas-linha {
    min-height: 74px;
    padding: 15px 16px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 18px;
    grid-template-columns: 1fr auto;
    background: rgba(7,9,7,.82);
    box-shadow: 0 12px 26px rgba(0,0,0,.14);
}

.politicas-taxas-linha strong {
    grid-column: 1 / -1;
    padding-bottom: 3px;
    color: #d7ff3f;
    font-size: 14px;
}

.politicas-taxas-linha span {
    font-size: 11px;
}

.politicas-taxas-observacao {
    margin: 16px 0 0;
    background: rgba(7,9,7,.72);
}

.politicas-regras {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.politicas-regras .politicas-item,
.politicas-regras .politicas-item:last-child {
    min-height: 155px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 22px;
    display: grid;
    grid-template-columns: 44px minmax(0,1fr);
    gap: 14px;
    align-items: flex-start;
    background:
        radial-gradient(circle at 100% 0%, rgba(215,255,63,.028), transparent 36%),
        rgba(7,9,7,.84);
    box-shadow: 0 14px 30px rgba(0,0,0,.15);
    transition: transform .18s ease, border-color .18s ease;
}

.politicas-regras .politicas-item:hover {
    transform: translateY(-2px);
    border-color: rgba(215,255,63,.19);
}

.politicas-item-numero {
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background: rgba(215,255,63,.07);
    box-shadow: inset 0 0 0 1px rgba(215,255,63,.04);
}

.politicas-regras .politicas-item h2 {
    margin-top: 1px;
    font-size: 17px;
}

.politicas-regras .politicas-item p {
    font-size: 12px;
}

.politicas-voltar {
    min-height: 58px;
    margin-top: 20px;
    border-radius: 18px;
    box-shadow: 0 15px 36px rgba(215,255,63,.10);
}

@media (max-width: 900px) {
    .politicas-page {
        width: calc(100% - 30px);
    }

    .politicas-jades-grid,
    .politicas-regras {
        grid-template-columns: 1fr;
    }

    .politicas-regras .politicas-item,
    .politicas-regras .politicas-item:last-child {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .politicas-page {
        width: calc(100% - 24px);
        padding: 12px 0 38px;
    }

    .politicas-topo {
        padding: 24px 20px;
        border-radius: 26px;
    }

    .politicas-topo h1 {
        font-size: 27px;
    }

    .politicas-topo p {
        font-size: 14px;
    }

    .politicas-jades,
    .politicas-taxas,
    .politicas-regras {
        margin-top: 16px;
        padding: 18px;
        border-radius: 26px;
    }

    .politicas-jades::before,
    .politicas-taxas::before,
    .politicas-regras::before {
        width: 145%;
        height: 72%;
    }

    .politicas-jades::after,
    .politicas-taxas::after,
    .politicas-regras::after {
        font-size: 120px;
    }

    .politicas-jades-cabecalho h2 {
        font-size: 21px;
    }

    .politicas-jades-intro {
        font-size: 14px;
    }

    .politicas-jades-item {
        min-height: 0;
        padding: 17px;
        border-radius: 20px;
    }

    .politicas-jades-item strong {
        font-size: 16px;
    }

    .politicas-jades-item p,
    .politicas-jades-aviso p {
        font-size: 13px;
    }

    .politicas-taxas-cabecalho h2 {
        font-size: 20px;
    }

    .politicas-taxas-cabecalho p,
    .politicas-taxas-observacao p {
        font-size: 13px;
    }

    .politicas-taxas-lista {
        grid-template-columns: 1fr;
    }

    .politicas-taxas-linha {
        min-height: 0;
    }

    .politicas-taxas-linha span {
        font-size: 12px;
    }

    .politicas-regras .politicas-item,
    .politicas-regras .politicas-item:last-child {
        padding: 17px;
        grid-template-columns: 40px minmax(0,1fr);
        border-radius: 20px;
    }

    .politicas-regras .politicas-item h2 {
        font-size: 17px;
    }

    .politicas-regras .politicas-item p {
        font-size: 14px;
    }
}


/* =========================================================
   POLÍTICAS — CORREÇÃO FINAL: MESMO PALCO LARGO DO CASH
========================================================= */

@media (min-width: 900px) {
    .app-view-politicas {
        max-width: none;
        overflow: hidden;
        background:
            radial-gradient(ellipse at 50% 300px, rgba(215,255,63,.075), transparent 37%),
            linear-gradient(180deg, #070707 0%, #080a07 38%, #070707 100%);
    }

    .app-view-politicas::before {
        content: '';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 128px;
        width: min(1640px, 98vw);
        height: 700px;
        border: 1px solid rgba(215,255,63,.10);
        border-radius: 50%;
        background:
            radial-gradient(ellipse at 50% 42%, rgba(215,255,63,.085), transparent 47%),
            linear-gradient(180deg, rgba(19,27,14,.55), rgba(8,10,7,.22));
        box-shadow:
            inset 0 0 0 20px rgba(0,0,0,.16),
            inset 0 0 100px rgba(0,0,0,.36),
            0 40px 120px rgba(0,0,0,.24);
        transform: translateX(-50%);
        pointer-events: none;
    }

    .app-view-politicas::after {
        content: '♠';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 305px;
        color: rgba(215,255,63,.025);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 285px;
        line-height: 1;
        transform: translateX(-50%) rotate(-7deg);
        pointer-events: none;
    }

    .app-view-politicas > * {
        position: relative;
        z-index: 1;
    }

    .app-view-politicas .topo {
        padding-right: max(28px, calc((100vw - 1560px) / 2));
        padding-left: max(28px, calc((100vw - 1560px) / 2));
        background: rgba(6,6,6,.78);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .app-view-politicas .topo::after {
        left: max(28px, calc((100vw - 1560px) / 2));
    }

    .app-view-politicas > .instalar-app {
        width: min(1560px, calc(100% - 48px));
        margin: 18px auto 0;
    }

    .app-view-politicas .politicas-page {
        position: relative;
        width: min(1600px, calc(100% - 40px));
        max-width: none;
        margin: 0 auto;
        padding: 36px 24px 70px;
    }

    .app-view-politicas .politicas-topo,
    .app-view-politicas .politicas-jades,
    .app-view-politicas .politicas-taxas,
    .app-view-politicas .politicas-regras {
        width: 100%;
        max-width: none;
        margin-right: 0;
        margin-left: 0;
    }

    .app-view-politicas .politicas-topo {
        box-shadow: 0 35px 90px rgba(0,0,0,.28);
    }

    .app-view-politicas .politicas-jades,
    .app-view-politicas .politicas-taxas,
    .app-view-politicas .politicas-regras {
        margin-top: 30px;
        border-color: rgba(215,255,63,.12);
        background:
            radial-gradient(circle at 50% 10%, rgba(215,255,63,.055), transparent 31%),
            rgba(8,10,7,.72);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
        box-shadow: 0 28px 80px rgba(0,0,0,.18);
    }

    .app-view-politicas .politicas-jades-grid,
    .app-view-politicas .politicas-regras {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

/* No mobile: cada informação fica em seu próprio bloco, uma por linha. */
@media (max-width: 899px) {
    .app-view-politicas .politicas-jades-grid,
    .app-view-politicas .politicas-regras,
    .app-view-politicas .politicas-taxas-lista {
        grid-template-columns: 1fr !important;
    }

    .app-view-politicas .politicas-jades-item,
    .app-view-politicas .politicas-regras .politicas-item,
    .app-view-politicas .politicas-taxas-linha {
        width: 100%;
    }
}


/* =========================================================
   POLÍTICAS — TOPO COMPACTO
   Remove o espaço vertical excessivo sem alterar os efeitos.
========================================================= */

.app-view-politicas .politicas-topo {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.app-view-politicas .politicas-topo .politicas-icone {
    margin-top: 0 !important;
}

@media (max-width: 640px) {
    .app-view-politicas .politicas-topo {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
}


/* =========================================================
   CLUBES — PADRÃO VISUAL CLUBE / CASH — TELA CHEIA
========================================================= */

@media (min-width: 900px) {
    .app-view-clubes {
        max-width: none;
        overflow: hidden;
        background:
            radial-gradient(ellipse at 50% 300px, rgba(215,255,63,.075), transparent 37%),
            linear-gradient(180deg, #070707 0%, #080a07 38%, #070707 100%);
    }

    .app-view-clubes::before {
        content: '';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 128px;
        width: min(1640px, 98vw);
        height: 760px;
        border: 1px solid rgba(215,255,63,.10);
        border-radius: 50%;
        background:
            radial-gradient(ellipse at 50% 42%, rgba(215,255,63,.085), transparent 47%),
            linear-gradient(180deg, rgba(19,27,14,.55), rgba(8,10,7,.22));
        box-shadow:
            inset 0 0 0 20px rgba(0,0,0,.16),
            inset 0 0 110px rgba(0,0,0,.38),
            0 40px 120px rgba(0,0,0,.24);
        transform: translateX(-50%);
        pointer-events: none;
    }

    .app-view-clubes::after {
        content: '♣';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 290px;
        color: rgba(215,255,63,.022);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 300px;
        line-height: 1;
        transform: translateX(-50%) rotate(-7deg);
        pointer-events: none;
    }

    .app-view-clubes > * {
        position: relative;
        z-index: 1;
    }

    .app-view-clubes .topo {
        padding-right: max(28px, calc((100vw - 1560px) / 2));
        padding-left: max(28px, calc((100vw - 1560px) / 2));
        background: rgba(6,6,6,.78);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .app-view-clubes .topo::after {
        left: max(28px, calc((100vw - 1560px) / 2));
    }

    .app-view-clubes > .instalar-app {
        width: min(1560px, calc(100% - 48px));
        margin: 18px auto 0;
    }

    .app-view-clubes .clubes-central-page {
        width: min(1600px, calc(100% - 40px));
        max-width: none;
        margin: 0 auto;
        padding: 36px 24px 110px;
    }

    .app-view-clubes .clubes-central-page > .home-secao {
        position: relative;
        overflow: hidden;
        isolation: isolate;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 30px;
        border: 1px solid rgba(215,255,63,.13);
        border-radius: 34px;
        background:
            radial-gradient(circle at 50% 5%, rgba(215,255,63,.065), transparent 31%),
            rgba(8,10,7,.70);
        box-shadow:
            0 28px 80px rgba(0,0,0,.20),
            inset 0 1px 0 rgba(255,255,255,.025);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    .app-view-clubes .clubes-central-page > .home-secao::before {
        content: '';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 48%;
        width: 112%;
        height: 78%;
        border: 1px solid rgba(215,255,63,.07);
        border-radius: 50%;
        transform: translate(-50%,-50%);
        pointer-events: none;
    }

    .app-view-clubes .clubes-central-page > .home-secao::after {
        content: '♦';
        position: absolute;
        z-index: 0;
        right: 70px;
        top: 90px;
        color: rgba(215,255,63,.022);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 190px;
        line-height: 1;
        transform: rotate(10deg);
        pointer-events: none;
    }

    .app-view-clubes .clubes-central-page > .home-secao > * {
        position: relative;
        z-index: 2;
    }

    .app-view-clubes .home-secao-topo {
        margin-bottom: 22px;
        padding: 0 2px 18px;
        border-bottom: 1px solid rgba(255,255,255,.06);
    }

    .app-view-clubes .home-secao-label {
        font-size: 13px;
        letter-spacing: .9px;
    }

    .app-view-clubes .home-secao-titulo {
        margin-top: 5px;
        font-size: 26px;
        letter-spacing: -.6px;
    }

    .app-view-clubes .home-secao-icone {
        border-color: rgba(215,255,63,.22);
        background: rgba(215,255,63,.07);
        box-shadow: 0 12px 30px rgba(215,255,63,.06);
    }

    .app-view-clubes .clubes-central-grupo {
        margin-top: 16px;
        padding: 22px;
        border: 1px solid rgba(255,255,255,.075);
        border-radius: 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.035), transparent 33%),
            rgba(7,9,7,.84);
        box-shadow: 0 16px 38px rgba(0,0,0,.16);
    }

    .app-view-clubes .clubes-central-grupo:hover {
        border-color: rgba(215,255,63,.15);
    }

    .app-view-clubes .clubes-meu-clube {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 16px;
        padding: 24px;
        border-color: rgba(215,255,63,.16);
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.055), transparent 32%),
            rgba(8,10,7,.88);
    }

    .app-view-clubes .clubes-meu-clube-topo,
    .app-view-clubes .clubes-meu-clube-nota,
    .app-view-clubes .clubes-meu-clube-acoes {
        grid-column: 1 / -1;
    }

    .app-view-clubes .clubes-meu-clube-topo {
        margin-bottom: 0;
        padding-bottom: 18px;
        border-bottom: 1px solid rgba(255,255,255,.065);
    }

    .app-view-clubes .clubes-meu-clube-codigo,
    .app-view-clubes .clubes-condicoes-resumo {
        min-height: 145px;
        margin: 0;
        padding: 18px;
        border: 1px solid rgba(215,255,63,.12);
        border-radius: 19px;
        background: rgba(10,12,9,.76);
    }

    .app-view-clubes .clubes-meu-clube-codigo strong {
        font-size: 27px;
        letter-spacing: 2px;
    }

    .app-view-clubes .clubes-condicoes-resumo p {
        font-size: 12px;
        line-height: 1.55;
    }

    .app-view-clubes .clubes-condicoes-resumo small,
    .app-view-clubes .clubes-meu-clube-nota {
        font-size: 11px;
        line-height: 1.55;
    }

    .app-view-clubes .clubes-meu-clube-acoes {
        display: grid;
        grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr);
        gap: 12px;
        margin-top: 0;
    }

    .app-view-clubes .clubes-criacao-botao,
    .app-view-clubes .clubes-meu-clube-link {
        min-height: 52px;
        border-radius: 15px;
        justify-content: center;
        font-size: 13px;
    }

    .app-view-clubes .conta-clubes-lista {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px;
    }

    .app-view-clubes .conta-clube-opcao {
        min-height: 94px;
        margin: 0;
        padding: 16px;
        border: 1px solid rgba(255,255,255,.07);
        border-radius: 18px;
        background: rgba(10,11,9,.82);
        box-shadow: 0 12px 28px rgba(0,0,0,.13);
    }

    .app-view-clubes .conta-clube-opcao:hover {
        border-color: rgba(215,255,63,.18);
        transform: translateY(-1px);
    }

    .app-view-clubes .clubes-central-acesso {
        display: grid;
        grid-template-columns: auto minmax(240px,.75fr) minmax(360px,1.25fr);
        gap: 18px;
        align-items: center;
    }

    .app-view-clubes .clubes-central-acesso > .clubes-central-acesso-icone {
        align-self: start;
    }

    .app-view-clubes .clubes-central-codigo {
        margin: 0;
        padding: 17px;
        border: 1px solid rgba(215,255,63,.10);
        border-radius: 18px;
        background: rgba(10,12,9,.72);
    }

    .app-view-clubes .clubes-central-busca-linha {
        gap: 10px;
    }

    .app-view-clubes .clubes-central-busca-linha input,
    .app-view-clubes .clubes-central-busca-linha button {
        min-height: 48px;
        border-radius: 13px;
    }

    .app-view-clubes .clubes-busca-resultado {
        grid-column: 2 / -1;
        margin-top: 0;
        padding: 16px;
        border-radius: 18px;
        background: rgba(10,11,9,.84);
    }

    .app-view-clubes .clubes-central-criacao {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 18px;
    }

    .app-view-clubes .clubes-central-aviso,
    .app-view-clubes .conta-clubes-vazio {
        border-radius: 18px;
        background: rgba(10,11,9,.78);
    }

    .app-view-clubes .menu {
        bottom: 16px;
        width: min(1520px, calc(100% - 64px));
        max-width: 1520px;
        padding: 9px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 24px;
        background: rgba(9,9,9,.92);
        box-shadow: 0 20px 55px rgba(0,0,0,.48);
    }

    .app-view-clubes .menu-item {
        min-height: 58px;
    }
}

@media (max-width: 899px) {
    .app-view-clubes .clubes-central-page {
        padding-bottom: 98px;
    }

    .app-view-clubes .clubes-central-page > .home-secao {
        position: relative;
        overflow: hidden;
        border: 1px solid rgba(215,255,63,.09);
        border-radius: 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.055), transparent 33%),
            rgba(8,10,7,.58);
    }

    .app-view-clubes .clubes-central-page > .home-secao::after {
        content: '♣';
        position: absolute;
        right: -20px;
        top: 58px;
        color: rgba(215,255,63,.025);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 112px;
        pointer-events: none;
    }

    .app-view-clubes .clubes-central-page > .home-secao > * {
        position: relative;
        z-index: 1;
    }

    .app-view-clubes .clubes-central-grupo {
        border: 1px solid rgba(255,255,255,.075);
        border-radius: 20px;
        background: rgba(8,10,7,.84);
        box-shadow: 0 12px 28px rgba(0,0,0,.14);
    }

    .app-view-clubes .clubes-meu-clube {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .app-view-clubes .clubes-meu-clube-topo,
    .app-view-clubes .clubes-meu-clube-nota,
    .app-view-clubes .clubes-meu-clube-acoes {
        grid-column: 1;
    }

    .app-view-clubes .clubes-meu-clube-codigo,
    .app-view-clubes .clubes-condicoes-resumo {
        width: 100%;
        margin: 0;
        border-radius: 17px;
    }

    .app-view-clubes .clubes-meu-clube-acoes,
    .app-view-clubes .conta-clubes-lista {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 9px;
    }

    .app-view-clubes .clubes-central-acesso,
    .app-view-clubes .clubes-central-criacao {
        display: grid;
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .app-view-clubes .clubes-central-acesso > .clubes-central-acesso-icone,
    .app-view-clubes .clubes-central-criacao > .clubes-central-acesso-icone {
        margin-bottom: 0;
    }

    .app-view-clubes .clubes-central-codigo,
    .app-view-clubes .clubes-busca-resultado {
        width: 100%;
        margin: 0;
        grid-column: 1;
    }

    .app-view-clubes .home-secao-label {
        font-size: 14px;
    }

    .app-view-clubes .home-secao-titulo {
        font-size: 22px;
    }

    .app-view-clubes .clubes-meu-clube-identidade small,
    .app-view-clubes .clubes-meu-clube-codigo small,
    .app-view-clubes .clubes-condicoes-resumo small,
    .app-view-clubes .clubes-meu-clube-nota,
    .app-view-clubes .clubes-central-codigo small,
    .app-view-clubes .conta-clube-opcao-info span {
        font-size: 13px;
    }

    .app-view-clubes .clubes-condicoes-resumo p,
    .app-view-clubes .clubes-central-grupo > p {
        font-size: 14px;
        line-height: 1.55;
    }

    .app-view-clubes .clubes-central-grupo > h2,
    .app-view-clubes .clubes-central-acesso h2,
    .app-view-clubes .clubes-central-criacao h2 {
        font-size: 17px;
    }
}


/* =========================================================
   CONTA + CARTEIRA — PADRÃO VISUAL CLUBE / CASH — TELA CHEIA
========================================================= */

@media (min-width: 900px) {
    .app-view-conta,
    .app-view-carteira,
    .app-view-carteira_detalhes {
        max-width: none;
        overflow: hidden;
        background:
            radial-gradient(ellipse at 50% 300px, rgba(215,255,63,.075), transparent 37%),
            linear-gradient(180deg, #070707 0%, #080a07 38%, #070707 100%);
    }

    .app-view-conta::before,
    .app-view-carteira::before,
    .app-view-carteira_detalhes::before {
        content: '';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 128px;
        width: min(1640px, 98vw);
        height: 760px;
        border: 1px solid rgba(215,255,63,.10);
        border-radius: 50%;
        background:
            radial-gradient(ellipse at 50% 42%, rgba(215,255,63,.085), transparent 47%),
            linear-gradient(180deg, rgba(19,27,14,.55), rgba(8,10,7,.22));
        box-shadow:
            inset 0 0 0 20px rgba(0,0,0,.16),
            inset 0 0 110px rgba(0,0,0,.38),
            0 40px 120px rgba(0,0,0,.24);
        transform: translateX(-50%);
        pointer-events: none;
    }

    .app-view-conta::after,
    .app-view-carteira::after,
    .app-view-carteira_detalhes::after {
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 295px;
        color: rgba(215,255,63,.022);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 295px;
        line-height: 1;
        transform: translateX(-50%) rotate(-7deg);
        pointer-events: none;
    }

    .app-view-conta::after {
        content: '♣';
    }

    .app-view-carteira::after,
    .app-view-carteira_detalhes::after {
        content: '♦';
    }

    .app-view-conta > *,
    .app-view-carteira > *,
    .app-view-carteira_detalhes > * {
        position: relative;
        z-index: 1;
    }

    .app-view-conta .topo,
    .app-view-carteira .topo,
    .app-view-carteira_detalhes .topo {
        padding-right: max(28px, calc((100vw - 1560px) / 2));
        padding-left: max(28px, calc((100vw - 1560px) / 2));
        background: rgba(6,6,6,.78);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .app-view-conta .topo::after,
    .app-view-carteira .topo::after,
    .app-view-carteira_detalhes .topo::after {
        left: max(28px, calc((100vw - 1560px) / 2));
    }

    .app-view-conta > .instalar-app,
    .app-view-carteira > .instalar-app,
    .app-view-carteira_detalhes > .instalar-app {
        width: min(1560px, calc(100% - 48px));
        margin: 18px auto 0;
    }

    /* -------------------------
       CONTA
    ------------------------- */

    .app-view-conta .conta-page {
        position: relative;
        overflow: hidden;
        isolation: isolate;
        width: min(1600px, calc(100% - 40px));
        max-width: none;
        margin: 36px auto 0;
        padding: 30px 24px 118px;
        border: 1px solid rgba(215,255,63,.13);
        border-radius: 34px;
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 16px;
        background:
            radial-gradient(circle at 50% 5%, rgba(215,255,63,.065), transparent 31%),
            rgba(8,10,7,.70);
        box-shadow:
            0 28px 80px rgba(0,0,0,.20),
            inset 0 1px 0 rgba(255,255,255,.025);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    .app-view-conta .conta-page::before {
        content: '';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 47%;
        width: 112%;
        height: 78%;
        border: 1px solid rgba(215,255,63,.07);
        border-radius: 50%;
        transform: translate(-50%,-50%);
        pointer-events: none;
    }

    .app-view-conta .conta-page::after {
        content: '♠';
        position: absolute;
        z-index: 0;
        right: 68px;
        top: 96px;
        color: rgba(215,255,63,.022);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 190px;
        line-height: 1;
        transform: rotate(10deg);
        pointer-events: none;
    }

    .app-view-conta .conta-page > * {
        position: relative;
        z-index: 2;
    }

    .app-view-conta .conta-perfil {
        grid-column: 1 / -1;
        min-height: 112px;
        margin: 0;
        padding: 22px 24px;
        border: 1px solid rgba(215,255,63,.15);
        border-radius: 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.055), transparent 35%),
            rgba(8,10,7,.88);
        box-shadow: 0 16px 38px rgba(0,0,0,.16);
    }

    .app-view-conta .conta-avatar {
        width: 62px;
        height: 62px;
        border-radius: 18px;
        box-shadow: 0 12px 30px rgba(215,255,63,.08);
    }

    .app-view-conta .conta-perfil-info small {
        font-size: 11px;
        letter-spacing: .8px;
    }

    .app-view-conta .conta-perfil-info h1 {
        font-size: 25px;
    }

    .app-view-conta .conta-carteira,
    .app-view-conta .conta-acoes {
        min-height: 128px;
        margin: 0;
    }

    .app-view-conta .conta-carteira {
        border-radius: 24px;
        box-shadow: 0 16px 38px rgba(215,255,63,.08);
    }

    .app-view-conta .conta-acoes {
        display: flex;
    }

    .app-view-conta .conta-acao {
        width: 100%;
        min-height: 128px;
        margin: 0;
        padding: 20px;
        border: 1px solid rgba(215,255,63,.14);
        border-radius: 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.055), transparent 35%),
            rgba(8,10,7,.88);
        box-shadow: 0 16px 38px rgba(0,0,0,.16);
    }

    .app-view-conta .conta-acao:hover {
        border-color: rgba(215,255,63,.24);
        transform: translateY(-1px);
    }

    .app-view-conta .conta-acao-icone {
        width: 50px;
        height: 50px;
        border-radius: 15px;
    }

    .app-view-conta .conta-bloco {
        grid-column: 1 / -1;
        margin: 0;
        padding: 24px;
        border: 1px solid rgba(255,255,255,.075);
        border-radius: 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.03), transparent 32%),
            rgba(7,9,7,.84);
        box-shadow: 0 16px 38px rgba(0,0,0,.15);
    }

    .app-view-conta .conta-bloco-titulo {
        margin-bottom: 18px;
        padding-bottom: 16px;
        border-bottom: 1px solid rgba(255,255,255,.06);
    }

    .app-view-conta .conta-dados {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px;
    }

    .app-view-conta .conta-dado {
        min-height: 86px;
        margin: 0;
        padding: 16px;
        border: 1px solid rgba(255,255,255,.065);
        border-radius: 18px;
        background: rgba(10,11,9,.80);
    }

    .app-view-conta .conta-dado-icone {
        width: 42px;
        height: 42px;
        border: 1px solid rgba(215,255,63,.10);
        border-radius: 13px;
        background: rgba(215,255,63,.055);
    }

    .app-view-conta .conta-sair {
        min-height: 54px;
        margin: 0;
        border-radius: 16px;
        justify-content: center;
    }

    .app-view-conta .conta-politicas-link {
        border-color: rgba(215,255,63,.12);
        background: rgba(8,10,7,.78);
    }

    .app-view-conta .menu {
        bottom: 16px;
        width: min(1520px, calc(100% - 64px));
        max-width: 1520px;
        padding: 9px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 24px;
        background: rgba(9,9,9,.92);
        box-shadow: 0 20px 55px rgba(0,0,0,.48);
    }

    .app-view-conta .menu-item {
        min-height: 58px;
    }

    /* -------------------------
       CARTEIRA
    ------------------------- */

    .app-view-carteira > .login-voltar,
    .app-view-carteira_detalhes > .login-voltar {
        width: min(1600px, calc(100% - 40px));
        margin: 26px auto 14px;
        padding: 0 24px;
        color: #cfcfcf;
        font-size: 13px;
        font-weight: 900;
    }

    .app-view-carteira .carteira-page,
    .app-view-carteira_detalhes .carteira-page {
        position: relative;
        overflow: hidden;
        isolation: isolate;
        width: min(1600px, calc(100% - 40px));
        max-width: none;
        margin: 0 auto;
        padding: 30px 24px 118px;
        border: 1px solid rgba(215,255,63,.13);
        border-radius: 34px;
        display: grid;
        grid-template-columns: minmax(340px,.78fr) minmax(0,1.22fr);
        gap: 16px;
        align-items: stretch;
        background:
            radial-gradient(circle at 50% 5%, rgba(215,255,63,.065), transparent 31%),
            rgba(8,10,7,.70);
        box-shadow:
            0 28px 80px rgba(0,0,0,.20),
            inset 0 1px 0 rgba(255,255,255,.025);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    .app-view-carteira .carteira-page::before,
    .app-view-carteira_detalhes .carteira-page::before {
        content: '';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 46%;
        width: 112%;
        height: 78%;
        border: 1px solid rgba(215,255,63,.07);
        border-radius: 50%;
        transform: translate(-50%,-50%);
        pointer-events: none;
    }

    .app-view-carteira .carteira-page::after,
    .app-view-carteira_detalhes .carteira-page::after {
        content: '♦';
        position: absolute;
        z-index: 0;
        right: 70px;
        top: 90px;
        color: rgba(215,255,63,.022);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 195px;
        line-height: 1;
        transform: rotate(9deg);
        pointer-events: none;
    }

    .app-view-carteira .carteira-page > *,
    .app-view-carteira_detalhes .carteira-page > * {
        position: relative;
        z-index: 2;
    }

    .app-view-carteira .carteira-clube-seletor,
    .app-view-carteira_detalhes .carteira-clube-seletor {
        grid-column: 1 / -1;
    }

    .app-view-carteira .carteira-saldo,
    .app-view-carteira_detalhes .carteira-saldo {
        min-height: 210px;
        margin: 0;
        padding: 24px;
        border-radius: 26px;
        box-shadow: 0 18px 42px rgba(215,255,63,.09);
    }

    .app-view-carteira .carteira-saldo strong,
    .app-view-carteira_detalhes .carteira-saldo strong {
        font-size: clamp(30px,3vw,44px);
        line-height: 1.05;
    }

    .app-view-carteira .carteira-saldo-icone,
    .app-view-carteira_detalhes .carteira-saldo-icone {
        width: 58px;
        height: 58px;
        border-radius: 18px;
    }

    .app-view-carteira .carteira-acoes,
    .app-view-carteira_detalhes .carteira-acoes {
        min-height: 210px;
        margin: 0;
        display: grid;
        grid-template-rows: 1fr 1fr;
        gap: 12px;
    }

    .app-view-carteira .carteira-acao,
    .app-view-carteira_detalhes .carteira-acao {
        margin: 0;
        border: 1px solid rgba(215,255,63,.12);
        border-radius: 20px;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.04), transparent 34%),
            rgba(8,10,7,.86);
        box-shadow: 0 14px 32px rgba(0,0,0,.15);
    }

    .app-view-carteira .carteira-acao:hover,
    .app-view-carteira_detalhes .carteira-acao:hover {
        border-color: rgba(215,255,63,.23);
        transform: translateY(-1px);
    }

    .app-view-carteira .carteira-acao-principal,
    .app-view-carteira_detalhes .carteira-acao-principal {
        min-height: 94px;
    }

    .app-view-carteira .carteira-acoes-duplas,
    .app-view-carteira_detalhes .carteira-acoes-duplas {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px;
    }

    .app-view-carteira .carteira-acao-secundaria,
    .app-view-carteira_detalhes .carteira-acao-secundaria {
        min-height: 94px;
    }

    .app-view-carteira .carteira-acao-icone,
    .app-view-carteira_detalhes .carteira-acao-icone {
        width: 48px;
        height: 48px;
        border-radius: 15px;
        border: 1px solid rgba(215,255,63,.11);
        background: rgba(215,255,63,.07);
    }

    .app-view-carteira .carteira-bloco,
    .app-view-carteira_detalhes .carteira-bloco {
        grid-column: 1 / -1;
        margin: 0;
        padding: 24px;
        border: 1px solid rgba(255,255,255,.075);
        border-radius: 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.03), transparent 32%),
            rgba(7,9,7,.84);
        box-shadow: 0 16px 38px rgba(0,0,0,.15);
    }

    .app-view-carteira .carteira-bloco-titulo,
    .app-view-carteira_detalhes .carteira-bloco-titulo {
        margin-bottom: 17px;
        padding-bottom: 15px;
        border-bottom: 1px solid rgba(255,255,255,.06);
    }

    .app-view-carteira .carteira-extrato,
    .app-view-carteira_detalhes .carteira-extrato {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px;
    }

    .app-view-carteira .carteira-extrato-item,
    .app-view-carteira_detalhes .carteira-extrato-item {
        min-height: 82px;
        margin: 0;
        padding: 14px;
        border: 1px solid rgba(255,255,255,.065);
        border-radius: 17px;
        background: rgba(10,11,9,.80);
    }

    .app-view-carteira .carteira-detalhes-link,
    .app-view-carteira_detalhes .carteira-detalhes-link {
        margin-top: 14px;
        min-height: 48px;
        border-radius: 14px;
        justify-content: center;
        background: rgba(215,255,63,.045);
    }

    .app-view-carteira .menu,
    .app-view-carteira_detalhes .menu {
        bottom: 16px;
        width: min(1520px, calc(100% - 64px));
        max-width: 1520px;
        padding: 9px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 24px;
        background: rgba(9,9,9,.92);
        box-shadow: 0 20px 55px rgba(0,0,0,.48);
    }

    .app-view-carteira .menu-item,
    .app-view-carteira_detalhes .menu-item {
        min-height: 58px;
    }
}

@media (max-width: 899px) {
    .app-view-conta .conta-page,
    .app-view-carteira .carteira-page,
    .app-view-carteira_detalhes .carteira-page {
        position: relative;
        overflow: hidden;
        border: 1px solid rgba(215,255,63,.09);
        border-radius: 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.055), transparent 33%),
            rgba(8,10,7,.58);
    }

    .app-view-conta .conta-page::after,
    .app-view-carteira .carteira-page::after,
    .app-view-carteira_detalhes .carteira-page::after {
        position: absolute;
        right: -20px;
        top: 70px;
        color: rgba(215,255,63,.025);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 112px;
        pointer-events: none;
    }

    .app-view-conta .conta-page::after {
        content: '♣';
    }

    .app-view-carteira .carteira-page::after,
    .app-view-carteira_detalhes .carteira-page::after {
        content: '♦';
    }

    .app-view-conta .conta-page > *,
    .app-view-carteira .carteira-page > *,
    .app-view-carteira_detalhes .carteira-page > * {
        position: relative;
        z-index: 1;
    }

    .app-view-conta .conta-perfil,
    .app-view-conta .conta-bloco,
    .app-view-carteira .carteira-bloco,
    .app-view-carteira_detalhes .carteira-bloco {
        border: 1px solid rgba(255,255,255,.075);
        border-radius: 20px;
        background: rgba(8,10,7,.84);
        box-shadow: 0 12px 28px rgba(0,0,0,.14);
    }

    .app-view-conta .conta-dados,
    .app-view-carteira .carteira-extrato,
    .app-view-carteira_detalhes .carteira-extrato,
    .app-view-carteira .carteira-acoes-duplas,
    .app-view-carteira_detalhes .carteira-acoes-duplas {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 9px;
    }

    .app-view-conta .conta-dado,
    .app-view-carteira .carteira-extrato-item,
    .app-view-carteira_detalhes .carteira-extrato-item {
        width: 100%;
        border-radius: 17px;
        background: rgba(10,11,9,.80);
    }

    .app-view-conta .conta-perfil-info small,
    .app-view-conta .conta-carteira small,
    .app-view-conta .conta-carteira span,
    .app-view-conta .conta-acao span,
    .app-view-conta .conta-dado small,
    .app-view-carteira .carteira-saldo-topo small,
    .app-view-carteira .carteira-saldo-topo span,
    .app-view-carteira .carteira-acao span,
    .app-view-carteira .carteira-extrato-info small,
    .app-view-carteira_detalhes .carteira-extrato-info small {
        font-size: 13px;
    }

    .app-view-conta .conta-perfil-info h1 {
        font-size: 22px;
    }

    .app-view-conta .conta-carteira strong {
        font-size: 24px;
    }

    .app-view-conta .conta-acao strong,
    .app-view-conta .conta-dado strong,
    .app-view-carteira .carteira-acao strong,
    .app-view-carteira_detalhes .carteira-acao strong {
        font-size: 15px;
    }

    .app-view-carteira .carteira-saldo,
    .app-view-carteira_detalhes .carteira-saldo {
        border-radius: 22px;
    }

    .app-view-carteira .carteira-bloco,
    .app-view-carteira_detalhes .carteira-bloco {
        padding: 18px;
    }
}


/* =========================================================
   CONTA + CARTEIRA — RESPIRO ENTRE CONTEÚDO E MENU
========================================================= */

@media (min-width: 900px) {
    .app-view-conta .conta-page,
    .app-view-carteira .carteira-page,
    .app-view-carteira_detalhes .carteira-page {
        margin-bottom: 110px !important;
        padding-bottom: 30px !important;
    }
}

@media (max-width: 899px) {
    .app-view-conta .conta-page,
    .app-view-carteira .carteira-page,
    .app-view-carteira_detalhes .carteira-page {
        margin-bottom: 92px !important;
        padding-bottom: 24px !important;
    }
}


/* =========================================================
   MESAS — DESKTOP HORIZONTAL
   Cash / Torneio / Observador
   Mobile permanece exatamente como está.
========================================================= */

@media (min-width: 900px) {

    .app-view-mesa,
    .app-view-torneio_mesa,
    .app-view-torneio_observar {
        max-width: none;
        width: 100%;
        background:
            radial-gradient(ellipse at 50% 42%, rgba(215,255,63,.035), transparent 42%),
            #070707;
    }

    .app-view-mesa .mesa-page,
    .app-view-torneio_mesa .mesa-page,
    .app-view-torneio_observar .mesa-page {
        width: min(1540px, 100%);
        max-width: 1540px;
        margin: 0 auto;
        padding-right: 16px;
        padding-left: 16px;
    }

    .app-view-mesa .mesa-area,
    .app-view-torneio_mesa .mesa-area,
    .app-view-torneio_observar .mesa-area {
        width: 100%;
        min-height: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 6px 0 8px;
    }

    .app-view-mesa .mesa-feltro,
    .app-view-torneio_mesa .mesa-feltro,
    .app-view-torneio_observar .mesa-feltro {
        flex: 0 0 auto;
        width: min(
            1480px,
            calc(100vw - 64px),
            calc((100dvh - 245px) * 2.05)
        );
        height: auto;
        aspect-ratio: 2.05 / 1;
        min-height: 0;
        max-height: calc(100dvh - 245px);
        border-width: 7px;
        border-radius: 50% / 46%;
        box-shadow:
            inset 0 0 0 2px rgba(255,255,255,.035),
            inset 0 0 75px rgba(0,0,0,.34),
            0 20px 55px rgba(0,0,0,.48);
    }

    .app-view-mesa .mesa-feltro::before,
    .app-view-torneio_mesa .mesa-feltro::before,
    .app-view-torneio_observar .mesa-feltro::before {
        inset: 14px;
        border-radius: 50% / 46%;
    }

    /* 6-max: mantém exatamente a mesma ordem dos assentos,
       apenas distribuída para uma mesa horizontal. */
    .app-view-mesa .mesa-jogador,
    .app-view-torneio_mesa .mesa-jogador,
    .app-view-torneio_observar .mesa-jogador {
        width: 122px;
    }

    .app-view-mesa .mesa-jogador-1,
    .app-view-torneio_mesa .mesa-jogador-1,
    .app-view-torneio_observar .mesa-jogador-1 {
        top: 28%;
        left: 10.5%;
    }

    .app-view-mesa .mesa-jogador-2,
    .app-view-torneio_mesa .mesa-jogador-2,
    .app-view-torneio_observar .mesa-jogador-2 {
        top: 9%;
        left: 50%;
    }

    .app-view-mesa .mesa-jogador-3,
    .app-view-torneio_mesa .mesa-jogador-3,
    .app-view-torneio_observar .mesa-jogador-3 {
        top: 28%;
        left: 89.5%;
    }

    .app-view-mesa .mesa-jogador-4,
    .app-view-torneio_mesa .mesa-jogador-4,
    .app-view-torneio_observar .mesa-jogador-4 {
        top: 72%;
        left: 89.5%;
    }

    .app-view-mesa .mesa-jogador-5,
    .app-view-torneio_mesa .mesa-jogador-5,
    .app-view-torneio_observar .mesa-jogador-5 {
        top: 72%;
        left: 10.5%;
    }

    .app-view-mesa .mesa-jogador-6,
    .app-view-torneio_mesa .mesa-jogador-6,
    .app-view-torneio_observar .mesa-jogador-6 {
        top: 91%;
        left: 50%;
        width: 138px;
    }

    .app-view-mesa .mesa-jogador-box,
    .app-view-torneio_mesa .mesa-jogador-box,
    .app-view-torneio_observar .mesa-jogador-box {
        min-height: 46px;
    }

    /* Fichas/blinds seguem voltadas para o centro da mesa. */
    .app-view-mesa .mesa-jogador-1 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-1 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-1 .mesa-aposta-ficha {
        top: 64px;
        left: 108px;
    }

    .app-view-mesa .mesa-jogador-2 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-2 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-2 .mesa-aposta-ficha {
        top: 76px;
    }

    .app-view-mesa .mesa-jogador-3 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-3 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-3 .mesa-aposta-ficha {
        top: 64px;
        right: 108px;
    }

    .app-view-mesa .mesa-jogador-4 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-4 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-4 .mesa-aposta-ficha {
        top: -36px;
        right: 108px;
    }

    .app-view-mesa .mesa-jogador-5 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-5 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-5 .mesa-aposta-ficha {
        top: -36px;
        left: 108px;
    }

    .app-view-mesa .mesa-jogador-6 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-6 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-6 .mesa-aposta-ficha {
        top: -68px;
    }

    .app-view-mesa .mesa-centro,
    .app-view-torneio_mesa .mesa-centro,
    .app-view-torneio_observar .mesa-centro {
        top: 47%;
        width: 52%;
        max-width: 760px;
    }

    .app-view-mesa .mesa-marca,
    .app-view-torneio_mesa .mesa-marca,
    .app-view-torneio_observar .mesa-marca {
        width: 230px;
    }

    .app-view-mesa .mesa-marca-clube,
    .app-view-torneio_mesa .mesa-marca-clube,
    .app-view-torneio_observar .mesa-marca-clube {
        width: 340px;
        max-width: 42vw;
    }

    /* Controles continuam iguais; apenas evitam ficar esticados
       demais em monitores largos. */
    .app-view-mesa .mesa-aposta,
    .app-view-torneio_mesa .mesa-aposta {
        width: min(1120px, 100%);
        margin-right: auto;
        margin-left: auto;
    }

    .app-view-torneio_observar .torneio-observador-rodape {
        width: min(1120px, 100%);
        margin-right: auto;
        margin-left: auto;
        border-radius: 14px 14px 0 0;
    }
}


/* =========================================================
   MESAS — DESKTOP: MODAL SEM FAIXA/OVERLAY ESCURO
   Mantém somente o card do modal na parte de baixo.
   Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {
    .app-view-mesa .mesa-modal-fundo,
    .app-view-torneio_mesa .mesa-modal-fundo,
    .app-view-torneio_observar .mesa-modal-fundo {
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}


/* =========================================================
   MENU — PADRÃO FLUTUANTE NO DESKTOP
   Fica sempre visível, sem precisar rolar até o fim da página.
   Mobile permanece como está.
========================================================= */

@media (min-width: 900px) {
    .menu {
        position: fixed !important;
        left: 50% !important;
        bottom: 16px !important;
        z-index: 9990 !important;
        width: min(1520px, calc(100% - 64px)) !important;
        max-width: 1520px !important;
        padding: 9px !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        border-radius: 24px !important;
        transform: translateX(-50%) !important;
        background: rgba(9,9,9,.92) !important;
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        box-shadow: 0 20px 55px rgba(0,0,0,.48) !important;
    }

    .menu-item {
        min-height: 58px;
    }
}


/* =========================================================
   MESA — DESKTOP: FICHAS DO JOGADOR "VOCÊ" UM POUCO MAIS ALTAS
   Somente assento inferior (posição 6). Mobile permanece igual.
========================================================= */

@media (min-width: 900px) {
    .app-view-mesa .mesa-jogador-6 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-6 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-6 .mesa-aposta-ficha {
        top: -78px;
    }
}


/* =========================================================
   MESAS — AJUSTES DESKTOP
   1) controles sobem para ocupar o espaço livre, sem mover a mesa
   2) pote sobe levemente
   3) botão do olho volta a ser um card no canto
   Mobile permanece exatamente como está.
========================================================= */

@media (min-width: 900px) {

    /* A mesa/feltro não se move. Só o bloco de ações entra no espaço vazio abaixo dela. */
    .app-view-mesa .mesa-aposta,
    .app-view-torneio_mesa .mesa-aposta {
        position: relative;
        z-index: 40;
        margin-top: clamp(-125px, -10vh, -78px) !important;
    }

    /* Sobe somente o pote, sem deslocar board, logo ou jogadores. */
    .app-view-mesa .mesa-pote,
    .app-view-torneio_mesa .mesa-pote,
    .app-view-torneio_observar .mesa-pote {
        transform: translateY(-18px);
    }

    /* Garante novamente o visual de card quadrado das ações do topo,
       inclusive o olho de detalhes no torneio/observador. */
    .app-view-mesa .mesa-barra-acoes .mesa-topo-acao,
    .app-view-torneio_mesa .mesa-barra-acoes .mesa-topo-acao,
    .app-view-torneio_observar .mesa-barra-acoes .mesa-topo-acao {
        position: relative !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        border: 1px solid rgba(215,255,63,.16) !important;
        border-radius: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(215,255,63,.065) !important;
        color: #d7ff3f !important;
        box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
        flex: 0 0 42px !important;
    }

    .app-view-mesa .mesa-barra-acoes .mesa-topo-acao i,
    .app-view-torneio_mesa .mesa-barra-acoes .mesa-topo-acao i,
    .app-view-torneio_observar .mesa-barra-acoes .mesa-topo-acao i {
        font-size: 13px !important;
        line-height: 1 !important;
    }

    /* Mantém o botão de saída com sua cor de perigo. */
    .app-view-torneio_mesa .mesa-barra-acoes .mesa-topo-acao-perigo {
        border-color: rgba(255,120,95,.28) !important;
        background: rgba(255,120,95,.10) !important;
        color: #ff806c !important;
    }
}


/* =========================================================
   TORNEIO AGUARDANDO — DESKTOP
   Olho volta a ser um card no canto, ao lado de "Aguardando".
========================================================= */

@media (min-width: 900px) {
    .mesa-ativa-aviso-acoes {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 7px;
    }

    .mesa-ativa-aviso-detalhes {
        width: 33px;
        min-width: 33px;
        height: 33px;
        padding: 0;
        border: 1px solid rgba(215,255,63,.18);
        border-radius: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(215,255,63,.08);
        color: #d7ff3f;
        box-shadow: 0 8px 20px rgba(0,0,0,.16);
        flex: 0 0 33px;
        -webkit-tap-highlight-color: transparent;
    }

    .mesa-ativa-aviso-detalhes i {
        font-size: 11px;
        line-height: 1;
    }

    .mesa-ativa-aviso-detalhes:active {
        transform: scale(.97);
    }
}


/* =========================================================
   MODAIS — PADRÃO GLOBAL DESKTOP
   Centralizados, acima do menu e com fundo bloqueado/escurecido.
   Mobile permanece exatamente como está.
========================================================= */

@media (min-width: 900px) {

    /* Camada global acima do menu flutuante. */
    .login-modal,
    .conta-modal,
    .carteira-pix-modal,
    .mesa-modal,
    .instalar-ios-modal,
    .torneio-cancelamento-modal {
        z-index: 10000000 !important;
    }

    /* Login / Conta / Mesa: no desktop deixam de ficar presos à coluna
       estreita e passam a ocupar a viewport inteira como overlay. */
    .login-modal,
    .conta-modal,
    .mesa-modal {
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        transform: none !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 28px !important;
    }

    /* Fundo escuro real: bloqueia visualmente e fisicamente a tela atrás. */
    .login-modal-fundo,
    .conta-modal-fundo,
    .carteira-pix-sombra,
    .mesa-modal-fundo,
    .torneio-cancelamento-modal-fundo {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        background: rgba(0,0,0,.82) !important;
        backdrop-filter: blur(7px) !important;
        -webkit-backdrop-filter: blur(7px) !important;
        pointer-events: auto !important;
    }

    /* Os cards ficam sempre acima do fundo e acima do menu. */
    .login-modal-conteudo,
    .conta-modal-conteudo,
    .carteira-pix-conteudo,
    .mesa-modal-conteudo,
    .instalar-ios-conteudo,
    .torneio-cancelamento-modal-card {
        position: relative !important;
        z-index: 2 !important;
    }

    .login-modal-conteudo,
    .conta-modal-conteudo {
        width: min(560px, calc(100vw - 56px)) !important;
        max-width: 560px !important;
        max-height: calc(100dvh - 56px) !important;
        margin: 0 !important;
    }

    .carteira-pix-modal {
        inset: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 28px !important;
    }

    .carteira-pix-conteudo {
        width: min(560px, calc(100vw - 56px)) !important;
        max-width: 560px !important;
        max-height: calc(100dvh - 56px) !important;
        margin: 0 !important;
    }

    /* Os modais das mesas também ficam centralizados no desktop.
       Não altera mesa, jogadores, ações ou qualquer regra do jogo. */
    .mesa-modal-conteudo {
        width: min(590px, calc(100vw - 56px)) !important;
        max-width: 590px !important;
        max-height: calc(100dvh - 56px) !important;
        margin: 0 !important;
        padding: 22px !important;
        border: 1px solid rgba(215,255,63,.15) !important;
        border-radius: 28px !important;
        box-shadow: 0 28px 80px rgba(0,0,0,.65) !important;
    }

    .mesa-modal-conteudo-menor {
        width: min(470px, calc(100vw - 56px)) !important;
        max-width: 470px !important;
    }

    .torneio-cancelamento-modal {
        padding: 28px !important;
    }

    .torneio-cancelamento-modal-card {
        width: min(480px, calc(100vw - 56px)) !important;
        max-height: calc(100dvh - 56px) !important;
    }

    /* Mesmo com regras de layout full-width aplicadas nas views,
       nenhum modal pode herdar z-index baixo dos filhos diretos. */
    .app-view-conta > .conta-modal,
    .app-view-carteira > .carteira-pix-modal,
    .app-view-carteira_detalhes > .carteira-pix-modal,
    .app-view-mesa > .mesa-modal,
    .app-view-torneio_mesa > .mesa-modal,
    .app-view-torneio_observar > .mesa-modal {
        z-index: 10000000 !important;
    }
}


/* =========================================================
   MESAS — DESKTOP: CONTROLES SEM MOVER A MESA
   Cash + Torneio.
   Os controles entram/somem fora do fluxo; o feltro permanece
   exatamente na mesma posição. Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {

    .app-view-mesa .mesa-page,
    .app-view-torneio_mesa .mesa-page {
        position: relative !important;
    }

    /* A área da mesa fica sempre com o mesmo espaço,
       existindo ou não botões de ação. */
    .app-view-mesa .mesa-area,
    .app-view-torneio_mesa .mesa-area {
        flex: 1 1 auto !important;
        min-height: 0 !important;
    }

    /* Sai completamente do fluxo flex.
       Assim, quando os botões aparecem ou somem,
       a mesa não sobe nem desce. */
    .app-view-mesa .mesa-aposta,
    .app-view-torneio_mesa .mesa-aposta {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        bottom: 8px !important;
        z-index: 60 !important;
        width: min(1120px, calc(100% - 32px)) !important;
        margin: 0 !important;
        transform: translateX(-50%) !important;
        flex: none !important;
    }
}


/* =========================================================
   MODAIS — CORREÇÃO DESKTOP FULL-WIDTH
   As views full-width aplicavam position:relative nos filhos
   diretos e tiravam o modal da viewport. Força o modal de volta
   para a tela inteira, centralizado e acima do menu.
========================================================= */

@media (min-width: 900px) {

    .app-view-conta > .conta-modal,
    .app-view-carteira > .carteira-pix-modal,
    .app-view-carteira_detalhes > .carteira-pix-modal,
    .app-view-mesa > .mesa-modal,
    .app-view-torneio_mesa > .mesa-modal,
    .app-view-torneio_observar > .mesa-modal {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 28px !important;
        align-items: center !important;
        justify-content: center !important;
        transform: none !important;
        z-index: 10000000 !important;
    }

    .app-view-carteira > .carteira-pix-modal > .carteira-pix-sombra,
    .app-view-carteira_detalhes > .carteira-pix-modal > .carteira-pix-sombra,
    .app-view-conta > .conta-modal > .conta-modal-fundo,
    .app-view-mesa > .mesa-modal > .mesa-modal-fundo,
    .app-view-torneio_mesa > .mesa-modal > .mesa-modal-fundo,
    .app-view-torneio_observar > .mesa-modal > .mesa-modal-fundo {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        background: rgba(0,0,0,.84) !important;
        backdrop-filter: blur(7px) !important;
        -webkit-backdrop-filter: blur(7px) !important;
        pointer-events: auto !important;
        z-index: 0 !important;
    }

    .app-view-carteira .carteira-pix-conteudo,
    .app-view-carteira_detalhes .carteira-pix-conteudo,
    .app-view-conta .conta-modal-conteudo,
    .app-view-mesa .mesa-modal-conteudo,
    .app-view-torneio_mesa .mesa-modal-conteudo,
    .app-view-torneio_observar .mesa-modal-conteudo {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        margin: 0 !important;
        max-height: calc(100dvh - 56px) !important;
        overflow-y: auto !important;
        z-index: 2 !important;
    }

    .app-view-carteira .carteira-pix-conteudo,
    .app-view-carteira_detalhes .carteira-pix-conteudo {
        width: min(560px, calc(100vw - 56px)) !important;
        max-width: 560px !important;
    }
}


/* =========================================================
   MESAS — DESKTOP: POTE +20PX MAIS ALTO
   Somente o pote. Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {
    .app-view-mesa .mesa-pote,
    .app-view-torneio_mesa .mesa-pote,
    .app-view-torneio_observar .mesa-pote {
        transform: translateY(-38px) !important;
    }
}


/* =========================================================
   TORNEIO — DESKTOP: BADGES DE MESA / NÍVEL / BLINDS MAIORES
   Somente desktop. Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {
    .mesa-torneio-page .torneio-mesa-informacoes {
        gap: 7px;
        font-size: 13px;
        font-weight: 900;
    }

    .mesa-torneio-page .torneio-mesa-informacoes > span {
        padding: 6px 9px;
        border-radius: 10px;
    }

    .mesa-torneio-page .torneio-mesa-informacoes i {
        margin-right: 5px;
        font-size: 12px;
    }
}


/* =========================================================
   MESAS — DESKTOP: VOLTA DOS CONTROLES AO FLUXO NORMAL
   Remove somente o posicionamento absoluto/fixo dos botões.
   Mobile permanece exatamente como está.
========================================================= */

@media (min-width: 900px) {
    .app-view-mesa .mesa-aposta,
    .app-view-torneio_mesa .mesa-aposta {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: min(1120px, 100%) !important;
        margin-top: clamp(-125px, -10vh, -78px) !important;
        margin-right: auto !important;
        margin-bottom: 8px !important;
        margin-left: auto !important;
        transform: none !important;
        flex: 0 0 auto !important;
    }
}


/* =========================================================
   MESAS — DESKTOP: FELTRO SE ADAPTA AO ESPAÇO DISPONÍVEL
   - controles ficam no fluxo normal
   - quando aparecem, a mesa encolhe em vez de sobrepor
   - 10px entre a mesa e o card inferior
   - mesa sobe para aproveitar o espaço acima
   Mobile permanece totalmente intocado.
========================================================= */

@media (min-width: 900px) {

    /* A área continua flexível; o feltro usa a altura REAL disponível. */
    .app-view-mesa .mesa-area,
    .app-view-torneio_mesa .mesa-area,
    .app-view-torneio_observar .mesa-area {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Horizontal no desktop, mas limitado também pela altura da área.
       Assim, se os botões entrarem no fluxo, a mesa reduz junto. */
    .app-view-mesa .mesa-feltro,
    .app-view-torneio_mesa .mesa-feltro,
    .app-view-torneio_observar .mesa-feltro {
        flex: 0 0 auto !important;
        height: min(
            100%,
            calc((100vw - 64px) / 2.05),
            722px
        ) !important;
        width: auto !important;
        max-width: min(1480px, calc(100vw - 64px)) !important;
        max-height: 100% !important;
        aspect-ratio: 2.05 / 1 !important;
        margin: 0 auto !important;
    }

    /* Botões de ação voltam 100% ao fluxo.
       Nada de absolute/fixed/negative margin. */
    .app-view-mesa .mesa-aposta,
    .app-view-torneio_mesa .mesa-aposta {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: min(1120px, 100%) !important;
        margin: 10px auto 8px !important;
        transform: none !important;
        flex: 0 0 auto !important;
    }

    /* Quando ainda não é sua vez, o card de pré-ações / mensagem
       recebe o mesmo respiro de 10px da mesa. */
    .app-view-mesa .mesa-pre-acoes,
    .app-view-torneio_mesa .mesa-pre-acoes {
        margin-top: 10px !important;
        flex: 0 0 auto !important;
    }
}


/* =========================================================
   MESAS — DESKTOP: AJUSTE FINO INFERIOR
   - fichas do jogador local +5px para cima
   - card de controles sem padding
   - mantém somente os 10px de margem acima
   Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {

    .app-view-mesa .mesa-jogador-6 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-6 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-6 .mesa-aposta-ficha {
        top: -83px !important;
    }

    .app-view-mesa .mesa-aposta,
    .app-view-torneio_mesa .mesa-aposta {
        padding: 0 !important;
        margin-top: 10px !important;
    }
}


/* =========================================================
   MESAS — DESKTOP: FICHAS DO JOGADOR DO TOPO +10PX PARA BAIXO
   Somente o assento superior. Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {
    .app-view-mesa .mesa-jogador-2 .mesa-aposta-ficha,
    .app-view-torneio_mesa .mesa-jogador-2 .mesa-aposta-ficha,
    .app-view-torneio_observar .mesa-jogador-2 .mesa-aposta-ficha {
        top: 86px !important;
    }
}


/* =========================================================
   MESAS — DESKTOP: RESTAURA PADDING DO CARD DE CONTROLES
   Mantém a margem superior de 10px.
   O padding-top fica padronizado em 6px.
   Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {
    /* Cash: mantém laterais e base como eram; topo padronizado em 6px. */
    .app-view-mesa .mesa-aposta {
        padding: 6px 10px 10px !important;
        margin-top: 10px !important;
    }

    /* Torneio: volta exatamente ao padding-base, com topo em 6px. */
    .app-view-torneio_mesa .mesa-aposta {
        padding: 6px 10px !important;
        margin-top: 10px !important;
    }
}


/* =========================================================
   MESAS — DESKTOP: PADDING UNIFORME NO CARD DE CONTROLES
   Mesmo espaço em cima, embaixo e nas laterais.
   Mantém somente a margem externa de 10px acima.
   Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {
    .app-view-mesa .mesa-aposta,
    .app-view-torneio_mesa .mesa-aposta {
        padding: 10px !important;
        margin-top: 10px !important;
    }
}


/* =========================================================
   MESAS — DESKTOP: CENTRALIZA O CARD DE PRÉ-AÇÕES
   Mantém 10px de margem externa acima da mesa,
   mas remove a margem interna extra da pré-ação.
   Assim topo e base ficam iguais.
   Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {
    .app-view-mesa .mesa-aposta,
    .app-view-torneio_mesa .mesa-aposta {
        padding: 10px !important;
        margin-top: 10px !important;
    }

    .app-view-mesa .mesa-pre-acoes,
    .app-view-torneio_mesa .mesa-pre-acoes {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}


/* =========================================================
   HOME — WHATSAPP FLUTUANTE
========================================================= */

.site-home-whatsapp {
    position: fixed;
    right: 26px;
    bottom: 26px;
    z-index: 9000;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(215,255,63,.38);
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #d7ff3f;
    color: #080a07;
    font-size: 27px;
    text-decoration: none;
    box-shadow:
        0 16px 38px rgba(0,0,0,.36),
        0 0 0 6px rgba(215,255,63,.055);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    -webkit-tap-highlight-color: transparent;
}

.site-home-whatsapp:hover {
    transform: translateY(-3px);
    box-shadow:
        0 20px 46px rgba(0,0,0,.42),
        0 0 0 8px rgba(215,255,63,.075);
}

.site-home-whatsapp:active {
    transform: scale(.96);
}

.site-home-whatsapp:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
}

@media (max-width: 899px) {
    .site-home-whatsapp {
        right: 16px;
        bottom: 18px;
        width: 48px;
        height: 48px;
        border-radius: 15px;
        font-size: 22px;
        box-shadow:
            0 12px 28px rgba(0,0,0,.34),
            0 0 0 5px rgba(215,255,63,.05);
    }
}


/* =========================================================
   TORNEIO DETALHES — DESKTOP LARGO / PADRÃO VISUAL DO CLUBE
   Mobile permanece exatamente como está.
========================================================= */

@media (min-width: 900px) {
    .app-view-torneio_detalhes {
        max-width: none;
        overflow-x: hidden;
        background:
            radial-gradient(ellipse at 50% 300px, rgba(215,255,63,.075), transparent 37%),
            linear-gradient(180deg, #070707 0%, #080a07 38%, #070707 100%);
    }

    .app-view-torneio_detalhes::before {
        content: '';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 128px;
        width: min(1640px, 98vw);
        height: 700px;
        border: 1px solid rgba(215,255,63,.10);
        border-radius: 50%;
        background:
            radial-gradient(ellipse at 50% 42%, rgba(215,255,63,.085), transparent 47%),
            linear-gradient(180deg, rgba(19,27,14,.55), rgba(8,10,7,.22));
        box-shadow:
            inset 0 0 0 20px rgba(0,0,0,.16),
            inset 0 0 100px rgba(0,0,0,.36),
            0 40px 120px rgba(0,0,0,.24);
        transform: translateX(-50%);
        pointer-events: none;
    }

    .app-view-torneio_detalhes::after {
        content: '♠';
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 305px;
        color: rgba(215,255,63,.025);
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 285px;
        line-height: 1;
        transform: translateX(-50%) rotate(-7deg);
        pointer-events: none;
    }

    .app-view-torneio_detalhes > * {
        position: relative;
        z-index: 1;
    }

    .app-view-torneio_detalhes .topo {
        padding-right: max(28px, calc((100vw - 1560px) / 2));
        padding-left: max(28px, calc((100vw - 1560px) / 2));
        background: rgba(6,6,6,.78);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .app-view-torneio_detalhes .topo::after {
        left: max(28px, calc((100vw - 1560px) / 2));
    }

    .app-view-torneio_detalhes > .instalar-app {
        width: min(1560px, calc(100% - 48px));
        margin: 18px auto 0;
    }

    .app-view-torneio_detalhes .torneio-detalhes-page {
        position: relative;
        width: min(1600px, calc(100% - 40px));
        margin: 0 auto;
        padding: 36px 24px 145px;
    }

    .app-view-torneio_detalhes .home-secao {
        width: 100%;
        max-width: none;
        margin: 30px 0 0;
        padding: 28px;
        border: 1px solid rgba(255,255,255,.055);
        border-radius: 34px;
        background: rgba(8,10,7,.72);
        box-shadow: 0 28px 80px rgba(0,0,0,.18);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    .app-view-torneio_detalhes .torneio-detalhes-grade {
        grid-template-columns: repeat(4, minmax(0,1fr));
        gap: 14px;
    }

    .app-view-torneio_detalhes .torneio-detalhes-bloco {
        width: 100%;
    }

    .app-view-torneio_detalhes .torneio-tabela-rolagem,
    .app-view-torneio_detalhes .torneio-tabela {
        width: 100%;
        max-width: none;
    }
}


/* =========================================================
   TORNEIO DETALHES — DESKTOP: MENOS ESPAÇO NO TOPO
   Aproxima o conteúdo da barra "Instalar App".
   Mobile permanece intocado.
========================================================= */

@media (min-width: 900px) {
    .app-view-torneio_detalhes .torneio-detalhes-page {
        padding-top: 14px !important;
    }

    .app-view-torneio_detalhes .home-secao {
        margin-top: 10px !important;
    }
}

/* =========================================================
   CASH DO CLUBE — MESMO ACABAMENTO VISUAL DOS TORNEIOS
========================================================= */

/* O "Voltar" do card do clube no Cash usa exatamente a mesma
   tipografia aplicada na tela de torneios. */
.app-view-clube .clube-destaque .login-voltar {
    margin: 4px 0 16px;
    padding: 0;
    color: #cfcfcf;
    font-size: 13px;
    font-weight: 900;
}

.app-view-clube .clube-destaque .login-voltar i {
    font-size: 13px;
}

/* No desktop, o bloco de Cash recebe o mesmo fundo do bloco de
   torneios, cobrindo o naipe decorativo da mesma forma. */
@media (min-width: 900px) {
    .app-view-clube .clube-mesas {
        border-color: rgba(215,255,63,.12);
        background: rgba(8,10,7,.72);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }
}

/* CASH E TORNEIOS DO CLUBE — MESMO FUNDO, SEM VARIAÇÃO */
@media (min-width: 900px) {
    .app-view-clube .clube-mesas,
    .app-view-clube_torneios .home-secao,
    .app-view-torneios .home-secao {
        border-color: rgba(215,255,63,.12);
        background: rgba(8,10,7,.58);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }
}

/* AJUSTE FINO — FUNDO IGUAL NO CASH/TORNEIOS E CARD CASH SEM CURVA */
@media (min-width: 900px) {
    .app-view-clube .clube-mesas,
    .app-view-clube_torneios .home-secao,
    .app-view-torneios .home-secao {
        border-color: rgba(215,255,63,.12);
        background: rgba(8,10,7,.50);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    .app-view-clube .home-nivel-card {
        background: rgba(10,11,9,.96);
    }
}

/* Cash do clube: remove apenas o círculo/curva decorativa dos cards das mesas. */
.app-view-clube .clube-nivel-card::after {
    display: none;
}

/* AJUSTE FINO — revela um pouco mais o naipe de fundo, sem alterar o restante. */
@media (min-width: 900px) {
    .app-view-clube .clube-mesas,
    .app-view-clube_torneios .home-secao,
    .app-view-torneios .home-secao {
        background: rgba(8,10,7,.40);
    }
}

/* CASH / TORNEIOS — área 2 igual ao fundo da área 1 */
@media (min-width: 900px) {
    .app-view-clube .clube-mesas,
    .app-view-clube_torneios .home-secao,
    .app-view-torneios .home-secao {
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

/* =========================================================
   AJUSTES PONTUAIS — CONTA / CARTEIRA
========================================================= */
@media (max-width: 899px) {
    .app-view-conta .conta-carteira strong {
        font-size: 18px;
    }
}

.app-view-carteira > .login-voltar,
.app-view-carteira_detalhes > .login-voltar {
    margin-bottom: 10px;
}

/* =========================================================
   AJUSTES PONTUAIS — CLUBES / CARTEIRA
========================================================= */

/* Clubes: mantém o cabeçalho completamente dentro do card e um pouco menor. */
.app-view-clubes .home-secao-topo {
    padding-top: 8px;
}

@media (min-width: 900px) {
    .app-view-clubes .home-secao-titulo {
        font-size: 22px;
    }

    .app-view-clubes .home-secao-label {
        font-size: 12px;
    }

    .app-view-carteira .carteira-saldo strong,
    .app-view-carteira_detalhes .carteira-saldo strong {
        font-size: 34px;
    }
}

@media (max-width: 899px) {
    .app-view-clubes .home-secao-topo {
        padding-top: 10px;
    }

    .app-view-clubes .home-secao-titulo {
        font-size: 19px;
    }

    .app-view-clubes .home-secao-label {
        font-size: 12px;
    }
}

/* =========================================================
   AJUSTES FINOS — CLUBES / CARTEIRA / TORNEIO / HOME
========================================================= */

/* Clubes mobile: respiro interno do card principal. */
@media (max-width: 899px) {
    .app-view-clubes .clubes-central-page > .home-secao {
        padding: 18px;
    }
}

/* Carteira desktop: saldo principal menor. */
@media (min-width: 900px) {
    .app-view-carteira .carteira-saldo > strong,
    .app-view-carteira_detalhes .carteira-saldo > strong {
        font-size: 24px;
    }
}

/* Torneio detalhes: total da premiação 3px menor. */
.torneio-detalhes-page .torneio-premios-total strong {
    font-size: 12px;
}

/* Home mobile: todos os botões principais +2px. */
@media (max-width: 899px) {
    .app-view-home .site-home-btn {
        font-size: 14px;
    }
}

/* TORNEIO DETALHES — VOLTAR ACIMA DO TÍTULO */
.torneio-detalhes-page .torneio-detalhes-voltar-topo {
    order: -2;
    margin: 0 0 16px;
}

.torneio-detalhes-page .home-secao-topo {
    order: -1;
    margin-bottom: 7px;
}

@media (max-width: 640px) {
    .torneio-detalhes-page .torneio-detalhes-voltar-topo {
        margin-bottom: 16px;
    }
}


/* =========================================================
   CLUBES — RESULTADO DA BUSCA POR CÓDIGO
========================================================= */
.app-view-clubes .clubes-busca-resultado {
    margin-top: 10px;
}

.app-view-clubes #clubes_solicitar_btn {
    width: 100%;
    flex: 0 0 100%;
}

/* =========================================================
   APP — MENU PRINCIPAL ÚNICO
   Desktop: sidebar lateral. Mobile/tablet: drawer pela direita.
========================================================= */

.app-menu-toggle {
    width: 46px;
    min-width: 46px;
    height: 46px;
    border: 1px solid rgba(215,255,63,.18);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215,255,63,.08);
    color: #d7ff3f;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.app-menu-toggle:active {
    transform: scale(.96);
}

.app-menu-toggle i {
    font-size: 17px;
}

.app-menu-icone-fechar {
    display: none;
}

body.app-menu-aberto .app-menu-icone-abrir {
    display: none;
}

body.app-menu-aberto .app-menu-icone-fechar {
    display: inline-block;
}

.app-menu-overlay {
    display: none;
}

.app-menu-lateral {
    color: #fff;
}

.app-menu-topo {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 4px 16px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.app-menu-topo-icone {
    width: 44px;
    min-width: 44px;
    height: 44px;
    border: 1px solid rgba(215,255,63,.16);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(215,255,63,.08);
    color: #d7ff3f;
}

.app-menu-topo-icone i {
    font-size: 15px;
}

.app-menu-topo small,
.app-menu-topo strong {
    display: block;
}

.app-menu-topo small {
    margin-bottom: 3px;
    color: #777;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.app-menu-topo strong {
    color: #fff;
    font-size: 17px;
    font-weight: 1000;
    line-height: 1;
}

.app-menu-saldo {
    margin-top: 14px;
    padding: 15px 16px;
    border: 1px solid rgba(215,255,63,.20);
    border-radius: 18px;
    display: block;
    background:
        radial-gradient(circle at 100% 0%, rgba(215,255,63,.16), transparent 48%),
        rgba(215,255,63,.075);
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.app-menu-saldo:hover {
    border-color: rgba(215,255,63,.34);
    background:
        radial-gradient(circle at 100% 0%, rgba(215,255,63,.20), transparent 48%),
        rgba(215,255,63,.09);
}

.app-menu-saldo:active {
    transform: scale(.985);
}

.app-menu-saldo span,
.app-menu-saldo strong,
.app-menu-saldo small {
    display: block;
}

.app-menu-saldo span {
    color: #9a9a9a;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.app-menu-saldo span i {
    margin-right: 4px;
    color: #d7ff3f;
}

.app-menu-saldo strong {
    margin-top: 5px;
    color: #fff;
    font-size: 22px;
    font-weight: 1000;
    line-height: 1;
}

.app-menu-saldo small {
    margin-top: 8px;
    color: #d7ff3f;
    font-size: 10px;
    font-weight: 900;
}

.app-menu-nav {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 14px;
}

.app-menu-item,
.app-menu-suporte {
    position: relative;
    min-height: 58px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 17px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    transition: transform .14s ease, background .16s ease, border-color .16s ease;
    -webkit-tap-highlight-color: transparent;
}

.app-menu-item:hover,
.app-menu-suporte:hover {
    background: rgba(255,255,255,.035);
    border-color: rgba(255,255,255,.05);
}

.app-menu-item:active,
.app-menu-suporte:active {
    transform: scale(.985);
}

.app-menu-item-icone {
    width: 40px;
    min-width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.04);
    color: #969696;
}

.app-menu-item-icone i {
    font-size: 14px;
}

.app-menu-item-texto {
    min-width: 0;
    flex: 1;
}

.app-menu-item-texto strong,
.app-menu-item-texto small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-menu-item-texto strong {
    color: #e8e8e8;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
}

.app-menu-item-texto small {
    margin-top: 3px;
    color: #666;
    font-size: 9px;
    font-weight: 800;
}

.app-menu-item-seta {
    color: #555;
    font-size: 10px;
}

.app-menu-item-ativo {
    border-color: rgba(215,255,63,.22);
    background:
        radial-gradient(circle at 100% 0%, rgba(215,255,63,.10), transparent 45%),
        rgba(215,255,63,.075);
}

.app-menu-item-ativo .app-menu-item-icone {
    border-color: rgba(215,255,63,.22);
    background: rgba(215,255,63,.12);
    color: #d7ff3f;
}

.app-menu-item-ativo .app-menu-item-texto strong,
.app-menu-item-ativo .app-menu-item-seta {
    color: #d7ff3f;
}

.app-menu-item-ativo .app-menu-item-texto small {
    color: #9aaa63;
}

.app-menu-rodape {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.07);
}

.app-menu-suporte {
    border-color: rgba(255,255,255,.055);
    background: rgba(255,255,255,.025);
}

.app-menu-suporte .app-menu-item-icone {
    color: #d7ff3f;
    border-color: rgba(215,255,63,.14);
    background: rgba(215,255,63,.06);
}

/* Remove o espaço que existia para o antigo menu inferior. */
.app-com-menu .home-page {
    padding-bottom: 60px;
}

.app-com-menu.app-view-conta .conta-page,
.app-com-menu.app-view-carteira .carteira-page,
.app-com-menu.app-view-carteira_detalhes .carteira-page {
    margin-bottom: 0 !important;
    padding-bottom: 34px !important;
}

@media (min-width: 1024px) {
    .app-com-menu {
        max-width: none;
        padding-left: 270px;
    }

    .app-com-menu .topo {
        width: 100%;
        padding-right: 28px;
        padding-left: 28px;
    }

    .app-com-menu .topo::after {
        left: 28px;
    }

    .app-com-menu .topo-saldo,
    .app-com-menu .app-menu-toggle {
        display: none;
    }

    .app-menu-lateral {
        position: fixed !important;
        z-index: 9995 !important;
        top: 92px;
        bottom: 18px;
        left: 18px;
        width: 234px;
        padding: 16px;
        border: 1px solid rgba(215,255,63,.13);
        border-radius: 26px;
        display: flex;
        flex-direction: column;
        background:
            radial-gradient(circle at 0% 0%, rgba(215,255,63,.08), transparent 33%),
            rgba(8,9,7,.94);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        box-shadow: 0 24px 70px rgba(0,0,0,.40);
        overflow: hidden auto;
    }

    .app-com-menu.app-view-clube .home-page,
    .app-com-menu.app-view-clube_torneios .home-page,
    .app-com-menu.app-view-torneios .home-page {
        width: min(1320px, calc(100% - 40px));
    }

    .app-com-menu.app-view-clube > .instalar-app,
    .app-com-menu.app-view-clube_torneios > .instalar-app,
    .app-com-menu.app-view-torneios > .instalar-app {
        width: min(1280px, calc(100% - 48px));
    }
}

@media (max-width: 1023px) {
    .app-com-menu {
        max-width: 560px;
    }

    .app-menu-lateral {
        position: fixed !important;
        z-index: 10030 !important;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(86vw, 340px);
        padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
        display: flex;
        flex-direction: column;
        background:
            radial-gradient(circle at 100% 0%, rgba(215,255,63,.11), transparent 28%),
            rgba(8,9,7,.985);
        border-left: 1px solid rgba(215,255,63,.16);
        box-shadow: -28px 0 70px rgba(0,0,0,.48);
        transform: translateX(105%);
        transition: transform .22s ease;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .app-menu-overlay {
        position: fixed;
        z-index: 10020;
        inset: 0;
        display: block;
        background: rgba(0,0,0,.62);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .2s ease, visibility .2s ease;
    }

    body.app-menu-aberto {
        overflow: hidden;
    }

    body.app-menu-aberto .app-menu-lateral {
        transform: translateX(0);
    }

    body.app-menu-aberto .app-menu-overlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    body.app-menu-aberto .app-menu-toggle {
        position: fixed;
        z-index: 10040;
        top: 15px;
        right: 16px;
        border-color: rgba(215,255,63,.30);
        background: #d7ff3f;
        color: #111;
    }

    .app-menu-topo {
        padding-right: 58px;
    }

    .app-menu-saldo {
        display: none;
    }

    .app-menu-nav {
        margin-top: 18px;
    }

    .app-menu-item,
    .app-menu-suporte {
        min-height: 62px;
        padding: 9px 11px;
    }

    .app-menu-item-texto strong {
        font-size: 13px;
    }

    .app-menu-item-texto small {
        font-size: 10px;
    }

    .app-com-menu .topo-saldo {
        display: flex;
    }
}

@media (max-width: 380px) {
    .app-com-menu .topo {
        gap: 8px;
        padding-right: 12px;
        padding-left: 12px;
    }

    .app-com-menu .topo::after {
        left: 12px;
        width: 108px;
    }

    .app-com-menu .topo-logo-img {
        width: 104px;
    }

    .app-com-menu .topo-acoes {
        gap: 6px;
    }

    .app-com-menu .topo-saldo {
        min-height: 43px;
        padding: 6px 9px;
    }

    .app-com-menu .topo-saldo strong {
        font-size: 12px;
    }

    .app-menu-toggle {
        width: 43px;
        min-width: 43px;
        height: 43px;
        border-radius: 14px;
    }
}
