/* VIVA POKER — CAIXA | ÚNICA FOLHA DE ESTILOS */

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

:root {
    --bg: #070707;
    --panel: #111211;
    --panel-light: #181a17;
    --line: #282b25;
    --text: #f4f5f1;
    --muted: #868b81;
    --lime: #B9FF16;
    --lime-soft: rgba(185, 255, 22, .12);
    --radius: 18px;
}

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

html {
    background: var(--bg);
    min-height: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    background: var(--bg);
}

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

button,
input {
    font: inherit;
}

button {
    cursor: pointer;
}

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

[hidden] {
    display: none !important;
}

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

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.brand img {
    width: 139px;
    max-height: 43px;
    object-fit: contain;
    object-position: left center;
}

.brand span {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 2.2px;
    background: var(--lime);
    color: #111;
    padding: 7px 8px;
    border-radius: 5px;
}

.status-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--lime);
    box-shadow: 0 0 13px rgba(185, 255, 22, .7);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.2px;
    color: var(--lime);
}

.eyebrow-line {
    display: inline-block;
    width: 20px;
    height: 1px;
    background: var(--lime);
}

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

.login-page {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: radial-gradient(ellipse 46% 40% at 12% 60%, rgba(75, 104, 15, .11), transparent 100%), #070707;
}

.login-glow {
    pointer-events: none;
    position: absolute;
    right: -300px;
    top: -440px;
    width: 920px;
    height: 930px;
    background: radial-gradient(circle, rgba(185, 255, 22, .072), transparent 67%);
}

.login-header,
.login-footer {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1290px, calc(100% - 90px));
    margin: 0 auto;
}

.login-header {
    padding-top: 37px;
}

.login-header-note {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #a2a69d;
    font-size: 12px;
}

.login-footer {
    padding: 22px 0 28px;
    color: #6e7368;
    border-top: 1px solid #20221e;
    font-size: 11px;
}

.login-footer b {
    color: var(--lime);
}

.login-main {
    position: relative;
    z-index: 1;
    width: min(1130px, calc(100% - 90px));
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(375px, 435px);
    align-items: center;
    gap: 100px;
    margin: 55px auto 78px;
}

.login-presentation {
    position: relative;
    padding: 25px 0 70px;
}

.login-presentation h1 {
    font-size: clamp(52px, 5.5vw, 85px);
    line-height: 1.055;
    letter-spacing: -4.8px;
    margin: 24px 0 22px;
    font-weight: 800;
}

.login-presentation h1 em {
    font-style: normal;
    color: var(--lime);
}

.login-presentation>p {
    color: #a2a69c;
    line-height: 1.85;
    max-width: 400px;
    font-size: 15px;
}

.login-footnote {
    color: #777d71;
    font-size: 11px;
    letter-spacing: .4px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 220px;
}

.thin-line {
    height: 1px;
    width: 28px;
    background: #63773a;
}

.login-visual {
    position: absolute;
    bottom: 88px;
    left: 65px;
    height: 160px;
    width: 350px;
    pointer-events: none;
}

.visual-card {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 145px;
    border-radius: 12px;
    background: linear-gradient(160deg, #24291c, #10120e);
    border: 1px solid #546b27;
    box-shadow: 0 15px 40px #0009;
    font-size: 65px;
    color: var(--lime);
}

.visual-one {
    left: 13px;
    transform: rotate(-19deg);
}

.visual-two {
    left: 105px;
    transform: rotate(-4deg);
    color: #f5f5f2;
    border-color: #676d5c;
}

.visual-three {
    left: 193px;
    transform: rotate(15deg);
}

.login-card {
    background: linear-gradient(155deg, #181b16, #111210 50%, #121411);
    border: 1px solid #30372a;
    box-shadow: 0 25px 90px #0009, 0 0 90px rgba(185, 255, 22, .025);
    padding: 37px 37px 31px;
    border-radius: 24px;
}

.login-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.chip {
    border: 1px solid #47572d;
    border-radius: 100px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: var(--lime);
    padding: 9px 12px;
}

.login-step {
    font-size: 11px;
    color: #858a7f;
    letter-spacing: 1px;
}

.login-card-icon {
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 31px;
    color: var(--lime);
    width: 58px;
    height: 58px;
    border-radius: 15px;
    background: #252e1b;
    border: 1px solid #43522d;
}

.login-card h2 {
    font-size: 29px;
    letter-spacing: -1px;
    margin: 22px 0 11px;
}

.login-subtitle {
    color: #999e94;
    font-size: 13px;
    line-height: 1.8;
    margin: 0 0 30px;
    max-width: 330px;
}

.field {
    margin-bottom: 19px;
}

.field label {
    display: block;
    font-weight: 900;
    font-size: 12px;
    margin-bottom: 11px;
    color: #e8ebe4;
}

.field input {
    display: block;
    width: 100%;
    height: 54px;
    padding: 0 15px;
    border: 1px solid #353a30;
    border-radius: 10px;
    color: #fff;
    font-weight: 800;
    background: #0c0e0b;
    transition: border-color .2s;
}

#login_whatsapp {
    font-weight: 800;
}

#codigo {
    font-weight: 900;
    letter-spacing: 6px;
}

.field input:focus {
    border-color: var(--lime);
    outline: 0;
}

.field small {
    display: block;
    color: #81887b;
    margin-top: 10px;
    font-size: 11px;
}

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

.field .iti {
    width: 100%;
    --iti-border-color: rgba(255, 255, 255, .09);
    --iti-country-selector-bg: #171717;
    --iti-icon-color: #B9FF16;
    --iti-dropdown-border: rgba(185, 255, 22, .20);
    --iti-hover-color: rgba(185, 255, 22, .12);
    --iti-spacer-horizontal: 12px;
}

.field .iti input {
    width: 100%;
    padding-left: 106px !important;
    padding-right: 14px;
}

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

.field .iti__selected-country:hover,
.field .iti__selected-country:focus-visible {
    background: rgba(185, 255, 22, .10) !important;
}

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

.field .iti__arrow {
    border-top-color: #B9FF16 !important;
}

.field .iti__arrow--up {
    border-bottom-color: #B9FF16 !important;
}

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

.iti__country-selector,
.iti__dropdown-content {
    z-index: 1000001 !important;
    --iti-country-selector-bg: #171717;
    --iti-border-color: rgba(185, 255, 22, .25);
    --iti-icon-color: #B9FF16;
    --iti-dropdown-bg: #171717;
    background: #171717 !important;
    color: #fff !important;
    border-color: rgba(185, 255, 22, .25) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .50) !important;
}

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

.iti__search-input::placeholder {
    color: #8f938a !important;
}

.iti__country-list {
    background: #171717 !important;
    color: #fff !important;
}

.iti__country {
    background: #171717 !important;
    color: #eee !important;
}

.iti__country.iti__highlight,
.iti__country:hover {
    background: rgba(185, 255, 22, .14) !important;
}

.iti__country-name {
    color: #eee !important;
}

.iti__dial-code {
    color: #aaa !important;
}

.primary-button {
    margin-top: 8px;
    width: 100%;
    min-height: 54px;
    background: var(--lime);
    color: #111;
    border: 0;
    border-radius: 10px;
    padding: 14px 17px;
    font-weight: 800;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background .2s, transform .2s;
}

.primary-button:hover {
    background: #D1FF5E;
    transform: translateY(-1px);
}

.primary-button:disabled {
    opacity: .55;
    cursor: wait;
    transform: none;
}

.primary-button>span:last-child {
    font-size: 20px;
    font-weight: 400;
}

.login-card-footer {
    margin-top: 31px;
    padding-top: 23px;
    border-top: 1px solid #2d3129;
    display: flex;
    gap: 9px;
    align-items: center;
    color: #858c80;
    font-size: 11px;
}

.shield-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    border: 1px solid #687c3e;
    border-radius: 50%;
    color: var(--lime);
    font-size: 10px;
}

.login-message {
    background: #382016;
    border: 1px solid #754231;
    color: #ffd8c9;
    border-radius: 10px;
    margin: 8px 0 12px;
    padding: 12px;
    font-size: 12px;
    line-height: 1.5;
}

.code-actions {
    display: flex;
    justify-content: space-between;
    margin-top: 17px;
    gap: 12px;
}

.code-actions button {
    border: 0;
    background: none;
    color: var(--lime);
    font-size: 11px;
    padding: 8px 0;
}



/* PERSONALIZAÇÕES DO CAIXA — NÃO ALTERAR O CSS DO CLUBE */

/* VIVA POKER · CAIXA — mesma linguagem visual do Clube (referência 22/10/2026).
   Esta folha trata apenas do Caixa. O CSS do Clube original não é alterado. */
:root {
  --verde: #B9FF16;
  --fundo: #070707;
  --borda: rgba(185,255,22,.16);
  --texto: #f4f5f1;
  --secundaria: #999e94;
  --topo: 76px;
  color-scheme: dark;
}
html { min-height:100%; background:#070707; }
body.pagina-sistema { margin:0; min-height:100vh; background:radial-gradient(ellipse 60% 50% at 100% -12%,rgba(185,255,22,.055),transparent 75%),#070707; color:var(--texto); font-family:Arial,Helvetica,sans-serif; }
body.pagina-login { background:#070707; }
button, input { font-family:inherit; }
button { cursor:pointer; }
[hidden] {display:none!important}
.ico { width:19px; height:19px; vertical-align:middle; flex:0 0 auto; }
/* Login — reproduz os elementos do Clube, sem centrar um card vazio. */
.login-page{overflow:hidden;}
.login-header{position:relative;}
.login-presentation h1{font-size:clamp(48px,5.1vw,78px);letter-spacing:-3.5px;}
.login-main{gap:78px;}
.login-card .primary-button { font-family:inherit; }
.login-card .primary-button:disabled{cursor:wait;}
.login-card #codigo {text-align:left;font-weight:900;letter-spacing:6px;}
.login-card .field .iti {width:100%;}
.login-card .field .iti input{padding-left:106px!important;}
.login-card .field .iti__selected-country{background:rgba(255,255,255,.045)!important;border-right:1px solid rgba(255,255,255,.09)!important;color:white!important;}
.login-card .field .iti__selected-dial-code{color:#fff!important;}
.login-card .field .iti__arrow{border-top-color:var(--verde)!important;}
.login-card .field .iti__arrow--up{border-bottom-color:var(--verde)!important;}
.iti--detached-country-selector{z-index:1100!important;}
.iti__country-selector,.iti__dropdown-content{z-index:1101!important;background:#171717!important;color:#eee!important;border:1px solid rgba(185,255,22,.25)!important;box-shadow:0 18px 45px rgba(0,0,0,.5)!important;border-radius:12px!important;}
.iti__country-list,.iti__country{background:#171717!important;color:white!important;}
.iti__country.iti__highlight,.iti__country:hover{background:rgba(185,255,22,.14)!important;}
.iti__search-input{background:#242424!important;color:white!important;border:1px solid rgba(255,255,255,.12)!important;}
.iti__dial-code{color:#aaa!important;}
.login-glow{opacity:1;}
/* Cabeçalho operacional fixo, com a mesma leve transparência do App/Clube. */
.topo{position:fixed;inset:0 0 auto;height:var(--topo);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1220px)/2));background:rgba(5,5,5,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(185,255,22,.10);}
.topo:after{content:"";position:absolute;bottom:-1px;left:max(28px,calc((100vw - 1220px)/2));width:120px;height:3px;background:var(--verde);border-radius:12px;}
.topo .marca{gap:10px;}
.topo .marca img{width:139px;max-height:43px;object-fit:contain;}
.topo .marca span{font-size:9px;letter-spacing:2px;background:var(--verde);color:#111;border-radius:5px;padding:7px 8px;font-weight:900;}
.menu-abrir{display:grid;place-items:center;width:42px;height:42px;border:1px solid #344328;border-radius:10px;background:#1a2014;color:var(--verde);}
.menu-abrir .ico{width:18px;height:18px;}
.conteudo{max-width:1220px;margin:0 auto;padding:calc(var(--topo) + 45px) 28px 96px;min-height:100vh;}
/* Cabeçalhos e estrutura da página, padrão Mundo Físico. */
.pagina-cabecalho{margin:0 0 28px;}
.pagina-cabecalho .eyebrow{font-size:10px;letter-spacing:2px;}
.pagina-cabecalho h1{font-size:clamp(33px,3.8vw,53px);font-weight:900;line-height:1.08;letter-spacing:-1.8px;margin:13px 0 11px;color:#fff;}
.pagina-cabecalho h1 em{color:var(--verde);font-style:normal;}
.pagina-cabecalho p{font-size:13px;color:#999e94;margin:0;line-height:1.6;}
.pagina-titulo-linha{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.voltar{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid #333e2a;border-radius:10px;color:var(--verde);font-size:12px;font-weight:800;white-space:nowrap;}
.voltar .ico{height:15px;width:15px;}
/* Cartão do usuário: referência à identidade Clube. */
.usuario-ficha{width:100%;display:flex;align-items:center;gap:14px;border:1px solid #30382b;background:linear-gradient(125deg,#171b14,#10130f);border-radius:16px;padding:16px 19px;margin-bottom:27px;min-width:0;}
.avatar{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid #40552a;border-radius:13px;background:#25321a;color:var(--verde);}
.avatar .ico{width:23px;height:23px;}
.usuario-ficha>div{min-width:0;flex:1;}
.usuario-legenda{display:block;margin-bottom:4px;color:var(--verde);font-size:9px;font-weight:900;letter-spacing:1px;}
.usuario-ficha strong{display:block;font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.usuario-ficha small{display:block;color:#929a8e;font-size:11px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.usuario-ativo{margin-left:auto;flex:0 0 auto;color:var(--verde);border:1px solid #3b4f23;background:#202c17;border-radius:30px;font-size:9px;font-weight:900;padding:8px 11px;letter-spacing:.5px;}
/* Cards e seção no mesmo estilo dos painéis do Clube. */
.servicos-area{background:#111510;border:1px solid #30392a;border-radius:19px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.23);}
.section-title{padding:25px 27px 23px;border-bottom:1px solid #30392a;}
.section-title span,.section-kicker{display:block;color:var(--verde);font-size:9px;font-weight:900;letter-spacing:1.8px;}
.section-title h2{font-size:23px;line-height:1.1;font-weight:900;margin:10px 0 7px;color:#fff;}
.section-title p{margin:0;font-size:12px;color:#9ba097;}
.cards-servicos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:22px;}
.servico-card{position:relative;display:flex;align-items:center;gap:18px;min-height:126px;padding:21px 23px;border:1px solid #333c2d;border-radius:14px;background:linear-gradient(145deg,#1a2017,#131712);color:#fff;transition:transform .18s,border-color .18s,box-shadow .18s;}
.servico-card:hover{border-color:#627f3b;transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.2);}
.servico-card:active{transform:scale(.988);}
.servico-icone{width:51px;height:51px;flex:none;display:grid;place-items:center;color:var(--verde);border:1px solid #3c4c2b;background:#26311d;border-radius:13px;}
.servico-icone .ico{width:25px;height:25px;}
.servico-dados{display:block;flex:1;min-width:0;}
.servico-card strong{display:block;color:#f6f7f3;font-size:15px;font-weight:900;line-height:1.3;}
.servico-card small{display:block;color:#9ea59a;margin-top:8px;font-size:11px;line-height:1.4;}
.servico-seta{display:grid;place-items:center;color:#8fa977;}
.servico-seta .ico{height:16px;width:16px;}
.lista-clubes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:22px;}
.clube-opcao{min-width:0;min-height:102px;padding:20px;display:flex;align-items:center;text-align:left;gap:15px;border:1px solid #333c2d;border-radius:14px;background:linear-gradient(145deg,#1a2017,#131712);color:#fff;}
.clube-opcao:hover{border-color:#627f3b;}
.clube-icone{width:49px;height:49px;display:grid;place-items:center;flex:none;border-radius:12px;background:#26311d;border:1px solid #3c4c2b;color:var(--verde);}
.clube-icone .ico{width:22px;height:22px;}
.clube-texto{flex:1;min-width:0;}
.clube-texto strong{font-size:14px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.clube-texto small{display:block;font-size:11px;color:#9da697;margin-top:7px;}
.clube-opcao>.ico{color:var(--verde);width:16px;height:16px;}
.modulo-intro{display:flex;align-items:center;gap:20px;border:1px solid #30392a;background:#111510;border-radius:19px;max-width:700px;padding:28px;}
.intro-icone{display:grid;place-items:center;flex:none;width:62px;height:62px;background:#26311d;border:1px solid #42522d;color:var(--verde);border-radius:15px;}
.intro-icone .ico{width:28px;height:28px;}
.modulo-intro h2{font-size:21px;color:white;margin:9px 0;}
.modulo-intro p{font-size:12px;color:#a2a89e;margin:0;line-height:1.5;}
.estado-card{max-width:550px;margin:36px auto;padding:35px 30px;border:1px solid #30392a;border-radius:20px;background:#111510;text-align:center;}
.estado-card .login-icone{display:grid;place-items:center;}
.estado-card .login-icone .ico{width:28px;height:28px;}
.estado-card h1{font-size:24px;margin:15px 0 10px;}
.estado-card p{color:#999e94;font-size:13px;line-height:1.5;}
.botao-principal{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;min-width:140px;padding:0 18px;background:var(--verde);color:#10130d;border:0;border-radius:10px;font-size:12px;font-weight:900;}
.botao-principal .ico{width:16px;height:16px;}
.botao-principal:disabled{opacity:.5;cursor:wait;}
.botao-link{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;background:transparent;color:var(--verde);font-weight:800;font-size:12px;}
/* Menu fixo de navegação, sempre sobre o cabeçalho quando aberto. */
.menu-sombra{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:290;}
.menu-lateral{position:fixed;inset:0 0 0 auto;z-index:300;width:min(365px,90vw);padding:25px 20px max(20px,env(safe-area-inset-bottom));background:#0e100d;border-left:1px solid #344328;box-shadow:-20px 0 70px #000c;transform:translateX(103%);visibility:hidden;transition:transform .22s ease;display:flex;flex-direction:column;}
.menu-lateral.aberto{transform:translateX(0);visibility:visible;}
.menu-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--verde);font-size:10px;font-weight:900;letter-spacing:1.7px;}
.menu-cabecalho button{width:39px;height:39px;display:grid;place-items:center;background:#1b2117;border:1px solid #344328;color:var(--verde);border-radius:10px;}
.menu-identidade{margin-top:18px;padding:19px 14px;border:1px solid #313d2a;background:#171c14;border-radius:12px;}
.menu-identidade small{display:block;color:var(--verde);font-size:9px;letter-spacing:1.2px;font-weight:900;margin-bottom:10px;}
.menu-identidade strong{display:block;color:white;font-size:15px;}
.menu-identidade span{display:block;color:#a1a99e;font-size:11px;margin-top:5px;}
.menu-links{display:flex;flex-direction:column;gap:3px;overflow-y:auto;margin-top:15px;}
.menu-grupo-titulo{display:block;font-size:9px;font-weight:900;letter-spacing:1.8px;color:#737c6f;padding:13px 13px 9px;}
.menu-links a{min-height:44px;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;font-size:12px;color:#b7bdb3;}
.menu-links a:hover,.menu-links a.menu-ativo{background:#27331b;color:var(--verde);}
.menu-links .ico{width:18px;height:18px;}
.menu-rodape{margin-top:auto;border-top:1px solid #292e25;padding-top:17px;}
.sair{display:flex;align-items:center;justify-content:center;gap:10px;background:#1a1f17;color:#e9efe5;border:1px solid #313b2a;width:100%;border-radius:10px;min-height:45px;font-size:12px;font-weight:800;}
.sair .ico{width:17px;height:17px;}
/* Alertas no padrão interno Viva Poker. */
#area_alerta{position:fixed;z-index:1100;top:14px;left:50%;width:min(460px,calc(100% - 28px));transform:translateX(-50%);display:none;pointer-events:none;}
#alerta{padding:13px;display:flex;align-items:center;gap:12px;border:1px solid rgba(185,255,22,.35);border-radius:16px;background:#1b2515;box-shadow:0 20px 55px #0009;pointer-events:auto;}
#alerta_icon{width:43px;height:43px;flex:none;border-radius:13px;background:var(--verde);color:#111;display:grid;place-items:center;font-weight:900;}
.alerta-texto{flex:1;min-width:0;}
.alerta-texto strong{display:block;color:var(--verde);font-size:12px;font-weight:900;}
.alerta-texto span{display:block;margin-top:4px;color:#ddd;font-size:11px;line-height:1.4;}
#alerta_fechar{flex:0 0 22px;width:22px;height:22px;margin:-3px -2px 0 0;padding:0;border:0;border-radius:0;background:transparent;color:#aaa;box-shadow:none;font-size:16px;font-weight:400;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;align-self:flex-start;}
#alerta_fechar:hover,#alerta_fechar:focus-visible{background:transparent;color:#fff;outline:none;}
#alerta.erro{border-color:rgba(255,110,97,.5);background:#291a16;}
#alerta.erro #alerta_icon{background:#ff6b5f;color:#fff;}
#alerta.erro .alerta-texto strong{color:#ff897f;}
/* PWA install só aparece se houver evento de instalação real. */
.instalar{position:fixed;right:20px;bottom:20px;z-index:70;}
.instalar button{display:inline-flex;align-items:center;gap:9px;padding:12px 17px;background:#202c16;border:1px solid #526b30;border-radius:12px;color:var(--verde);font-size:11px;font-weight:900;box-shadow:0 12px 36px #0008;}
.instalar button .ico{height:16px;width:16px;}
.instalar-ios{position:fixed;bottom:16px;left:50%;z-index:80;width:min(460px,calc(100% - 28px));padding:13px 14px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;border:1px solid #43532f;border-radius:12px;background:#151d12;box-shadow:0 15px 44px #0009;}
.instalar-ios span{flex:1;color:#d9dfd5;font-size:11px;line-height:1.45;}
.instalar-ios strong{color:var(--verde);}
.instalar-ios button{width:28px;height:28px;background:#283225;border-radius:8px;color:#fff;border:0;}
/* Bar e Consumo: CSS anterior preservado no final, com refinamentos abaixo. */

/* =======================================================
   BAR E CONSUMO — CAIXA
   ======================================================= */
.bar-area{border:1px solid var(--borda);background:#0e140e;border-radius:21px;overflow:hidden;margin-bottom:24px}
.bar-abas{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(186,254,22,.11);padding:7px;gap:7px}
.bar-abas button{min-height:45px;border:1px solid transparent;border-radius:12px;background:transparent;color:#b1bbb0;font-size:12px;font-weight:800}
.bar-abas button.selecionada{background:rgba(186,254,22,.14);color:var(--verde);border-color:rgba(186,254,22,.23)}
.bar-filtro{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07)}
.bar-busca-label{display:block;font-size:12px;font-weight:800;margin-bottom:9px;color:#ddd}
.bar-busca-linha{display:flex;gap:9px;align-items:center}
.bar-busca-linha input{flex:1;min-width:0;height:45px;border:1px solid rgba(186,254,22,.21);border-radius:12px;background:#070907;color:#fff;padding:0 13px;font-size:13px;font-weight:700}
.bar-busca-linha button{width:auto;min-height:45px;border-radius:12px;white-space:nowrap;font-size:12px}
.bar-busca-linha button .ico{width:15px;height:15px}
.bar-registro{display:flex;align-items:center;gap:14px;text-align:left;width:100%;border-bottom:1px solid rgba(255,255,255,.07);padding:17px 19px;background:transparent;color:#fff}
.bar-registro:last-child{border-bottom:0}.bar-registro:hover,.bar-registro:focus-visible{background:rgba(186,254,22,.045)}
.bar-registro>span:first-child{flex:1;min-width:0}.bar-registro strong{display:block;font-size:13px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.bar-info-secundaria{display:block;margin-top:5px;color:#9dab95;font-size:11px;line-height:1.35}
.bar-registro .bar-valores{text-align:right;flex:0 0 auto}.bar-registro .bar-valores strong{font-size:14px;color:var(--verde)}
.bar-registro .bar-valores small{display:block;margin-top:5px;color:#a3aca0;font-size:10px}
.bar-seta{color:var(--verde);font-size:25px}.bar-abrir-comanda{color:var(--verde);font-size:11px;font-weight:800}
.bar-registro:disabled{opacity:.35;cursor:not-allowed}.bar-vazio{text-align:center;color:#a7b1a4;font-size:12px;padding:32px 18px;line-height:1.5}
.bar-paginar{text-align:center;padding:17px 14px;color:#a4b6a0;font-size:11px}.bar-paginar span{display:block}
.bar-paginar button{display:block;margin:11px auto 0;min-width:175px;height:41px;border:1px solid rgba(186,254,22,.35);border-radius:11px;background:rgba(186,254,22,.07);color:var(--verde);font-size:12px;font-weight:900}
.bar-modal-aberto{overflow:hidden}.bar-modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:15px}
.bar-modal-sombra{position:absolute;inset:0;background:rgba(0,0,0,.83);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.bar-modal-card{position:relative;z-index:1;width:min(580px,100%);max-height:calc(100dvh - 30px);overflow-y:auto;border:1px solid rgba(186,254,22,.2);border-radius:22px;background:#111811;padding:20px;box-shadow:0 25px 75px rgba(0,0,0,.7)}
.bar-modal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:15px;margin-bottom:15px}
.bar-modal-top small{display:block;color:var(--verde);font-size:9px;font-weight:900;letter-spacing:.7px;margin-bottom:6px}
.bar-modal-top h2{margin:0;color:#fff;font-size:22px;font-weight:900;overflow-wrap:anywhere}
.bar-modal-top button{border:1px solid rgba(255,255,255,.13);border-radius:11px;width:37px;height:37px;background:rgba(255,255,255,.06);color:#fff;font-size:21px;flex:none}
.bar-modal-texto{font-size:13px;line-height:1.65;color:#aab5a5;margin:10px 0 22px}.bar-modal-texto strong{color:#fff}
.bar-resumo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:9px 0 24px}.bar-resumo span{min-width:0;padding:14px;border:1px solid rgba(186,254,22,.13);background:rgba(186,254,22,.055);border-radius:13px;color:#aab6a4;font-size:11px}.bar-resumo strong{display:block;margin-top:6px;color:#fff;font-size:17px}
.bar-subtitulo{color:var(--verde);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.bar-itens{border:1px solid rgba(255,255,255,.07);border-radius:13px;overflow:hidden;margin-bottom:17px}
.bar-item{padding:12px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.065)}.bar-item:last-child{border-bottom:0}
.bar-item-desc{min-width:0;flex:1}.bar-item-desc strong{font-size:12px;font-weight:900;display:block}.bar-item-desc span{display:block;margin-top:6px;color:#a2afa0;font-size:11px}
.bar-item-acoes{text-align:right;min-width:84px}.bar-item-acoes strong{display:block;font-size:12px}.bar-item-acoes button{margin-top:7px;padding:5px 9px;border:1px solid rgba(255,110,100,.32);background:rgba(255,110,100,.08);border-radius:8px;color:#ff8c81;font-size:10px;font-weight:800}
.bar-item-cancelado{opacity:.42}.bar-item-cancelado .bar-item-desc strong{text-decoration:line-through}
.bar-adicionar-botao{margin-top:15px}.bar-botao-perigo,.bar-botao-neutro{height:45px;display:block;width:100%;margin-top:10px;border-radius:12px;font-size:12px;font-weight:900}.bar-botao-perigo{color:#fff;background:#ad4339}.bar-botao-neutro{color:var(--verde);background:rgba(186,254,22,.06);border:1px solid rgba(186,254,22,.15)}
.bar-prod-busca{margin-bottom:12px}.bar-prod-busca button{font-size:11px}.bar-produto{padding:13px}.bar-prod-selecionado{padding:15px;border:1px solid rgba(186,254,22,.18);border-radius:13px;margin-bottom:18px}.bar-prod-selecionado strong{display:block;font-size:16px;margin-bottom:7px}.bar-prod-selecionado span{font-size:12px;color:var(--verde)}
.bar-qtd{display:block;width:100%;height:50px;padding:0 14px;margin-bottom:16px;background:#090d09;color:#fff;border:1px solid rgba(186,254,22,.22);border-radius:12px;font-size:18px;font-weight:800}
@media(max-width:480px){.bar-modal{padding:0;align-items:flex-end}.bar-modal-card{max-height:94dvh;border-radius:22px 22px 0 0;padding:19px 16px calc(20px + env(safe-area-inset-bottom))}.bar-busca-linha button{min-width:94px;padding:0 10px}.bar-registro{padding:15px 13px}.bar-filtro{padding:14px 13px}.bar-resumo strong{font-size:15px}}

/* Ajustes de acabamento do Bar e Consumo no padrão de painéis do Clube. */
.bar-area{margin-top:20px;border-radius:18px;background:#101410;border-color:#30392a;box-shadow:0 17px 45px #0004;}
.bar-area-topo{padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #30392a;}
.bar-area-topo small{display:block;color:var(--verde);font-size:9px;font-weight:900;letter-spacing:1.6px;}
.bar-area-topo h2{color:white;font-size:22px;font-weight:900;margin:8px 0 6px;}
.bar-area-topo p{font-size:12px;color:#9ca498;margin:0;line-height:1.5;}
.bar-area-icone{display:grid;place-items:center;flex:none;width:47px;height:47px;border:1px solid #40502f;border-radius:13px;background:#26321d;color:var(--verde);}
.bar-area-icone .ico{width:23px;height:23px;}
.bar-abas{padding:13px 20px;gap:10px;background:#111610;}
.bar-abas button{border-radius:10px;}
.bar-abas button.selecionada{background:#27351b;color:var(--verde);border-color:#435b2c;}
.bar-filtro{padding:20px 24px;}
.bar-busca-label{color:#eee;font-size:12px;font-weight:900;}
.bar-busca-linha input{background:#0c0e0b;border:1px solid #353a30;color:#fff;border-radius:10px;min-height:46px;}
.bar-busca-linha input:focus{outline:0;border-color:var(--verde);}
.bar-registro{background:transparent;}
.bar-registro:hover{background:rgba(185,255,22,.045);}
.bar-paginar{padding:20px;}
.bar-paginar button{font-size:12px;}
.bar-modal-card{background:#111510;border-color:#3d4c30;}
.bar-modal-top small{letter-spacing:1.5px;}
.bar-paginar button:hover,.bar-botao-neutro:hover{border-color:var(--verde);}
@media(max-width:1200px){
 .login-main{gap:45px;}
 .login-presentation h1{font-size:60px;}
 .login-visual{left:30px;}
}
@media(max-width:950px){
 .login-main{grid-template-columns:1fr;max-width:490px;margin-top:75px;gap:25px;}
 .login-presentation{padding:0;}
 .login-presentation h1{font-size:48px;letter-spacing:-2.2px;}
 .login-presentation>p{margin-bottom:0;}
 .login-visual,.login-footnote{display:none;}
 .login-header,.login-footer,.login-main{width:min(490px,calc(100% - 38px));}
 .login-footer{margin-top:15px;}
}
@media(max-width:720px){
 .conteudo{padding:calc(var(--topo) + 27px) 17px 70px;}
 .cards-servicos,.lista-clubes{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:17px;}
 .servico-card{min-height:124px;padding:16px;gap:11px;align-items:flex-start;flex-direction:column;}
 .servico-dados strong{font-size:13px;}
 .servico-seta{position:absolute;right:13px;top:17px;}
 .servico-icone{width:41px;height:41px;border-radius:10px;}
 .servico-icone .ico{width:20px;height:20px;}
 .servico-card small{font-size:10px;margin-top:5px;}
 .lista-clubes{grid-template-columns:1fr;}
 .pagina-cabecalho h1{font-size:35px;}
 .pagina-titulo-linha{align-items:flex-start;}
 .voltar{min-height:33px;font-size:11px;}
 .bar-filtro{padding:15px;}
 .bar-busca-linha{flex-wrap:wrap;}
 .bar-busca-linha input{min-width:0;flex:1 1 170px;}
 .bar-busca-linha .botao-principal{flex:0 0 auto;}
}
@media(max-width:600px){
 .login-header{padding-top:22px;}
 .login-header-note{font-size:0;gap:0;}
 .login-header-note .status-dot{width:8px;height:8px;}
 .login-main{margin:40px auto 35px;}
 .login-presentation h1{font-size:42px;letter-spacing:-2px;margin:15px 0 11px;}
 .login-presentation>p{font-size:12px;line-height:1.65;}
 .login-card{padding:25px 23px;border-radius:18px;}
 .login-card-icon{margin-top:22px;}
 .login-card h2{font-size:25px;margin-top:17px;}
 .login-subtitle{margin-bottom:23px;}
 .login-footer{font-size:9px;gap:15px;line-height:1.5;}
 .login-footer span:last-child{text-align:right;}
 .topo{padding:0 17px;}
 .topo:after{left:17px;}
 .topo .marca img{width:124px;}
 .topo .marca span{font-size:8px;letter-spacing:1.4px;padding:6px 7px;}
 .section-title{padding:21px 18px;}
 .section-title h2{font-size:21px;}
 .usuario-ficha{padding:13px;gap:10px;}
 .avatar{width:40px;height:40px;}
 .usuario-ativo{font-size:8px;padding:6px 8px;}
 .pagina-cabecalho h1{font-size:34px;letter-spacing:-1.1px;}
 .bar-area-topo{padding:20px 16px;}
 .bar-area-topo h2{font-size:20px;}
 .bar-area-icone{height:40px;width:40px;}
 .bar-abas{padding:9px;}
 .bar-abas button{font-size:11px;}
}
@media(max-width:390px){
 .login-presentation h1{font-size:35px;}
 .login-header .brand img{width:123px;}
 .login-header .brand span{font-size:8px;letter-spacing:1.6px;}
 .cards-servicos{grid-template-columns:1fr;}
 .servico-card{flex-direction:row;align-items:center;min-height:96px;}
 .servico-seta{position:static;}
 .pagina-titulo-linha{flex-wrap:wrap;gap:9px;}
 .bar-busca-linha input{flex-basis:100%;}
 .bar-busca-linha .botao-principal{width:100%;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}}
