/* ==========================================================================
   GTB - Galaxy Task Bar — front (palco de 1536x1080 escalado pra caber na janela, sem scroll)
   Todas as medidas em px sao do projeto; o JS aplica scale() no #palco.
   ========================================================================== */

:root {
    --yellow: #f4c430;
    --text: #d9dce1;
    --muted: #8e939c;
    --line: #2e3138;
    --card: #131416;
    --s: 1;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
    height: 100%;
    overflow: hidden;
    background: #1b1c20;
    color: var(--text);
    font-family: 'Chakra Petch', 'Segoe UI', Tahoma, sans-serif;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
img { display: block; }

a:focus-visible, button:focus-visible, input:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
}

[hidden] { display: none !important; }

/* ---- Faixa de fundo do menu (estica a barra pra largura toda da janela) ---- */
.faixa-topo {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(87px * var(--s));
    background: #131418;
    border-bottom: 1px solid #1f2229;
}

/* ---- Palco ---- */
#palco {
    position: absolute;
    left: 0;
    top: 0;
    width: 1536px;
    height: 1080px;
    transform-origin: 0 0;
}

/* ---- Menu ---- */
.menubar {
    position: absolute;
    left: 0;
    top: 0;
    width: 1536px;
    height: 87px;
    background-repeat: no-repeat;
    background-size: 1536px 87px;
    z-index: 5;
}

.menu-logo {
    position: absolute;
    left: 24px;
    top: 17px;
    width: 300px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.menu-logo img { max-width: 300px; max-height: 60px; }

.menu-logo strong {
    font-size: 25px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.07em;
    color: var(--yellow);
    text-shadow: 0 2px 0 #000;
}

.menu-logo small {
    font-size: 12px;
    letter-spacing: 0.32em;
    color: #e5e7eb;
    padding-left: 2px;
}

.menu-arte {
    position: absolute;
    right: 0;
    top: 0;
    height: 87px;
}

.menu-botoes {
    position: absolute;
    left: 352px;
    top: 31px;
    width: 819px;
    height: 53px;
    display: flex;
}

/* Os botoes dividem o campo reservado (819px) em partes iguais: 6 botoes ~136px, 7 (com Painel Admin) ~117px. */
.menu-btn {
    flex: 1 1 0;
    min-width: 0;
    height: 53px;
    background-repeat: no-repeat;
    background-size: 100% 200%;
    background-position: 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #eceef2;
}

.menu-btn-label {
    font-size: 13.5px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.menu-btn-sub {
    font-size: 8px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.09em;
    color: var(--muted);
}

.menu-btn:hover,
.menu-btn.is-active {
    background-position: 0 -53px;
}

.menu-btn:hover .menu-btn-label,
.menu-btn.is-active .menu-btn-label { color: var(--yellow); }

.menu-btn.is-active .menu-btn-sub,
.menu-btn:hover .menu-btn-sub { color: #cfa62a; }

/* ---- Colunas ---- */
.coluna {
    position: absolute;
    top: 97px;
    height: 930px;
}

.coluna-esq { left: 16px; width: 326px; }
.coluna-centro { left: 364px; width: 815px; }
.coluna-dir { left: 1201px; width: 319px; }

.panel {
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.rodape-img {
    position: absolute;
    left: 7px;
    top: 940px;
    width: 312px;
    height: 34px;
}

/* ---- Login ---- */
.panel-login { left: 0; top: 0; width: 326px; height: 313px; }

.lbl {
    position: absolute;
    left: 21px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #e5e7eb;
}

.lbl-user { top: 54px; }
.lbl-pass { top: 120px; }

.campo {
    position: relative;
    display: flow-root;
    width: 286px;
    height: 33px;
    background-repeat: no-repeat;
    background-size: 286px 33px;
}

.campo input {
    display: block;
    width: calc(100% - 42px);
    height: calc(100% - 6px);
    margin: 3px 4px 3px 38px;
    padding: 0 12px 0 8px;
    border: 0;
    background: transparent;
    color: #fff;
    font: 500 13.5px 'Chakra Petch', 'Segoe UI', sans-serif;
    outline: none;
}

.campo input::placeholder { color: #5d626b; }

/* Autofill do navegador pinta o campo de branco/azul e esconde o user_bg/pass_bg; segura o fundo transparente. */
.campo input:-webkit-autofill,
.campo input:-webkit-autofill:hover,
.campo input:-webkit-autofill:focus,
.campo input:-webkit-autofill:active {
    -webkit-text-fill-color: #fff;
    caret-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px #131516 inset;
    transition: background-color 600000s ease-out 0s;
}
.campo:focus-within { box-shadow: 0 0 0 1px var(--yellow); }

.panel-login .campo { position: absolute; left: 20px; }
.panel-login .campo-user { top: 74px; }
.panel-login .campo-pass { top: 138px; }

.btn-login {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 288px;
    height: 45px;
    padding-right: 22px;
    border: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: 288px 90px;
    background-position: 0 0;
    color: #fff;
    font: 700 14px 'Chakra Petch', 'Segoe UI', sans-serif;
    letter-spacing: 0.16em;
    cursor: pointer;
}

.btn-login:hover { background-position: 0 -45px; color: var(--yellow); }

.panel-login .btn-login { position: absolute; left: 19px; top: 188px; }

.mini-link {
    position: absolute;
    left: 21px;
    font-size: 12px;
    letter-spacing: 0.12em;
    color: #9aa0aa;
}

.mini-link:hover { color: var(--yellow); }
.mini-link-1 { top: 248px; }
.mini-link-2 { top: 270px; }

.login-erro {
    position: absolute;
    left: 21px;
    right: 20px;
    top: 174px;
    margin: 0;
    font-size: 11.5px;
    line-height: 12px;
    font-weight: 600;
    color: #ff6b6b;
}

/* Conta logada (substitui o formulario) */
.conta-bemvindo {
    position: absolute;
    left: 21px;
    top: 56px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.16em;
    color: #9aa0aa;
}

.conta-nome {
    position: absolute;
    left: 21px;
    right: 20px;
    top: 72px;
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
    color: var(--yellow);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.conta-usuario {
    position: absolute;
    left: 21px;
    top: 102px;
    font-size: 12px;
    color: var(--muted);
}

.conta-btn { left: 20px; text-align: left; }
.btn-link-svg { color: var(--yellow); }

.conta-saldo {
    position: absolute;
    left: 20px;
    right: 20px;
    top: 264px;
    display: flex;
    justify-content: space-between;
    padding-top: 10px;
    border-top: 1px solid #23262b;
    font-size: 12px;
}

.conta-saldo i { font-style: normal; letter-spacing: 0.12em; color: var(--muted); margin-right: 4px; }
.conta-saldo b { color: #fff; font-weight: 600; }

.painel-loading {
    position: absolute;
    left: 3px;
    right: 3px;
    top: 43px;
    bottom: 3px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: rgba(12, 13, 14, 0.97);
}

.spinner {
    width: 38px;
    height: 38px;
    border: 3px solid #2e3138;
    border-top-color: var(--yellow);
    border-radius: 50%;
    animation: giro 0.8s linear infinite;
}

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

.painel-loading-txt {
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.22em;
    color: #c7cbd2;
}

/* ---- Status ---- */
.panel-status { left: 0; top: 325px; width: 326px; height: 221px; }

.st-led { position: absolute; left: 23px; top: 53px; width: 22px; height: 22px; }

.st-estado {
    position: absolute;
    left: 56px;
    top: 53px;
    line-height: 22px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.st-estado.is-online { color: #38e038; }
.st-estado.is-offline { color: #ff4a4a; }
.st-estado.is-manutencao { color: var(--yellow); font-size: 16px; }

/* Led de manutencao (so existem on.png e off.png; o amarelo e desenhado em CSS no mesmo tamanho) */
.st-led-manut {
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #ffe27a, var(--yellow) 55%, #b88a0c);
    box-shadow: 0 0 6px rgba(244, 196, 48, 0.55);
}

.st-valor {
    position: absolute;
    right: 16px;
    line-height: 20px;
    font-size: 13.5px;
    font-weight: 600;
    color: #fff;
}

/* O painel mostra so Servidor e Versao (a linha "Jogadores online" saiu do site e da arte Status_bg.png; so o admin ve) */
.st-servidor { top: 88px; color: #5aa6ff; }
.st-versao { top: 113px; }

/* ---- Ranking (esquerda) ---- */
.panel-ranking { left: 4px; top: 558px; width: 318px; height: 372px; }

.rk-cabecalho {
    display: grid;
    grid-template-columns: 36px 1fr 1fr 50px;
    margin: 51px 0 0 6px;
    width: 305px;
    height: 17px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--muted);
}

.rk-cabecalho span:first-child { text-align: center; }
.rk-cabecalho span:last-child { text-align: right; padding-right: 14px; }
.rk-cabecalho span:nth-child(2),
.rk-cabecalho span:nth-child(3) { padding-left: 6px; }

.rk-linha {
    display: grid;
    grid-template-columns: 36px 1fr 1fr 50px;
    align-items: center;
    margin-left: 6px;
    width: 305px;
    height: 28px;
    background-repeat: no-repeat;
    background-size: 305px 28px;
    font-size: 12px;
}

.rk-pos { display: flex; justify-content: center; font-weight: 600; color: var(--muted); }
.rk-pos img { width: 28px; height: 25px; }
.rk-nome, .rk-digimon { min-width: 0; padding-left: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rk-nome { color: #fff; font-weight: 500; }
.rk-digimon { color: #aeb3bb; font-weight: 500; }
.rk-level { text-align: right; padding-right: 14px; font-weight: 600; }

/* ---- Links rapidos / Comunidade (direita) ---- */
.panel-links { left: 0; top: 0; width: 319px; height: 310px; }
.panel-shop { left: 0; top: 323px; width: 318px; height: 372px; }
.panel-comunidade { left: 0; top: 709px; width: 319px; height: 221px; }

.btn-link {
    position: absolute;
    left: 17px;
    width: 285px;
    height: 35px;
    display: flex;
    align-items: center;
    padding-left: 52px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: 285px 70px;
    background-position: 0 0;
    border: 0;
    color: #e8eaee;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.08em;
    cursor: pointer;
}

.btn-link:hover { background-position: 0 -35px; color: var(--yellow); }

.btn-link-ico {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
}

.btn-link-ico-social { left: 8px; }

/* ---- Shop (direita) ---- */
.shop-item {
    position: absolute;
    left: 10px;
    width: 298px;
    height: 56px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 12px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid #23262b;
    color: #fff;
}

.shop-item:hover { border-color: var(--yellow); }

.shop-item-img {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shop-item-img img { max-width: 40px; max-height: 40px; }
/* Icones de item do cliente sao pixel art pequenos (18px e 36px): ampliam em escala inteira e sem borrar. */
.shop-item-img-pix img { width: 36px; height: 36px; max-width: none; max-height: none; object-fit: contain; image-rendering: pixelated; }

.shop-item-info { display: flex; flex-direction: column; gap: 4px; }
.shop-item-info strong { font-size: 13px; letter-spacing: 0.05em; }

.shop-item-preco {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--yellow);
}

.shop-item-preco s { color: var(--muted); font-weight: 500; font-size: 11px; }

.moeda {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--yellow);
    color: #3a2c04;
    font-style: normal;
    font-size: 10px;
    font-weight: 700;
}

/* ---- Views (area central) ---- */
.view {
    position: absolute;
    inset: 0;
}

.view.is-enter { animation: view-in 0.22s ease-out; }

@keyframes view-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

/* ---- Home: carrossel ---- */
.panel-carrossel { left: 1px; top: 0; width: 813px; height: 360px; }

.car-janela {
    position: absolute;
    left: 7px;
    top: 11px;
    width: 798px;
    height: 342px;
    overflow: hidden;
    background: #0b0c0e;
}

.car-slide {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    transition: opacity 0.5s ease;
    color: #fff;
}

.car-slide.is-active { opacity: 1; z-index: 1; }

.car-img { width: 100%; height: 100%; object-fit: cover; }

.car-vazio {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 72% 45%, rgba(244, 196, 48, 0.1), transparent 55%),
        linear-gradient(135deg, #15171c, #0b0c0e);
}

.car-vazio .sem-imagem { background: none; justify-content: flex-end; padding-right: 150px; }
.car-vazio .sem-imagem svg { width: 64px; height: 64px; }

.car-texto {
    position: absolute;
    left: 34px;
    bottom: 58px;
    max-width: 470px;
    padding: 14px 24px 14px 16px;
    background: linear-gradient(90deg, rgba(6, 7, 9, 0.8), rgba(6, 7, 9, 0));
    opacity: 0;
    transition: opacity 0.2s ease;
}

.car-slide.is-active .car-texto {
    opacity: 1;
    transition-delay: 0.3s;
}

.car-titulo {
    display: block;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-shadow: 0 3px 0 rgba(0, 0, 0, 0.6);
}

.car-titulo em { display: block; font-style: normal; color: var(--yellow); }

.car-desc {
    display: block;
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.4;
    color: #eef0f3;
}

.car-moldura {
    position: absolute;
    left: 0;
    top: 0;
    width: 813px;
    height: 360px;
    pointer-events: none;
    z-index: 2;
}

.car-seta {
    position: absolute;
    top: 150px;
    z-index: 3;
    width: 28px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(8, 9, 11, 0.78);
    border: 1px solid #3b3e45;
    color: #fff;
    cursor: pointer;
}

.car-seta:hover { border-color: var(--yellow); color: var(--yellow); }
.car-prev { left: 16px; }
.car-next { right: 16px; }

.car-pontos {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 22px;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.car-ponto {
    width: 10px;
    height: 10px;
    border: 0;
    background: #5a5e66;
    cursor: pointer;
}

.car-ponto.is-active { background: #fff; }

/* ---- Home: noticias ---- */
.panel-noticias { left: 0; top: 382px; width: 815px; height: 321px; }

.ver-todas {
    position: absolute;
    right: 20px;
    top: 11px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #e5e7eb;
}

.ver-todas:hover { color: var(--yellow); }

.news-linha {
    position: absolute;
    left: 16px;
    width: 782px;
    height: 88px;
    display: block;
    background-repeat: no-repeat;
    background-size: 782px 88px;
}

.news-linha:hover { filter: brightness(1.18); }

.news-thumb {
    position: absolute;
    left: 3px;
    top: 3px;
    width: 204px;
    height: 80px;
    overflow: hidden;
    background: #0b0c0e;
}

.news-thumb img { width: 100%; height: 100%; object-fit: cover; }

.news-info { position: absolute; left: 224px; top: 14px; width: 450px; }

.news-titulo { display: block; font-size: 14.5px; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.news-titulo b { color: var(--yellow); font-weight: 700; letter-spacing: 0.04em; }

.news-desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 8px;
    font-size: 13.5px;
    line-height: 1.35;
    color: #aeb3bb;
}

.news-data {
    position: absolute;
    right: 24px;
    top: 14px;
    font-size: 12.5px;
    color: var(--muted);
    text-decoration: underline;
}

.news-seta {
    position: absolute;
    right: 26px;
    bottom: 10px;
    font-size: 22px;
    line-height: 1;
    color: var(--yellow);
}

/* ---- Home: screenshots ---- */
.panel-screenshots { left: 0; top: 725px; width: 815px; height: 205px; }

.shot-box {
    position: absolute;
    top: 54px;
    width: 186px;
    height: 136px;
    background-repeat: no-repeat;
    background-size: 186px 136px;
}

.shot-box:hover { filter: brightness(1.2); }

.shot-img {
    position: absolute;
    left: 3px;
    top: 3px;
    width: 180px;
    height: 130px;
    overflow: hidden;
    background: #0b0c0e;
}

.shot-img img { width: 100%; height: 100%; object-fit: cover; }

.sem-imagem {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #3e4148;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0 8px, transparent 8px 16px);
}

/* ---- Paineis genericos (views alem da home) ---- */
.gpanel {
    position: absolute;
    left: 0;
    top: 0;
    width: 815px;
    height: 930px;
    background: #0f1012;
    border: 1px solid #30333a;
    box-shadow: inset 0 0 0 1px #08090a;
}

.gpanel-cab {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 41px;
    padding: 0 18px;
    background: #0b0c0d;
    border-bottom: 1px solid #3a3d44;
}

.gpanel-ico { display: flex; color: var(--yellow); }

.gpanel-cab h2 { font-size: 15px; font-weight: 600; letter-spacing: 0.12em; color: #fff; }
.gpanel-cab i { font-style: normal; color: var(--muted); letter-spacing: 0.1em; }

.gpanel-corpo { padding: 24px 26px; }

.txt-link { color: var(--yellow); font-size: 13px; font-weight: 600; letter-spacing: 0.04em; }
.txt-link:hover { text-decoration: underline; }

.btn-login-lg { margin-top: 20px; }
a.btn-login-lg { text-decoration: none; }

/* Download */
.dl-grid { display: grid; grid-template-columns: 340px 1fr; gap: 28px; align-items: start; }

.dl-card {
    padding: 24px;
    background: var(--card);
    border: 1px solid #2b2e34;
}

.dl-nome { font-size: 24px; font-weight: 700; letter-spacing: 0.08em; color: var(--yellow); }
.dl-meta { margin-top: 6px; font-size: 13.5px; color: var(--muted); }
.dl-meta strong { color: #fff; }
.dl-nota { margin-top: 18px; font-size: 12.5px; line-height: 1.5; color: var(--muted); }

.dl-passos h3, .sub-titulo { font-size: 14px; font-weight: 600; letter-spacing: 0.12em; color: var(--yellow); margin-bottom: 14px; }

.dl-passos ol, .lista-passos { list-style: none; counter-reset: passo; display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }

.dl-passos li, .lista-passos li {
    counter-increment: passo;
    position: relative;
    padding-left: 38px;
    min-height: 26px;
    font-size: 14px;
    line-height: 1.55;
    color: #c7cbd2;
}

.dl-passos li::before, .lista-passos li::before {
    content: counter(passo);
    position: absolute;
    left: 0;
    top: 0;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--yellow);
    color: var(--yellow);
    font-size: 13px;
    font-weight: 700;
}

/* Painel admin */
.adm-corpo { display: flex; flex-direction: column; height: calc(930px - 42px); padding-bottom: 0; }
.adm-corpo .abas { flex: 0 0 auto; margin-bottom: 14px; gap: 0 2px; flex-wrap: wrap; }
.adm-corpo .aba { padding: 10px 12px; white-space: nowrap; letter-spacing: 0.08em; }
.adm-editor { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; padding-bottom: 20px; }

.adm-barra {
    flex: 0 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 14px;
}

.adm-ajuda { font-size: 12.5px; line-height: 1.45; color: var(--muted); max-width: 440px; }
.adm-barra-dir, .adm-lista-extra, .adm-acoes { display: flex; align-items: center; gap: 8px; }
.adm-lista-extra { margin-right: 6px; }
.adm-contador { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: var(--muted); margin-right: 4px; }

.adm-btn {
    padding: 8px 14px;
    background: transparent;
    border: 1px solid #50545c;
    color: #e8eaee;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    cursor: pointer;
}

.adm-btn:hover:not(:disabled) { border-color: var(--yellow); color: var(--yellow); }
.adm-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.adm-btn-principal { border-color: var(--yellow); color: var(--yellow); padding: 8px 22px; }
.adm-btn-principal:hover:not(:disabled) { background: var(--yellow); color: #14110a; }
.adm-btn-perigo:hover:not(:disabled) { border-color: #ff6b6b; color: #ff6b6b; }
.adm-btn-mini { padding: 6px 9px; font-size: 10px; }

.adm-cartoes { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; padding-right: 8px; }
.adm-cartoes::-webkit-scrollbar, .news-lista::-webkit-scrollbar { width: 8px; }
.adm-cartoes::-webkit-scrollbar-thumb, .news-lista::-webkit-scrollbar-thumb { background: #3a3d44; }
.adm-cartoes::-webkit-scrollbar-track, .news-lista::-webkit-scrollbar-track { background: #0b0c0d; }

.adm-cartao { padding: 14px 16px; background: var(--card); border: 1px solid #2b2e34; }
.adm-cartao-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.adm-cartao-topo strong { font-size: 13px; letter-spacing: 0.08em; color: var(--yellow); }

.adm-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.adm-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.adm-campo.is-largo { grid-column: 1 / -1; }
.adm-rotulo { font-size: 10.5px; font-weight: 600; letter-spacing: 0.1em; color: var(--muted); }

.adm-entrada {
    width: 100%;
    padding: 9px 11px;
    background: #0b0c0e;
    border: 1px solid #2e3138;
    color: #fff;
    font: 500 13px 'Chakra Petch', 'Segoe UI', sans-serif;
    outline: none;
}

textarea.adm-entrada { resize: vertical; min-height: 70px; }
.adm-entrada:focus { border-color: var(--yellow); }
select.adm-entrada { cursor: pointer; }

.adm-img { display: flex; align-items: center; gap: 14px; }

.adm-img-previa {
    width: 120px;
    height: 60px;
    flex: 0 0 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #0b0c0e;
    border: 1px solid #2e3138;
}

.adm-img-previa img { max-width: 100%; max-height: 100%; object-fit: contain; }
.adm-sem-img { font-size: 10px; letter-spacing: 0.1em; color: #4a4e56; }
.adm-img-info { display: flex; flex-direction: column; gap: 8px; }
.adm-dica { font-size: 11.5px; color: var(--muted); }

.news-lista { max-height: 830px; overflow-y: auto; padding-right: 6px; }

/* Minha conta */
.dados-conta { max-width: 520px; display: flex; flex-direction: column; border: 1px solid #2b2e34; }
.dados-conta div { display: flex; justify-content: space-between; align-items: center; padding: 15px 18px; border-bottom: 1px solid #23262b; }
.dados-conta div:nth-child(odd) { background: rgba(255, 255, 255, 0.025); }
.dados-conta div:last-child { border-bottom: 0; }
.dados-conta dt { font-size: 11.5px; font-weight: 600; letter-spacing: 0.12em; color: var(--muted); }
.dados-conta dd { font-size: 15px; font-weight: 600; color: #fff; }

/* Cadastro */
.cad-form { max-width: 340px; }
.cad-intro { font-size: 13.5px; line-height: 1.55; color: var(--muted); margin-bottom: 18px; }
.lbl-form { display: block; margin: 16px 0 7px; font-size: 11.5px; font-weight: 600; letter-spacing: 0.1em; color: #e5e7eb; }

.cad-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.campo.is-erro { box-shadow: 0 0 0 1px #ff6b6b; }
.form-erro { margin-top: 14px; max-width: 340px; font-size: 12.5px; line-height: 1.4; font-weight: 600; color: #ff6b6b; }
.form-erro.is-ok { color: #4ade80; }

.cfg-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.cfg-card { padding: 20px 22px 24px; background: var(--card); border: 1px solid #2b2e34; }
.cfg-card .sub-titulo { margin-bottom: 4px; }
.cfg-fixo { margin-top: 14px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.cfg-fixo strong { color: #fff; }
.cad-ja-logado { max-width: 420px; }
.cad-ja-logado strong { color: var(--yellow); }

.gpanel-loading {
    position: absolute;
    left: 0;
    right: 0;
    top: 41px;
    bottom: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: rgba(15, 16, 18, 0.97);
}

/* Abas */
.abas { display: flex; gap: 6px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }

.aba {
    margin-bottom: -1px;
    padding: 10px 20px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    color: #9aa0aa;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.12em;
    cursor: pointer;
}

.aba:hover { color: #fff; }
.aba.is-active { color: var(--yellow); border-bottom-color: var(--yellow); }

/* Rankings (view) */
.rk-tab-cab, .rk-tab-linha {
    display: grid;
    grid-template-columns: 70px 1fr 1fr 120px;
    align-items: center;
}

.rk-tab-cab { height: 30px; font-size: 11px; font-weight: 600; letter-spacing: 0.14em; color: var(--muted); }
.rk-tab-cab span:first-child { text-align: center; }
.rk-tab-cab span:last-child, .rk-tab-linha .rk-level { text-align: right; padding-right: 20px; }

.rk-tab-linha { height: 40px; font-size: 14.5px; }
.rk-tab-linha:nth-child(even) { background: rgba(255, 255, 255, 0.025); }
.rk-tab-linha .rk-nome, .rk-tab-linha .rk-digimon { padding-left: 4px; }
.rk-vazio { margin-top: 16px; }

/* Informacoes */
.cards-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.cards-grid-1 { grid-template-columns: 1fr; }

.card { padding: 18px; background: var(--card); border: 1px solid #2b2e34; }
.card strong { display: block; margin-bottom: 8px; font-size: 14.5px; letter-spacing: 0.06em; color: var(--yellow); }
.card p { font-size: 13.5px; line-height: 1.55; color: #b7bcc4; }
.card-meta { display: block; margin-top: 10px; font-size: 12px; color: var(--muted); }

.lista-simples { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.lista-simples li { padding: 12px 16px; background: var(--card); border-left: 3px solid var(--yellow); font-size: 14px; color: #dfe2e7; }

/* Comunidade */
.canais { display: flex; flex-direction: column; gap: 12px; }

.canal {
    display: flex;
    align-items: center;
    gap: 18px;
    height: 70px;
    padding: 0 20px;
    background: var(--card);
    border: 1px solid #2b2e34;
}

.canal:hover { border-color: var(--yellow); }
.canal-info { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.canal-info strong { font-size: 14.5px; letter-spacing: 0.08em; color: #fff; }
.canal-info span { font-size: 13px; color: var(--muted); }
.canal-seta { font-size: 26px; color: var(--yellow); }

/* Doacoes */
.doa-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 6px; }

.doa-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 26px 14px 18px;
    background: var(--card);
    border: 1px solid #2b2e34;
    text-align: center;
}

.doa-card.is-hot { border-color: var(--yellow); }

.doa-tag {
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    padding: 3px 10px;
    background: var(--yellow);
    color: #14110a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.doa-nome { font-size: 17px; letter-spacing: 0.08em; color: #fff; }
.doa-texto { min-height: 52px; font-size: 12px; line-height: 1.45; color: var(--muted); }
.doa-cash { font-size: 14px; color: #c7cbd2; }
.doa-cash em { display: block; font-style: normal; font-size: 30px; font-weight: 700; color: var(--yellow); line-height: 1.1; }
.doa-preco { font-size: 15px; font-weight: 600; color: #fff; }

.btn-plano {
    margin-top: 6px;
    width: 100%;
    padding: 10px 0;
    background: transparent;
    border: 1px solid #50545c;
    color: #e8eaee;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.14em;
    cursor: pointer;
}

.btn-plano:hover { border-color: var(--yellow); color: var(--yellow); }

/* Noticias (view) */
.news-lista { display: flex; flex-direction: column; gap: 14px; }

.news-item {
    display: flex;
    gap: 18px;
    width: 100%;
    padding: 12px;
    background: var(--card);
    border: 1px solid #2b2e34;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.news-item:hover, .news-item:focus-visible { border-color: var(--yellow); background: #181a1d; outline: none; }

.news-item .news-thumb { position: relative; left: auto; top: auto; flex: 0 0 204px; }

.news-item-corpo { display: block; flex: 1; min-width: 0; }

.news-item-topo { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: 12px; }
.news-item-topo b { color: var(--yellow); letter-spacing: 0.08em; }
.news-item-topo time { color: var(--muted); }
.news-item h3 { font-size: 16px; color: #fff; margin-bottom: 6px; letter-spacing: 0.02em; }
.news-item-resumo { display: block; font-size: 13.5px; line-height: 1.5; color: #aeb3bb; }
.news-item-ver { display: block; margin-top: 10px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.14em; color: var(--yellow); }

/* ---- Modal de noticia / evento ---- */
.nt-corpo { max-height: 600px; overflow-y: auto; padding-right: 8px; }
.nt-corpo::-webkit-scrollbar { width: 8px; }
.nt-corpo::-webkit-scrollbar-thumb { background: #3a3d44; }
.nt-corpo::-webkit-scrollbar-track { background: #0b0c0d; }

.nt-titulo { margin-bottom: 12px; font-size: 20px; letter-spacing: 0.03em; color: #fff; }
.nt-imagem { display: block; width: 100%; max-height: 260px; margin-bottom: 14px; object-fit: cover; border: 1px solid #2b2e34; }
.nt-texto { font-size: 14px; line-height: 1.6; color: #c3c8d0; white-space: pre-line; }
.nt-evento { margin-top: 6px; }
.nt-carregando { padding: 20px 0; font-size: 12.5px; letter-spacing: 0.12em; color: var(--muted); text-align: center; }

.nt-evt-topo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 14px 0 10px; }
.nt-periodo { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: #aeb3bb; }
.nt-evt-desc { margin-bottom: 4px; font-size: 13.5px; line-height: 1.55; color: #b7bcc4; }

.nt-chip { padding: 4px 10px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em; border: 1px solid; }
.nt-chip-ok { color: #6fe08a; border-color: #2f7a43; background: rgba(60, 170, 90, 0.12); }
.nt-chip-breve { color: var(--yellow); border-color: rgba(244, 196, 48, 0.55); background: rgba(244, 196, 48, 0.1); }
.nt-chip-fim { color: #9aa0a9; border-color: #444850; background: rgba(255, 255, 255, 0.04); }

.nt-sec { margin-top: 16px; }
.nt-sec-tit { margin-bottom: 8px; padding-bottom: 5px; font-size: 12.5px; letter-spacing: 0.16em; color: var(--yellow); border-bottom: 1px solid #2b2e34; }

.nt-ganhos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nt-ganho { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; background: var(--card); border: 1px solid #2b2e34; }
.nt-ganho-rot { font-size: 11.5px; letter-spacing: 0.14em; color: var(--muted); }
.nt-ganho strong { font-size: 18px; color: #fff; }
.nt-ganho .nt-exp { color: #6fe08a; }
.nt-ganho-lin { display: flex; align-items: center; gap: 10px; }
.nt-ganho-lin strong { font-size: 14px; }
.nt-ganho-lin em { width: 30px; font-size: 10.5px; font-style: normal; letter-spacing: 0.1em; color: var(--muted); }
.nt-nota { margin-top: 6px; font-size: 11px; letter-spacing: 0.06em; color: var(--muted); }

.nt-moeda { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 700; color: #fff; }
.nt-moeda-g { display: inline-flex; align-items: center; gap: 4px; }
.nt-moeda-g.nt-zero { opacity: 0.4; }
.nt-moeda-ic { width: 18px; height: 18px; background: center / contain no-repeat; image-rendering: pixelated; }

.nt-mobs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nt-drops { display: grid; grid-template-columns: 1fr; gap: 8px; }
.nt-drop { align-items: flex-start; }

.nt-slot {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: #0b0c0e;
    border: 1px solid #3a3d44;
}

.nt-qtd {
    position: absolute;
    right: 2px;
    bottom: 1px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 0 2px #000, 1px 1px 0 #000, -1px -1px 0 #000;
}

.nt-ficha-txt .nt-drop-info { color: var(--yellow); }
.nt-ficha-txt .nt-drop-desc { line-height: 1.4; }
.nt-ficha, .nt-drop, .nt-box-cab { display: flex; align-items: center; gap: 12px; padding: 8px 12px; background: var(--card); border: 1px solid #2b2e34; }
.nt-ficha-boss { border-color: rgba(244, 196, 48, 0.55); }
.nt-box-cab { margin-bottom: 10px; }
.nt-ficha-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nt-ficha-txt strong { font-size: 13.5px; color: #fff; overflow-wrap: anywhere; }
.nt-ficha-txt span { font-size: 11.5px; letter-spacing: 0.04em; color: var(--muted); }

.nt-ico {
    flex: 0 0 auto;
    display: block;
    background-repeat: no-repeat;
    background-position: 0 0;
    image-rendering: pixelated;
}

.nt-ico-item { width: 36px; height: 36px; background-size: 36px 36px; }
.nt-ico-digimon { width: 27px; height: 27px; background-size: auto 27px; transform: scale(1.5); transform-origin: left center; margin-right: 12px; }
.nt-ico-egg { width: 33px; height: 32px; background-size: auto 32px; }
.nt-ico-vazio { background: #0b0c0e; outline: 1px dashed #3a3d44; outline-offset: -1px; }
/* ---- Aviso (toast) e lightbox ---- */
.aviso {
    position: absolute;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    z-index: 50;
    padding: 10px 22px;
    background: #0b0c0e;
    border: 1px solid var(--yellow);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
}

.lightbox {
    position: absolute;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.88);
    cursor: zoom-out;
}

.lightbox img { max-width: 90%; max-height: 90%; }

@media (prefers-reduced-motion: reduce) {
    .view.is-enter { animation: none; }
    .car-slide { transition: none; }
}

/* ---- Modal de pagamento (topo + centro que repete + rodape) ---- */
.pop-overlay {
    position: absolute;
    inset: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(5, 6, 8, 0.8);
}

.pop { width: 815px; filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.6)); }

.pop-topo {
    position: relative;
    height: 74px;
    background-repeat: no-repeat;
    background-size: 815px 74px;
}

.pop-topo h3 {
    position: absolute;
    left: 24px;
    top: 10px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: #fff;
}

.pop-fechar {
    position: absolute;
    right: 14px;
    top: 5px;
    width: 30px;
    height: 28px;
    background: transparent;
    border: 0;
    color: var(--muted);
    font-size: 15px;
    cursor: pointer;
}

.pop-fechar:hover { color: var(--yellow); }

.pop-resumo {
    position: absolute;
    left: 24px;
    top: 47px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--yellow);
}

.pop-meio {
    padding: 14px 44px 10px;
    min-height: 262px;
    background-repeat: repeat-y;
    background-size: 815px 173px;
}

.pop-base {
    position: relative;
    height: 74px;
    background-repeat: no-repeat;
    background-size: 815px 74px;
}

.pop-acoes {
    position: absolute;
    left: 34px;
    right: 34px;
    top: 10px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.pop-acoes .pop-btn-principal { margin-left: auto; }

.pop-btn {
    cursor: pointer;
    font-family: inherit;
    font-weight: 700;
    color: #fff;
}

.pop-btn-fantasma {
    padding: 12px 24px;
    background: transparent;
    border: 1px solid #50545c;
    font-size: 12.5px;
    letter-spacing: 0.14em;
}

.pop-btn-fantasma:hover { border-color: var(--yellow); color: var(--yellow); }

.pop-btn-principal {
    width: 288px;
    height: 45px;
    padding-right: 20px;
    border: 0;
    background: transparent url('../img/btn_login.png') no-repeat 0 0 / 288px 90px;
    font-size: 13px;
    letter-spacing: 0.12em;
}

.pop-btn-principal:hover { background-position: 0 -45px; color: var(--yellow); }

.pop-passo.is-enter { animation: view-in 0.22s ease-out; }

.pop-centro {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 234px;
    text-align: center;
}

.pop-instrucao { font-size: 13px; font-weight: 600; letter-spacing: 0.14em; color: var(--yellow); }
.pop-texto { font-size: 13.5px; line-height: 1.55; color: #b7bcc4; }
.pop-mini { font-size: 12px; color: var(--muted); }
.pop-mini strong { color: #fff; }

.pop-teste {
    margin-bottom: 12px;
    padding: 8px 12px;
    background: rgba(244, 196, 48, 0.1);
    border: 1px solid rgba(244, 196, 48, 0.55);
    font-size: 12px;
    line-height: 1.45;
    color: #f1d77a;
}

.pop-metodos { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 14px; }

.pop-metodo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 24px 16px 22px;
    background: var(--card);
    border: 1px solid #2b2e34;
    color: var(--yellow);
    font-family: inherit;
    text-align: center;
    cursor: pointer;
}

.pop-metodo:hover { border-color: var(--yellow); background: #181a1d; }
.pop-metodo strong { font-size: 18px; letter-spacing: 0.12em; color: #fff; }
.pop-metodo span { font-size: 12.5px; line-height: 1.45; color: var(--muted); }

.pop-pix { display: grid; grid-template-columns: 224px 1fr; gap: 28px; align-items: start; }

.pop-qr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 224px;
    height: 224px;
    padding: 12px;
    background: #fff;
    color: #333;
    font-size: 12px;
    text-align: center;
}

.pop-qr img, .pop-qr canvas { display: block; max-width: 200px; max-height: 200px; }

.pop-pix-info { display: flex; flex-direction: column; gap: 10px; }

.pop-copia { display: flex; }

.pop-copia input {
    flex: 1;
    min-width: 0;
    padding: 9px 11px;
    background: #0b0c0e;
    border: 1px solid #2e3138;
    border-right: 0;
    color: #c7cbd2;
    font: 500 12px 'Chakra Petch', 'Segoe UI', sans-serif;
    outline: none;
}

.pop-btn-copiar {
    padding: 0 18px;
    background: transparent;
    border: 1px solid var(--yellow);
    color: var(--yellow);
    font: 700 11.5px 'Chakra Petch', 'Segoe UI', sans-serif;
    letter-spacing: 0.1em;
    cursor: pointer;
}

.pop-btn-copiar:hover { background: var(--yellow); color: #14110a; }

.pop-aguardando { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: #fff; }
.spinner-mini { width: 16px; height: 16px; border-width: 2px; }

.pop-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 18px;
    max-width: 580px;
    margin: 12px auto 0;
}

.pop-campo { display: flex; flex-direction: column; gap: 6px; }
.pop-campo span { font-size: 10.5px; font-weight: 600; letter-spacing: 0.1em; color: var(--muted); }
.pop-largo { grid-column: 1 / -1; }

.pop-campo input {
    width: 100%;
    padding: 10px 12px;
    background: #0b0c0e;
    border: 1px solid #2e3138;
    color: #fff;
    font: 500 14px 'Chakra Petch', 'Segoe UI', sans-serif;
    outline: none;
}

.pop-campo input:focus { border-color: var(--yellow); }
.pop-campo input::placeholder { color: #50545c; }

.pop-icone { margin-bottom: 4px; }
.pop-ok { color: #4ade80; }
.pop-falha { color: #ff6b6b; }

.view-doacoes .doa-card { cursor: pointer; }
.view-doacoes .doa-card:hover { border-color: var(--yellow); }

/* ---- Painel admin: aba CAIXA ---- */
.adm-caixa-filtros { align-items: flex-end; flex-wrap: wrap; }
.adm-filtro-campos { display: flex; align-items: flex-end; gap: 12px; }
.adm-data { width: 148px; color-scheme: dark; }
.adm-check { display: flex; align-items: center; gap: 4px; padding-bottom: 8px; font-size: 12px; color: #c7cbd2; cursor: pointer; }

.adm-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; flex: 0 0 auto; }

.adm-kpi {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 14px;
    background: var(--card);
    border: 1px solid #2b2e34;
}

.adm-kpi-rotulo { font-size: 10px; font-weight: 600; letter-spacing: 0.1em; color: var(--muted); }
.adm-kpi-valor { font-size: 21px; color: #fff; }
.adm-kpi-sub { font-size: 11px; line-height: 1.35; color: var(--muted); }
.adm-kpi.is-entrada { border-color: rgba(74, 222, 128, 0.5); }
.adm-kpi.is-entrada .adm-kpi-valor { color: #4ade80; }
.adm-kpi.is-ruim .adm-kpi-valor { color: #ff8a80; }

.adm-nota { margin: 2px 0 0; }
.adm-bloco-titulo { display: block; margin-bottom: 10px; font-size: 12px; letter-spacing: 0.12em; color: var(--yellow); }
.adm-duplo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; flex: 0 0 auto; }
.adm-cartoes .adm-cartao { flex: 0 0 auto; }

.adm-tabela { width: 100%; border-collapse: collapse; font-size: 12px; }
.adm-tabela th { padding: 6px 8px; text-align: left; font-size: 10px; font-weight: 600; letter-spacing: 0.08em; color: var(--muted); border-bottom: 1px solid #2b2e34; }
.adm-tabela td { padding: 7px 8px; color: #dfe2e7; border-bottom: 1px solid #1d1f23; vertical-align: top; }
.adm-tabela tbody tr:nth-child(even) { background: rgba(255, 255, 255, 0.02); }
.adm-tabela .adm-num { text-align: right; white-space: nowrap; }
.adm-tabela td.adm-ok { color: #4ade80; font-weight: 600; }
.adm-tabela .adm-mono { font-family: Consolas, 'Courier New', monospace; font-size: 11px; color: var(--muted); }
.adm-st-aprovado { color: #4ade80; font-weight: 600; }
.adm-st-pendente { color: var(--yellow); font-weight: 600; }
.adm-st-recusado { color: #ff8a80; font-weight: 600; }
.adm-st-cancelado, .adm-st-expirado { color: #9aa0aa; font-weight: 600; }
.adm-teste { color: #14110a; font-size: 9.5px; font-weight: 700; letter-spacing: 0.08em; }
td.adm-teste { color: var(--yellow); }

/* ---- Recuperar senha / codigo por e-mail ---- */
.rec-codigo {
    width: 286px;
    padding: 12px 14px;
    font-size: 22px;
    letter-spacing: 0.5em;
    text-align: center;
    font-weight: 700;
}

.rec-links { display: flex; align-items: center; gap: 10px; margin-top: 16px; color: var(--muted); }
.rec-link { background: none; border: 0; padding: 0; font-family: inherit; cursor: pointer; }
.rec-link:disabled { color: var(--muted); cursor: not-allowed; text-decoration: none; }
.cfg-fixo-topo { margin: 6px 0 4px; }

.cfg-codigo-linha { display: flex; gap: 8px; align-items: stretch; }
.cfg-codigo { width: 130px; flex: 0 0 130px; letter-spacing: 0.3em; text-align: center; font-weight: 700; }
.cfg-codigo-linha .adm-btn { white-space: nowrap; }


/* ---- Seletor de idioma (PT / EN / ES) no canto da barra de menu ---- */
.lang-sel {
    position: absolute;
    top: 38px;
    right: 22px;
    display: flex;
    gap: 10px;
    z-index: 6;
}
.lang-btn {
    display: block;
    padding: 0;
    line-height: 0;
    background: none;
    border: 2px solid #3a4560;
    border-radius: 3px;
    cursor: pointer;
    opacity: .55;
    transition: opacity .15s, border-color .15s, transform .15s;
}
.lang-btn img { display: block; width: 30px; height: 20px; }
.lang-btn:hover { opacity: 1; border-color: #f4c430; transform: translateY(-1px); }
.lang-btn.is-active { opacity: 1; border-color: #f4c430; box-shadow: 0 0 8px rgba(244, 196, 48, .55); cursor: default; transform: none; }

/* Pacote da box no modal do Cash Shop: grande, centralizado, girando (frente + verso, como no cliente). */
.nt-pacote {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 250px;
    margin: 4px 0 10px;
    perspective: 420px;
}
.nt-pacote[hidden] { display: none; }
.nt-pacote-brilho {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 220px;
    height: 220px;
    margin: -110px 0 0 -110px;
    background: radial-gradient(circle, rgba(244, 196, 48, .22) 0%, rgba(244, 196, 48, .08) 45%, transparent 70%);
    pointer-events: none;
}
.nt-pacote-palco { transform-style: preserve-3d; animation: nt-pacote-bob 4.65s ease-in-out infinite alternate; }
.nt-pacote-giro {
    position: relative;
    width: 130px;
    height: 216px;
    transform-style: preserve-3d;
    animation: nt-pacote-giro 11.25s linear infinite;
    filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .55));
}
.nt-pacote-face {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    image-rendering: pixelated;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.nt-pacote-verso { transform: rotateY(180deg); }
.nt-pacote-espelho { filter: brightness(.7); }
@keyframes nt-pacote-giro { from { transform: rotateY(-18deg); } to { transform: rotateY(342deg); } }
@keyframes nt-pacote-bob { from { transform: rotateX(-5.5deg); } to { transform: rotateX(5.5deg); } }
@media (prefers-reduced-motion: reduce) {
    .nt-pacote-giro, .nt-pacote-palco { animation: none; }
}

.nt-grupo-tit { margin: 14px 0 8px; color: var(--yellow); font-weight: 700; letter-spacing: .03em; }
.nt-grupo-tit:first-of-type { margin-top: 4px; }

/* Metodo de pagamento escolhido no cliente do jogo (link #doacoes/pix ou #doacoes/cartao) */
.pop-metodo.is-preferido { border-color: var(--yellow); box-shadow: 0 0 0 1px var(--yellow), 0 0 16px rgba(244, 196, 48, .35); }

/* Doacoes: valor personalizado (o jogador digita quantos Cash quer) */
.doa-custom {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px 28px;
    margin-top: 18px;
    padding: 20px 22px;
    background: var(--card);
    border: 1px solid #2b2e34;
}
.doa-custom-info { display: flex; flex-direction: column; gap: 6px; flex: 1 1 260px; }
.doa-custom-info .doa-texto { min-height: 0; }
.doa-custom-unit { font-size: 13px; color: #c7cbd2; }
.doa-custom-unit b { color: #4ade80; font-weight: 700; }
.doa-custom-faixa { font-size: 11.5px; color: var(--muted); }
.doa-custom-form { display: flex; flex-direction: column; gap: 8px; flex: 0 1 300px; min-width: 220px; }
.doa-custom-form .lbl-form { margin: 0; }
.doa-custom-form input {
    width: 100%;
    padding: 10px 12px;
    background: #0b0c0e;
    border: 1px solid #2e3138;
    color: #fff;
    font: 600 16px 'Chakra Petch', 'Segoe UI', sans-serif;
    outline: none;
}
.doa-custom-form input:focus { border-color: var(--yellow); }
.doa-custom-form input::placeholder { color: #50545c; font-weight: 500; }
.doa-custom-total { font-size: 13px; color: #c7cbd2; }
.doa-custom-total strong { font-size: 19px; color: var(--yellow); }
.doa-custom-form .btn-plano { margin-top: 2px; }
.doa-custom-form .form-erro { margin-top: 0; max-width: none; }
