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

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

body{
    margin:0;
    padding:0;
    background:#070707;
    color:#fff;
    font-family:Arial, Helvetica, sans-serif;
    overflow:hidden;
}

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

input,
select,
textarea{
    font-size:15px;
}

input::placeholder,
textarea::placeholder{
    color:#999;
    opacity:1;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
    -webkit-appearance:none;
}

button,
input,
select,
textarea{
    outline:none;
}

button{
    border:0;
}

a{
    text-decoration:none;
}

.hidden,
.esconder{
    display:none;
}

.cursor{
    cursor:pointer;
}

.centralizar-input{
    text-align:center;
}

#loading{
    display:none;
    justify-content:center;
    align-items:center;
    position:fixed;
    inset:0;
    z-index:99999;
    background:rgba(0,0,0,.70);
}

#loading img{
    width:60px;
}

.login-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.login-card{
    width:100%;
    max-width:380px;
    background:#fff;
    color:#111;
    border-radius:34px;
    padding:28px 24px;
    box-shadow:0 26px 70px rgba(0,0,0,.35);
}

.login-logo{
    text-align:center;
    margin-bottom:22px;
}

.login-logo img{
    width:120px;
}

.login-titulo{
    font-size:12px;
    font-weight:900;
    color:#666;
    text-transform:uppercase;
    text-align:center;
    margin-bottom:8px;
    letter-spacing:.4px;
}

.login-subtitulo{
    font-size:26px;
    font-weight:900;
    text-align:center;
    color:#111;
    margin-bottom:24px;
}

.login-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.login-form input{
    width:100%;
    height:58px;
    border:1px solid #e1e1e1;
    background:#f6f6f6;
    border-radius:20px;
    padding:0 16px;
    font-size:17px;
    font-weight:800;
    color:#111;
    text-align:center;
}

.login-form input:focus{
    background:#fff;
    border-color:#111;
}

.login-botao{
    display:flex;
    align-items:center;
    justify-content:center;
}

.login-botao{
    width:100%;
    height:60px;
    margin-top:16px;
    border-radius:22px;
    background:#d7ff3f;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
}

.login-aviso{
    background:#f6f6f6;
    border:1px solid #e1e1e1;
    color:#555;
    border-radius:20px;
    padding:14px 16px;
    text-align:center;
    font-size:13px;
    font-weight:800;
    line-height:1.45;
    margin-bottom:18px;
}

.login-link{
    margin-top:16px;
    text-align:center;
    font-size:13px;
    font-weight:900;
    color:#111;
    cursor:pointer;
}

.login-link span{
    color:#27A844;
}

.caixa-modal[style*="display: block"]{
    display:block !important;
}

.caixa-leitor[style*="display: flex"]{
    display:flex !important;
}

.viva-alerta-area,
#area_alerta{
    position:fixed;
    top:-120px;
    left:0;
    width:100%;
    display:flex;
    justify-content:center;
    padding:14px;
    z-index:999999;
    transition:.28s ease;
    pointer-events:none;
}

.viva-alerta,
#alerta{
    min-width:220px;
    max-width:90%;
    min-height:54px;
    padding:14px 20px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    font-size:14px;
    font-weight:800;
    backdrop-filter:blur(12px);
    box-shadow:0 15px 45px rgba(0,0,0,.28);
}

.bg-verde{
    background:#27A844;
}

.bg-verde-claro{
    background:#F1FAF3;
    border:1px solid #27A844;
}

.bg-verde-claro2{
    background:#ddf7e2;
}

.bg-vermelho{
    background:#DC3546;
}

.bg-vermelho-claro{
    background:#fceeef;
    border:1px solid #DC3546;
}

.bg-vermelho-claro2{
    background:#f7e3e4;
}

.bg-cinza-claro2{
    background:#ddd;
}

.bg-azul{
    background:#007AFF;
}

.bg-azul-claro{
    background:#e8eff7;
    border:1px solid #007AFF;
}

.bg-laranja{
    background:#FEC107;
}

.bg-laranja-claro{
    background:#FAF4E1;
    border:1px solid #FEC107;
}

.cor-verde{
    color:#27A844;
}

.cor-vermelho{
    color:#DC3546;
}

.cor-cinza{
    color:#999;
}

.cor-azul{
    color:#007AFF;
}

.cor-preto{
    color:#000;
}

.viva-alerta-area{
    position:fixed;
    top:-120px;
    left:0;
    width:100%;
    display:flex;
    justify-content:center;
    padding:14px;
    z-index:999999;
    transition:.28s ease;
    pointer-events:none;
}

.viva-alerta{
    min-width:220px;
    max-width:90%;
    min-height:54px;
    padding:14px 20px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    font-size:14px;
    font-weight:800;
    backdrop-filter:blur(12px);
    box-shadow:0 15px 45px rgba(0,0,0,.28);
}

.area{
    min-height:100vh;
    padding-bottom:110px;
    background:
        radial-gradient(circle at 90% 5%, rgba(215,255,63,.15), transparent 24%),
        linear-gradient(135deg, #050505, #101010);
}

.content{
    padding:0 16px 30px;
}

.caixa-topo{
    padding:20px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.caixa-topo-logo{
    cursor:pointer;
    display:flex;
    align-items:center;
}

.caixa-topo-logo img{
    height:50px;
    width:auto;
    display:block;
}

.caixa-topo-status{
    background:rgba(215,255,63,.12);
    border:1px solid rgba(215,255,63,.25);
    color:#d7ff3f;
    padding:10px 14px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.caixa-page{
    padding-top:10px;
}

.caixa-card{
    background:#fff;
    color:#111;
    border-radius:34px;
    padding:24px;
    box-shadow:0 26px 70px rgba(0,0,0,.35);
}

.caixa-card-label{
    font-size:12px;
    font-weight:900;
    color:#666;
    text-transform:uppercase;
    margin-bottom:12px;
}

.caixa-valor-box{
    display:flex;
    align-items:center;
    border:2px solid #111;
    background:#f5f5f5;
    border-radius:28px;
    padding:16px 18px;
}

.caixa-valor-prefixo{
    font-size:28px;
    font-weight:900;
    margin-right:10px;
}

.caixa-valor-input{
    width:100%;
    border:0;
    outline:none;
    background:transparent;
    font-size:52px;
    font-weight:900;
    color:#111;
}

.caixa-acoes{
    margin-top:22px;
}

.caixa-btn-principal{
    width:100%;
    height:82px;
    border-radius:24px;
    border:0;
    cursor:pointer;
    font-weight:900;
    font-size:15px;
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:center;
    justify-content:center;
    transition:.2s;
}

.caixa-btn-principal[data-enabled="1"]{
    background:#d7ff3f;
    color:#111;
}

.caixa-btn-principal[data-enabled="0"]{
    background:#ececec;
    color:#999;
}

.caixa-btn-principal i{
    font-size:26px;
    transition:.2s;
}

.caixa-btn-principal[data-enabled="1"] i{
    color:#111;
}

.caixa-btn-principal[data-enabled="0"] i{
    color:#999;
}

.caixa-btn-principal:active{
    transform:scale(.98);
}

@media (max-width:520px){

    .caixa-valor-input{
        font-size:42px;
    }

}

.caixa-menu{
    position:fixed;
    left:0;
    bottom:0;
    width:100%;
    background:rgba(7,7,7,.92);
    backdrop-filter:blur(16px);
    border-top:1px solid rgba(255,255,255,.08);
    padding:10px 10px 14px;
    z-index:50;
}

.caixa-menu-grid{
    display:grid;
    grid-template-columns:repeat(var(--menu-cols, 5), 1fr);
    gap:8px;
}

.caixa-menu-item{
    min-height:64px;
    border-radius:20px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.06);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
    transition:.2s;
}

.caixa-menu-item i{
    font-size:18px;
    margin-bottom:5px;
    color:#ddd;
}

.caixa-menu-item label{
    font-size:10px;
    font-weight:800;
    color:#ddd;
}

.caixa-menu-item[data-enabled="1"]{
    background:rgba(215,255,63,.12);
    border-color:rgba(215,255,63,.22);
}

.caixa-menu-item[data-enabled="1"] i,
.caixa-menu-item[data-enabled="1"] label{
    color:#d7ff3f;
}

.caixa-menu-sair{
    background:rgba(220,53,70,.14);
    border-color:rgba(220,53,70,.22);
}

.caixa-menu-sair i,
.caixa-menu-sair label{
    color:#ff6b7a;
}

.caixa-menu-item[data-enabled="1"]{
    background:rgba(215,255,63,.12);
    border-color:rgba(215,255,63,.22);
}

.caixa-menu-item[data-enabled="1"] i,
.caixa-menu-item[data-enabled="1"] label{
    color:#d7ff3f;
}

.caixa-menu-item[data-enabled="0"] i,
.caixa-menu-item[data-enabled="0"] label{
    color:#8c8c8c;
}

.caixa-leitor{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.88);
    z-index:100;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.caixa-leitor-box{
    width:100%;
    max-width:420px;
}

.caixa-leitor-camera{
    overflow:hidden;
    border-radius:26px;
    background:#111;
}

.caixa-leitor-fechar{
    margin-top:16px;
}

.caixa-leitor-fechar button{
    width:100%;
    height:56px;
    border:0;
    border-radius:18px;
    background:#fff;
    color:#111;
    font-weight:900;
    font-size:15px;
}

.caixa-modal{
    position:fixed;
    inset:0;
    background:#070707;
    z-index:90;
    display:none;
    overflow:auto;
}

.caixa-modal-topo{
    padding:14px 16px 10px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.caixa-modal-titulo{
    font-size:18px;
    font-weight:900;
    color:#fff;
    line-height:1;
}

.caixa-modal-fechar{
    width:32px;
    height:32px;
    border-radius:50%;
    background:rgba(255,255,255,.22);
    border:1px solid rgba(255,255,255,.14);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:#fff;
    font-size:16px;
    transition:.2s;
    backdrop-filter:blur(10px);
}

.caixa-modal-fechar:hover{
    background:rgba(255,255,255,.30);
}

.caixa-modal-card{
    background:#fff;
    color:#111;
    border-radius:28px;
    padding:22px;
    box-shadow:0 20px 55px rgba(0,0,0,.28);
}

.caixa-form{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.caixa-form-grupo{
    display:flex;
    flex-direction:column;
}

.caixa-form-label{
    font-size:12px;
    font-weight:900;
    color:#555;
    text-transform:uppercase;
    margin-bottom:8px;
    letter-spacing:.3px;
}

.caixa-form input,
.caixa-form select,
.caixa-form textarea{
    width:100%;
    height:52px;
    border:1px solid #e1e1e1;
    background:#f6f6f6;
    border-radius:16px;
    padding:0 14px;
    font-size:15px;
    font-weight:800;
    color:#111;
}

.caixa-form textarea{
    height:110px;
    padding:14px;
    resize:none;
}

.caixa-form input:focus,
.caixa-form select:focus,
.caixa-form textarea:focus{
    border-color:#111;
    background:#fff;
}

.caixa-form-limpar{
    margin-top:16px;
    text-align:center;
    font-size:12px;
    font-weight:900;
    color:#777;
    text-transform:uppercase;
    cursor:pointer;
}

.caixa-opcao{
    min-height:108px;
    border-radius:24px;
    background:#f5f5f5;
    border:1px solid #ececec;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
}

.caixa-opcao i{
    font-size:30px;
    margin-bottom:12px;
}

.caixa-opcao-titulo{
    font-size:14px;
    font-weight:900;
    color:#111;
}

.caixa-modal-area{
    padding:0 16px 120px;
}

.caixa-modal-card{
    background:#fff;
    color:#111;
    border-radius:30px;
    padding:22px;
}

.caixa-modal-label{
    font-size:12px;
    font-weight:900;
    color:#666;
    text-transform:uppercase;
    margin-bottom:14px;
}

.caixa-opcoes{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
}

.caixa-opcao{
    min-height:108px;
    border-radius:24px;
    background:#f5f5f5;
    border:1px solid #eee;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
}

.caixa-opcao i{
    font-size:26px;
    margin-bottom:10px;
}

.atalhos{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
}

.atalho{
    background:#f5f5f5;
    border-radius:20px;
    padding:18px 10px;
    text-align:center;
    font-size:16px;
    font-weight:900;
    color:#111;
    cursor:pointer;
    transition:.2s;
}

.atalho:hover{
    background:#d7ff3f;
}

.atalho.ativo{
    background:#d7ff3f;
}

.caixa-opcao-titulo{
    font-size:12px;
    font-weight:900;
}

.caixa-form{
    margin-top:20px;
}

.caixa-form-grupo{
    margin-bottom:14px;
}

.caixa-form-label{
    font-size:12px;
    font-weight:900;
    color:#555;
    text-transform:uppercase;
    margin-bottom:8px;
}

.caixa-form-linha{
    display:flex;
    gap:8px;
}

.caixa-form input{
    width:100%;
    height:56px;
    border:1px solid #ddd;
    background:#f7f7f7;
    border-radius:18px;
    padding:0 16px;
    outline:none;
    font-size:18px;
    font-weight:800;
    color:#111;
}

.caixa-form-icone{
    width:56px;
    min-width:56px;
    height:56px;
    border-radius:18px;
    background:#d7ff3f;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.caixa-form-botao{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:58px;
    border:0;
    border-radius:20px;
    background:#d7ff3f;
    color:#111;
    font-weight:900;
    font-size:15px;
    cursor:pointer;
}

.caixa-retorno{
    display:none;
    margin-top:14px;
    border-radius:20px;
    padding:16px;
    text-align:center;
    font-weight:900;
}

.caixa-codigo-box{
    display:flex;
    gap:10px;
}

.caixa-codigo-box input{
    width:100%;
    height:62px;
    border:2px solid #111;
    background:#f5f5f5;
    border-radius:22px;
    padding:0 18px;
    font-size:30px;
    font-weight:900;
    text-align:center;
    outline:none;
}

.caixa-codigo-btn{
    width:64px;
    min-width:64px;
    height:62px;
    border:0;
    border-radius:22px;
    background:#d7ff3f;
    color:#111;
    font-size:22px;
    cursor:pointer;
}

.caixa-pagamento-card{
    background:#fff;
    color:#111;
    border-radius:34px;
    padding:22px;
    box-shadow:0 26px 70px rgba(0,0,0,.35);
}

.caixa-pagamento-opcoes{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
}

.caixa-pagamento-opcao{
    min-height:105px;
    border-radius:24px;
    background:#fff;
    border:2px solid #111;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
    transition:.2s;
}

.caixa-pagamento-opcao i{
    font-size:28px;
    margin-bottom:10px;
}

.caixa-pagamento-opcao-titulo{
    font-size:13px;
    font-weight:900;
}

.caixa-pagamento-qrcode{
    margin-top:14px;
    border-radius:22px;
    padding:18px;
    background:#d7ff3f;
    color:#111;
    font-size:14px;
    font-weight:900;
    text-align:center;
    cursor:pointer;
}

.caixa-pagamento-linha{
    margin-top:14px;
    border-radius:22px;
    padding:16px;
    background:#f5f5f5;
    border:1px solid #eee;
}

.caixa-pagamento-linha-area{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.caixa-pagamento-forma{
    font-size:13px;
    font-weight:900;
    color:#555;
    text-transform:uppercase;
}

.caixa-pagamento-valor{
    font-size:22px;
    font-weight:900;
    color:#111;
}

.caixa-pagamento-valor input{
    width:140px;
    height:48px;
    border:0;
    outline:none;
    background:transparent;
    font-size:24px;
    font-weight:900;
    text-align:right;
    color:#111;
}

.caixa-pagamento-total{
    background:#ddf7e2;
    border:1px solid #27A844;
}

.caixa-pagamento-falta{
    background:#fceeef;
    border:1px solid #DC3546;
}

.caixa-menu-finalizar{
    grid-column:span 4;
    min-height:64px;
    border-radius:20px;
    background:rgba(215,255,63,.12);
    border:1px solid rgba(215,255,63,.22);
    color:#d7ff3f;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
    font-size:14px;
    font-weight:900;
}

.caixa-pix-centro{
    text-align:center;
    color:#111;
    border-radius:34px;
    padding:24px 18px;
    min-height:calc(100vh - 80px);

    background:
        radial-gradient(circle at top right, rgba(215,255,63,.18), transparent 22%),
        radial-gradient(circle at bottom left, rgba(215,255,63,.10), transparent 24%),
        linear-gradient(145deg, #ffffff, #f5f5f5);

    border:1px solid rgba(215,255,63,.18);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.7),
        0 25px 70px rgba(0,0,0,.22);
}

.caixa-pix-titulo{
    font-size:18px;
    font-weight:900;
    line-height:1.35;
    margin-bottom:20px;
    color:#111;
}

.caixa-pix-qrcode-area{
    background:#fff;
    border-radius:30px;
    padding:20px;
    display:inline-block;
    margin-bottom:20px;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:
        0 20px 50px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.8);
}

.caixa-pix-total{
    font-size:38px;
    font-weight:900;
    color:#111;
    margin-bottom:18px;
    letter-spacing:-1px;
}

.caixa-pix-info{
    font-size:14px;
    font-weight:800;
    color:#222;
    line-height:1.35;
    margin-bottom:16px;
}

.caixa-pix-contador{
    font-size:14px;
    font-weight:900;
    color:#111;
}

.caixa-pix-cancelar{
    margin-top:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(17,17,17,.12);
    border:1px solid rgba(17,17,17,.18);
    color:#111;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}

.caixa-pix-status-card{
    background:#fff;
    color:#111;
    border-radius:34px;
    padding:38px 22px;
    min-height:calc(100vh - 100px);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    box-shadow:0 26px 70px rgba(0,0,0,.35);
}

.caixa-pix-status-card.sucesso{
    background:
        radial-gradient(circle at top right, rgba(215,255,63,.35), transparent 34%),
        #fff;
}

.caixa-pix-status-card.cancelado{
    background:
        radial-gradient(circle at top right, rgba(255,107,122,.18), transparent 34%),
        #fff;
}

.caixa-pix-icone-status{
    width:96px;
    height:96px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:46px;
    margin-bottom:22px;
}

.caixa-pix-icone-status.sucesso{
    background:#d7ff3f;
    color:#111;
}

.caixa-pix-icone-status.cancelado{
    background:#fceeef;
    color:#DC3546;
}

.caixa-pix-status{
    font-size:23px;
    font-weight:900;
    color:#111;
    margin-bottom:8px;
}

.caixa-pix-status-sub{
    font-size:14px;
    font-weight:700;
    color:#666;
    line-height:1.35;
}

.relatorio-page{
    padding-bottom:120px;
}

.relatorio-card{
    background:#fff;
    color:#111;
    border-radius:30px;
    padding:22px;
    margin-bottom:14px;
    box-shadow:0 20px 55px rgba(0,0,0,.28);
}

.relatorio-topo-card{
    background:#fff;
    color:#111;
    border-radius:18px;
    padding:16px;
    margin-bottom:14px;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.relatorio-titulo{
    font-size:12px;
    font-weight:900;
    color:#666;
    text-transform:uppercase;
    margin-bottom:6px;
    letter-spacing:.3px;
}

.relatorio-quantidade{
    font-size:20px;
    line-height:1;
    font-weight:900;
    color:#111;
    letter-spacing:-.6px;
}

.relatorio-destaque{
    font-size:34px;
    font-weight:900;
    color:#111;
    letter-spacing:-1px;
}

.relatorio-resumos{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:14px;
}

.relatorio-resumo{
    background:#fff;
    color:#111;
    border-radius:22px;
    padding:15px 16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 12px 35px rgba(0,0,0,.18);
}

.relatorio-resumo.verde{
    background:#f1faf3;
    border-color:#27A844;
}

.relatorio-resumo.azul{
    background:#e8eff7;
    border-color:#007AFF;
}

.relatorio-resumo.vermelho{
    background:#fceeef;
    border-color:#DC3546;
}

.relatorio-resumo-label{
    font-size:12px;
    font-weight:900;
    color:#555;
    text-transform:uppercase;
}

.relatorio-resumo-valor{
    font-size:17px;
    font-weight:900;
    color:#111;
}

.relatorio-filtro{
    background:rgba(215,255,63,.10);
    border:1px solid rgba(215,255,63,.22);
    border-radius:22px;
    padding:14px 16px;
    margin-bottom:14px;
}

.relatorio-filtro-titulo{
    font-size:11px;
    font-weight:900;
    color:#d7ff3f;
    text-transform:uppercase;
    margin-bottom:6px;
}

.relatorio-filtro-texto{
    font-size:13px;
    font-weight:700;
    color:#fff;
    line-height:1.4;
}

.relatorio-lista{
    background:#fff;
    color:#111;
    border-radius:18px;
    padding:8px 16px;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.relatorio-item{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:18px 0;
    border-bottom:1px solid #eee;
}

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

.relatorio-item-info{
    flex:1;
}

.relatorio-item-titulo{
    font-size:15px;
    font-weight:900;
    margin-bottom:8px;
    color:#111;
}

.relatorio-item-detalhes{
    font-size:12px;
    font-weight:700;
    color:#777;
    line-height:1.55;
}

.relatorio-item-valor{
    min-width:95px;
    text-align:right;
    font-size:17px;
    font-weight:900;
    color:#111;
}

.relatorio-vazio{
    padding:18px 10px;
    text-align:center;
    font-size:14px;
    font-weight:800;
    color:#777;
}

.relatorio-carregar,
.relatorio-fim{
    text-align:center;
    padding:18px 0;
}

.relatorio-carregar i{
    font-size:28px;
    color:#111;
    cursor:pointer;
}

.relatorio-fim{
    display:none;
    color:#777;
    font-weight:800;
}

.relatorio-fim i{
    font-size:24px;
    margin-bottom:8px;
    color:#27A844;
}

.relatorio-item-acoes{
    min-width:44px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
}

.relatorio-item-acoes i{
    font-size:18px;
    cursor:pointer;
}

.modal-confirmacao{
    text-align:center;
}

.modal-confirmacao-icone{
    width:74px;
    height:74px;
    margin:0 auto 18px;
    border-radius:50%;
    background:#fceeef;
    color:#DC3546;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
}

.modal-confirmacao-titulo{
    font-size:18px;
    font-weight:900;
    color:#111;
    margin-bottom:10px;
}

.modal-confirmacao-texto{
    font-size:14px;
    font-weight:700;
    color:#666;
    line-height:1.45;
    margin-bottom:24px;
}

.modal-confirmacao-botoes{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.modal-confirmacao-btn{
    height:54px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.modal-confirmacao-btn.verde{
    background:#d7ff3f;
    color:#111;
}

.modal-confirmacao-btn.vermelho{
    background:#fceeef;
    color:#DC3546;
    border:1px solid #DC3546;
}

.fechamento-grid{
    display:grid;
    gap:10px;
    margin-bottom:18px;
}

.fechamento-card{
    background:#fff;
    color:#111;
    border-radius:18px;
    padding:16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.fechamento-card.verde{
    background:#f1faf3;
    border-color:#27A844;
}

.fechamento-card.vermelho{
    background:#fceeef;
    border-color:#DC3546;
}

.fechamento-card-titulo{
    font-size:13px;
    font-weight:900;
    color:#555;
    text-transform:uppercase;
}

.fechamento-card-valor{
    font-size:18px;
    font-weight:900;
    color:#111;
}

.fechamento-total{
    margin-top:8px;
    margin-bottom:18px;
    background:
        radial-gradient(circle at top right, rgba(215,255,63,.18), transparent 22%),
        linear-gradient(145deg, #ffffff, #f5f5f5);

    border:1px solid rgba(215,255,63,.25);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.7),
        0 25px 70px rgba(0,0,0,.18);
}

.fechamento-total .fechamento-card-titulo{
    color:#666;
}

.fechamento-total .fechamento-card-valor{
    color:#111;
    font-size:24px;
    letter-spacing:-.5px;
}

.comprovante-acoes{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:16px;
}

.comprovante-acao{
    min-height:120px;
    border-radius:28px;
    background:#fff;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
    box-shadow:0 20px 55px rgba(0,0,0,.28);
    transition:.2s;
}

.comprovante-acao i{
    font-size:34px;
    margin-bottom:12px;
}

.comprovante-acao label{
    font-size:13px;
    font-weight:900;
    line-height:1.4;
    cursor:pointer;
}

.comprovante-acao.verde{
    background:
        radial-gradient(circle at top right, rgba(215,255,63,.18), transparent 24%),
        linear-gradient(145deg, #ffffff, #f5f5f5);

    border:1px solid rgba(215,255,63,.24);
}

.comprovante-acao.verde i{
    color:#27A844;
}

.comprovante-acao.vermelho{
    background:#fff;
    border:1px solid rgba(220,53,70,.16);
}

.comprovante-acao.vermelho i{
    color:#DC3546;
}

.comprovante-erro{
    background:#fff;
    color:#111;
    border-radius:22px;
    padding:18px;
    text-align:center;
    font-size:14px;
    font-weight:800;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.box-resumo{
    display:grid;
    gap:10px;
    margin-bottom:14px;
}

.box-resumo-card{
    border-radius:20px;
    padding:16px;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.box-resumo-card.verde{
    background:#f1faf3;
    border:1px solid #27A844;
}

.box-resumo-card.azul{
    background:#e8eff7;
    border:1px solid #007AFF;
}

.box-resumo-texto{
    font-size:14px;
    font-weight:900;
    color:#111;
    line-height:1.4;
}

.produtos-lista{
    display:grid;
    gap:10px;
}

.produto-card{
    background:#fff;
    color:#111;
    border-radius:22px;
    padding:18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    cursor:pointer;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
    transition:.2s;
}

.produto-card:active{
    transform:scale(.98);
}

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

.produto-nome{
    font-size:15px;
    font-weight:900;
    color:#111;
    margin-bottom:6px;
    line-height:1.35;
}

.produto-preco{
    font-size:13px;
    font-weight:800;
    color:#666;
}

.produto-add{
    min-width:52px;
    height:52px;
    border-radius:16px;
    background:#d7ff3f;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

.produtos-vazio{
    background:#fff;
    color:#777;
    border-radius:20px;
    padding:24px 18px;
    text-align:center;
    font-size:14px;
    font-weight:800;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.box-cestinha-badge{
    position:absolute;
    top:8px;
    right:10px;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#d7ff3f;
    color:#111;
    font-size:11px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
}

.caixa-menu-item{
    position:relative;
}

.box-pagamento-confirmado{
    position:fixed;
    inset:0;
    z-index:9999;
    background:
        radial-gradient(circle at top right, rgba(215,255,63,.22), transparent 26%),
        linear-gradient(135deg, #050505, #101010);
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.box-pagamento-card{
    width:100%;
    max-width:360px;
    background:#fff;
    color:#111;
    border-radius:34px;
    padding:42px 24px;
    text-align:center;
    box-shadow:0 26px 70px rgba(0,0,0,.35);
}

.box-pagamento-icone{
    width:92px;
    height:92px;
    border-radius:50%;
    background:#d7ff3f;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:46px;
    margin:0 auto 22px;
}

.box-pagamento-texto{
    font-size:22px;
    font-weight:900;
    color:#111;
}

.cestinha-resumo{
    display:grid;
    gap:10px;
    margin-bottom:14px;
}

.cestinha-total{
    background:#f1faf3;
    border:1px solid #27A844;
    color:#111;
    border-radius:18px;
    padding:16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.cestinha-total-label{
    font-size:12px;
    font-weight:900;
    color:#2c6b3f;
    text-transform:uppercase;
}

.cestinha-total-valor{
    font-size:18px;
    font-weight:900;
    color:#111;
}

.cestinha-aviso{
    display:none;
    background:#fceeef;
    border:1px solid #DC3546;
    color:#111;
    border-radius:18px;
    padding:14px 16px;
    font-size:13px;
    font-weight:900;
    text-align:center;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.cestinha-lista{
    background:#fff;
    color:#111;
    border-radius:18px;
    padding:8px 16px;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.cestinha-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:16px 0;
    border-bottom:1px solid #eee;
}

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

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

.cestinha-produto{
    font-size:15px;
    font-weight:900;
    color:#111;
    line-height:1.35;
    margin-bottom:6px;
}

.cestinha-numero{
    font-size:11px;
    color:#999;
    font-style:normal;
    margin-right:4px;
}

.cestinha-subtotal{
    font-size:12px;
    font-weight:800;
    color:#777;
    line-height:1.4;
}

.cestinha-remover{
    min-width:46px;
    height:46px;
    border-radius:15px;
    background:#fceeef;
    color:#DC3546;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    cursor:pointer;
}

.cestinha-vazia{
    background:#fff;
    color:#777;
    border-radius:18px;
    padding:24px 18px;
    text-align:center;
    font-size:14px;
    font-weight:800;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.menu-app-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
}

.menu-app-card{
    min-height:160px;
    border-radius:28px;
    background:#fff;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
    box-shadow:0 20px 55px rgba(0,0,0,.28);
    transition:.2s;
    padding:18px;
}

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

.menu-app-icone{
    width:72px;
    height:72px;
    margin:0 auto 16px;
    border-radius:24px;

    background:
        radial-gradient(circle at top right, rgba(215,255,63,.22), transparent 24%),
        linear-gradient(145deg, #ffffff, #f5f5f5);

    border:1px solid rgba(215,255,63,.24);

    display:flex;
    align-items:center;
    justify-content:center;

    color:#111;
    font-size:30px;
}

.menu-app-titulo{
    font-size:15px;
    font-weight:900;
    line-height:1.35;
    color:#111;
}

.menu-sair{
    background:rgba(220,53,70,.14);
    border-color:rgba(220,53,70,.22);
}

.menu-sair i,
.menu-sair label{
    color:#ff6b7d;
}

.relatorio-item-acoes .fa-share{
    color:#DC3546;
}

@media (max-width:420px){

    .menu-app-card{
        min-height:140px;
    }

    .menu-app-icone{
        width:64px;
        height:64px;
        font-size:26px;
    }

}

.ranking-posicao{
    min-width:34px;
    height:34px;
    border-radius:12px;
    background:#d7ff3f;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:900;
    margin-right:12px;
}

.relatorio-item-com-posicao{
    display:flex;
    align-items:flex-start;
}

.cliente-termos input{
    appearance:none;

    width:20px;
    height:20px;
    min-width:20px;

    border-radius:6px;

    border:2px solid #d7ff3f;

    background:#fff;

    margin-top:1px;

    cursor:pointer;

    position:relative;

    transition:.2s;
}

.cliente-termos input:checked{
    background:#d7ff3f;
    border-color:#d7ff3f;
}

.cliente-termos input:checked::after{
    content:'✓';

    position:absolute;
    top:50%;
    left:50%;

    transform:translate(-50%, -54%);

    font-size:12px;
    font-weight:900;
    color:#111;
}

.cliente-politicas {
    cursor: pointer;
}

.politicas-card{
    background:#fff;
    color:#111;
    border-radius:28px;
    padding:24px 20px;
    box-shadow:0 20px 55px rgba(0,0,0,.28);
}

.politicas-titulo{
    font-size:20px;
    font-weight:900;
    color:#111;
    margin-bottom:18px;
}

.politicas-bloco{
    margin-top:22px;
}

.politicas-bloco:first-child{
    margin-top:0;
}

.politicas-subtitulo{
    font-size:13px;
    font-weight:900;
    color:#111;
    text-transform:uppercase;
    margin-bottom:10px;
    padding-left:10px;
    border-left:4px solid #d7ff3f;
}

.politicas-texto{
    font-size:14px;
    font-weight:700;
    color:#555;
    line-height:1.65;
}

.politicas-lista{
    margin-top:10px;
    display:grid;
    gap:8px;
}

.politicas-lista-item{
    background:#f6f6f6;
    border-radius:14px;
    padding:10px 12px;
    font-size:13px;
    font-weight:900;
    color:#111;
}

.home-cartao{
    position:relative;

    background:
        radial-gradient(circle at top right, rgba(215,255,63,.22), transparent 26%),
        linear-gradient(135deg, #0a0a0a, #171717);

    border-radius:34px;

    padding:24px 22px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.06);

    box-shadow:0 28px 70px rgba(0,0,0,.38);

    margin-bottom:16px;
}

.home-cartao::before{
    content:'';

    position:absolute;
    top:-60px;
    right:-60px;

    width:180px;
    height:180px;

    border-radius:50%;

    background:rgba(215,255,63,.07);
}

.home-cartao-topo{
    position:relative;
    z-index:2;

    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:24px;
}

.home-cartao-evento{
    font-size:12px;
    font-weight:900;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#d7ff3f;
}

.home-cartao-logo img{
    height:28px;
    opacity:.9;
}

.home-cartao-qrcode{
    position:relative;
    z-index:2;

    background:#fff;

    width:260px;
    max-width:100%;

    margin:0 auto;

    padding:14px;

    border-radius:28px;

    box-shadow:0 16px 40px rgba(0,0,0,.25);
}

.home-cartao-qrcode img{
    width:100%;
    display:block;
    border-radius:18px;
}

.home-cartao-codigo{
    position:relative;
    z-index:2;

    margin-top:18px;

    text-align:center;

    font-size:28px;
    font-weight:900;
    letter-spacing:3px;

    color:#fff;
}

.home-saldo{
    background:#fff;
    border-radius:26px;
    padding:18px 18px;
    display:grid;
    grid-template-columns:1fr 48px;
    align-items:center;
    gap:12px;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
    margin-bottom:16px;
}

.home-saldo-info{
    min-width:0;
}

.home-saldo-label{
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    color:#666;
    margin-bottom:6px;
}

.home-saldo-valor{
    font-size:22px;
    line-height:1.1;
    font-weight:900;
    color:#111;
    letter-spacing:-1px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.home-saldo-icone{
    width:48px;
    height:48px;
    border-radius:17px;
    background:#d7ff3f;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    color:#111;
    cursor:pointer;
}

.home-recarregar{
    height:68px;

    border-radius:24px;

    background:#d7ff3f;

    color:#111;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:12px;

    font-size:15px;
    font-weight:900;

    box-shadow:0 18px 40px rgba(215,255,63,.22);

    cursor:pointer;
}

.home-recarregar i{
    font-size:18px;
}

.home-encerrada{
    background:#fff;

    border-radius:34px;

    padding:36px 24px;

    text-align:center;

    box-shadow:0 24px 70px rgba(0,0,0,.18);
}

.home-encerrada-icone{
    width:110px;
    height:110px;

    margin:0 auto 24px;

    border-radius:32px;

    background:#d7ff3f;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:52px;
    color:#111;
}

.home-encerrada-titulo{
    font-size:24px;
    line-height:1.2;
    font-weight:900;
    color:#111;
    margin-bottom:14px;
}

.home-encerrada-texto{
    font-size:14px;
    line-height:1.7;
    font-weight:700;
    color:#666;
}

.home-encerrada-botao{
    margin-top:26px;

    height:58px;

    border-radius:20px;

    background:#111;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:14px;
    font-weight:900;

    cursor:pointer;
}

.caixa-recarga-card{
    background:#fff;
    color:#111;
    border-radius:28px;
    padding:22px;
    box-shadow:0 20px 55px rgba(0,0,0,.18);
}

.caixa-recarga-label{
    font-size:12px;
    font-weight:900;
    color:#666;
    text-transform:uppercase;
    margin-bottom:10px;
}

.caixa-recarga-area{
    display:grid;
    grid-template-columns:1fr 70px;
    gap:10px;
}

.caixa-recarga-input input{
    width:100%;
    height:70px;
    border:2px solid #111;
    border-radius:22px;
    background:#f5f5f5;
    color:#111;
    text-align:center;
    font-size:30px;
    font-weight:900;
    outline:none;
}

.caixa-recarga-botao{
    height:70px;
    border-radius:22px;
    background:#ececec;
    color:#999;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

.caixa-recarga-botao[data-enabled="1"]{
    background:#d7ff3f;
    color:#111;
}

.caixa-pix-area{
    margin-top:18px;
}

.caixa-pix-card{
    background:#fff;
    color:#111;
    border-radius:30px;
    padding:28px 22px;
    text-align:center;
    box-shadow:0 20px 55px rgba(0,0,0,.18);
}

.caixa-pix-icone{
    width:88px;
    height:88px;

    margin:0 auto 18px;

    border-radius:28px;

    background:#d7ff3f;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:40px;
    color:#111;
}

.caixa-pix-titulo{
    font-size:24px;
    line-height:1.1;
    font-weight:900;
    color:#111;
    margin-bottom:14px;
}

.caixa-pix-texto{
    font-size:14px;
    line-height:1.7;
    font-weight:700;
    color:#666;
}

.caixa-pix-copiar{
    margin-top:24px;

    height:62px;

    border-radius:22px;

    background:#111;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    font-size:14px;
    font-weight:900;

    cursor:pointer;

    transition:.2s;
}

.caixa-pix-copiar:hover{
    transform:scale(.98);
}

.caixa-form-grupo{
    margin-top:18px;
}

.caixa-form-label{
    font-size:12px;
    font-weight:900;
    color:#666;
    text-transform:uppercase;
    margin-bottom:10px;
}

.caixa-form-grupo input{
    width:100%;
    height:62px;

    border:none;
    outline:none;

    border-radius:22px;

    background:#f5f5f5;

    padding:0 20px;

    font-size:16px;
    font-weight:800;
    color:#111;

    box-sizing:border-box;
}

.caixa-form-grupo input::placeholder{
    color:#999;
    font-weight:700;
}