/* =========================================================

   FNEL - STYLE MODERN

   Camada visual segura sobre o style.css antigo

   Foco: painel, menus, filtros, botões, formulários,

   gerenciar carteiras, header, footer e responsividade

========================================================= */





/* =========================================================

   01. VARIÁVEIS VISUAIS

========================================================= */



:root {

    --fnel-azul: #0f2a44;

    --fnel-azul-claro: #2563eb;

    --fnel-azul-hover: #1d4ed8;



    --fnel-verde: #16a34a;

    --fnel-verde-escuro: #0f766e;

    --fnel-vermelho: #dc2626;

    --fnel-amarelo: #facc15;



    --fnel-cinza-bg: #f4f6f9;

    --fnel-cinza-card: #ffffff;

    --fnel-cinza-borda: #e5e7eb;

    --fnel-cinza-input: #cbd5e1;

    --fnel-cinza-texto: #475569;



    --fnel-texto: #263238;



    --fnel-radius: 12px;

    --fnel-radius-sm: 8px;

    --fnel-shadow: 0 3px 12px rgba(15, 42, 68, 0.08);

    --fnel-shadow-sm: 0 2px 8px rgba(15, 42, 68, 0.06);

}





/* =========================================================

   02. BASE SEGURA DO PAINEL

========================================================= */



html,

body {

    width: 100%;

    max-width: 100%;

    overflow-x: hidden;

}



body {

    background: var(--fnel-cinza-bg);

    color: var(--fnel-texto);

}



a {

    color: var(--fnel-azul);

}



#container,

#content-center,

#conteudo,

#coluna-full,

#coluna-esq,

.item-home {

    max-width: 100%;

    box-sizing: border-box;

}



#conteudo,

#coluna-full,

.item-home {

    width: 100%;

}



.fnel-main,

.pagina_cadastro,

.item-home,

#coluna-full {

    max-width: 1200px;

    margin-left: auto;

    margin-right: auto;

}



input,

select,

textarea,

button {

    max-width: 100%;

    box-sizing: border-box;

}





/* =========================================================

   03. HEADER PÚBLICO LIMPO

========================================================= */



.fnel-header {

    width: 100%;

    background: #ffffff;

    border-bottom: 1px solid var(--fnel-cinza-borda);

    box-shadow: 0 2px 10px rgba(15, 42, 68, 0.06);

    margin: 0 0 24px 0;

    padding: 0;

}



.fnel-header-inner {

    width: 100%;

    max-width: 1200px;

    margin: 0 auto;

    padding: 14px 22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    box-sizing: border-box;

}



.fnel-header-logo {

    flex: 0 0 auto;

}



.fnel-header-logo a {

    display: block;

}



.fnel-header-logo img {

    width: auto !important;

    max-width: 220px !important;

    height: auto !important;

    max-height: 78px !important;

    margin: 0 !important;

    display: block;

}



.fnel-header-menu {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 8px;

    flex-wrap: wrap;

}



.fnel-header-menu a {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    color: var(--fnel-azul) !important;

    font-weight: 700;

    font-size: 14px;

    text-decoration: none !important;

    padding: 9px 12px;

    border-radius: 9px;

    transition: all 0.15s ease-in-out;

    line-height: 1.2;

}



.fnel-header-menu a:hover {

    background: #eff6ff;

    color: var(--fnel-azul-claro) !important;

}



.fnel-header-menu .fnel-header-action {

    background: var(--fnel-azul-claro);

    color: #ffffff !important;

    padding: 9px 16px;

}



.fnel-header-menu .fnel-header-action:hover {

    background: var(--fnel-azul-hover);

    color: #ffffff !important;

}



.fnel-header img,

.fnel-header-logo img,

.fnel-header-menu img {

    margin: 0 !important;

}





/* =========================================================

   04. MENU HORIZONTAL INTERNO DO PAINEL

========================================================= */



#menu-horizontal {

    margin: 10px 0 22px 0;

    padding: 14px 16px;

    background: #ffffff;

    border: 1px solid var(--fnel-cinza-borda);

    border-radius: 14px;

    box-shadow: var(--fnel-shadow-sm);

}



#menu-horizontal .nav2.nav-pills {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 12px;

    margin: 0;

    padding: 0;

    list-style: none;

}



#menu-horizontal .nav2.nav-pills > li {

    position: relative;

    float: none !important;

    margin: 0 !important;

    list-style: none;

}



#menu-horizontal .nav2.nav-pills > li > a {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 12px 16px !important;

    background: #ffffff;

    border: 1px solid #dbe3ef;

    border-radius: 12px;

    color: var(--fnel-azul) !important;

    font-size: 15px;

    font-weight: 700;

    line-height: 1.2;

    text-decoration: none;

    box-shadow: var(--fnel-shadow-sm);

    transition: all 0.18s ease;

}



#menu-horizontal .nav2.nav-pills > li > a:hover,

#menu-horizontal .nav2.nav-pills > li.open > a,

#menu-horizontal .nav2.nav-pills > li > a:focus {

    background: #eff6ff;

    border-color: #93c5fd;

    color: var(--fnel-azul-claro) !important;

    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.14);

}



#menu-horizontal .nav2.nav-pills .caret {

    margin-left: 2px;

}





/* Dropdown do menu interno */



#menu-horizontal .dropdown-menu {

    min-width: 240px;

    margin-top: 10px !important;

    padding: 8px;

    border: 1px solid var(--fnel-cinza-borda) !important;

    border-radius: 14px !important;

    background: #ffffff;

    box-shadow: 0 12px 28px rgba(15, 42, 68, 0.16) !important;

}



#menu-horizontal .dropdown-menu > li {

    list-style: none;

}



#menu-horizontal .dropdown-menu > li > a {

    display: block;

    padding: 10px 12px !important;

    border-radius: 8px;

    color: #0f172a !important;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

    transition: all 0.15s ease;

}



#menu-horizontal .dropdown-menu > li > a:hover {

    background: #eff6ff !important;

    color: var(--fnel-azul-claro) !important;

}



#menu-horizontal .dropdown-menu > li.active > a,

#menu-horizontal .dropdown-menu > li.active > a:hover {

    background: var(--fnel-azul-claro) !important;

    color: #ffffff !important;

}





/* =========================================================

   05. CABEÇALHO DAS PÁGINAS

========================================================= */



.page-header {

    margin: 0 0 18px 0;

    padding: 14px 18px;

    background: var(--fnel-cinza-card);

    border: 1px solid var(--fnel-cinza-borda);

    border-radius: var(--fnel-radius);

    box-shadow: var(--fnel-shadow);

}



.page-header h1 {

    margin: 0;

    color: var(--fnel-azul);

    font-size: 24px;

    font-weight: 700;

}





/* =========================================================

   06. ABAS DA PÁGINA GERENCIAR CARTEIRAS

========================================================= */



.nav2.nav-tabs {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 10px;

    border-bottom: none !important;

    margin: 20px 0 12px 0;

    padding: 0;

}



.nav2.nav-tabs > li {

    float: none !important;

    margin: 0 !important;

}



.nav2.nav-tabs > li > a {

    display: block;

    background: #ffffff;

    color: var(--fnel-azul) !important;

    border: 1px solid #dbe3ef !important;

    border-radius: 10px !important;

    padding: 10px 16px !important;

    font-size: 14px;

    font-weight: 700;

    line-height: 18px !important;

    box-shadow: 0 2px 6px rgba(15, 42, 68, 0.05);

    transition: all 0.15s ease-in-out;

}



.nav2.nav-tabs > li > a:hover {

    background: #eff6ff !important;

    color: var(--fnel-azul-claro) !important;

    border-color: #93c5fd !important;

}



.nav2.nav-tabs > li.active > a,

.nav2.nav-tabs > li.active > a:hover,

.nav2.nav-tabs > li.active > a:focus {

    background: var(--fnel-azul-claro) !important;

    color: #ffffff !important;

    border-color: var(--fnel-azul-claro) !important;

    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.25);

}





/* =========================================================

   07. FILTROS E FORMULÁRIOS GERAIS

========================================================= */



.pure-form fieldset {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 8px;

    background: #ffffff;

    border: 1px solid var(--fnel-cinza-borda);

    border-radius: var(--fnel-radius);

    padding: 14px 16px;

    margin-bottom: 16px;

    box-shadow: var(--fnel-shadow);

}



.pure-form fieldset label {

    margin: 0 2px 0 0;

    white-space: nowrap;

    font-weight: 700;

    color: #334155;

}



.pure-form input,

.pure-form select,

.pure-form textarea {

    border: 1px solid var(--fnel-cinza-input) !important;

    border-radius: 8px !important;

    padding: 7px 9px !important;

    box-shadow: none !important;

}



.pure-form input[type="text"] {

    width: 260px;

    max-width: 100%;

}



.pure-form input[type="date"] {

    width: 150px;

}



.pure-form select {

    min-width: 80px;

}





/* =========================================================

   08. BOTÕES

========================================================= */



.btn,

.pure-button {

    border-radius: 8px !important;

    border: none !important;

    font-weight: 700;

    transition: all 0.15s ease-in-out;

}



.btn:hover,

.pure-button:hover {

    opacity: 0.92;

    transform: translateY(-1px);

}



.btn-primary {

    background-color: var(--fnel-azul-claro) !important;

    color: #ffffff !important;

}



.btn-success,

.bot_verde {

    background-color: var(--fnel-verde) !important;

    color: #ffffff !important;

}



.bot_vermelho {

    background-color: var(--fnel-vermelho) !important;

    color: #ffffff !important;

}



.btn-warning {

    background-color: #f59e0b !important;

    color: #111827 !important;

}



p .btn {

    margin-bottom: 4px;

}





/* =========================================================

   09. GERENCIAR CARTEIRAS - LISTAGEM

========================================================= */



.container_lista {

    width: 100%;

    box-sizing: border-box;

    margin-top: 20px;

}



.item_lista {

    width: 100%;

    min-height: 230px;

    height: auto !important;

    margin: 0 0 16px 0;

    clear: both;

    float: left;

    overflow: visible !important;

    background: #ffffff;

    border-radius: var(--fnel-radius);

    border: 1px solid var(--fnel-cinza-borda) !important;

    box-shadow: var(--fnel-shadow);

}



.item_lista_conteudo {

    clear: both;

    padding: 16px 18px;

    width: 100%;

    float: left;

    min-height: 150px;

    height: auto !important;

    box-sizing: border-box;

}



.item_lista_titulo {

    width: 100%;

    min-height: 34px;

    height: auto !important;

    line-height: 20px;

    padding: 8px 16px;

    clear: both;

    float: left;

    display: block;

    box-sizing: border-box;

    font-size: 13px;

    font-weight: 700;

    border-radius: 12px 12px 0 0;

}





/* Cores por origem */



.vendedor {

    background-color: var(--fnel-verde-escuro);

    color: #ffffff;

}



.aluno {

    background-color: var(--fnel-amarelo);

    color: var(--fnel-azul);

}



.stb {

    background-color: var(--fnel-verde);

    color: #ffffff;

}



.aluno_c {

    background-color: #94a3b8;

    color: #ffffff;

}



.vendedor_b,

.aluno_b,

.stb_b,

.aluno_c_b {

    border-width: 1px !important;

}





/* =========================================================

   10. GERENCIAR CARTEIRAS - CONTEÚDO DO CARD

========================================================= */



.id_pedido {

    width: 240px;

    min-height: 150px;

    height: auto !important;

    float: left;

    box-sizing: border-box;

}



.txt_id {

    font-size: 15px;

    color: var(--fnel-azul);

    line-height: 24px;

    font-weight: 700;

}



.txt_data_pedido {

    font-size: 12px;

    color: var(--fnel-cinza-texto);

    line-height: 22px;

}



.txt_pagamento {

    margin-top: 8px;

    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    align-items: center;

}



.dados_carteira {

    width: calc(100% - 560px);

    min-width: 360px;

    min-height: 150px;

    height: auto !important;

    float: left;

    padding: 0 12px;

    box-sizing: border-box;

}



.txt_nome {

    font-size: 19px;

    color: var(--fnel-azul);

    font-weight: 700;

    line-height: 24px;

    margin-bottom: 8px;

}



.txt_nome a {

    color: var(--fnel-azul);

}



.txt_validade {

    color: #334155;

    font-size: 13px;

    line-height: 23px;

}



.txt_atencao,

.aviso {

    color: var(--fnel-vermelho);

    font-weight: 700;

}





/* =========================================================

   11. GERENCIAR CARTEIRAS - IMPRESSÃO E AÇÕES

========================================================= */



.coluna_impressao {

    width: 280px;

    max-width: 280px;

    min-height: 150px;

    height: auto !important;

    float: right;

    margin: 18px 10px 0 0;

    display: flex;

    flex-wrap: wrap;

    justify-content: flex-end;

    align-items: flex-start;

    gap: 6px;

}



.coluna_impressao a,

.coluna_impressao img,

.coluna_impressao div {

    margin: 0 !important;

}



.bt_editar_grande,

.bt_excluir_grande,

.imprimir_foto,

.imprimir_foto_itta,

.imprimir_selo_dados,

.imprimir_selo_dados_ok,

.impresso1,

.impresso2 {

    width: 62px !important;

    height: 62px !important;

    background-size: 62px !important;

    border-radius: 10px;

    overflow: hidden;

}



.coluna_impressao img {

    width: 62px !important;

    height: auto;

}



.imp_selo {

    text-align: center;

    float: left;

    background: #f8fafc;

    border: 1px solid var(--fnel-cinza-borda);

    border-radius: 8px;

    padding: 8px 10px;

    min-width: 74px;

    margin-top: 4px;

}





/* =========================================================

   12. PAGINAÇÃO E TABELAS

========================================================= */



#navegacao {

    clear: both;

    margin: 20px 0;

    padding: 12px;

    background: #ffffff;

    border: 1px solid var(--fnel-cinza-borda);

    border-radius: var(--fnel-radius);

}



#navegacao a {

    color: var(--fnel-azul-claro);

    font-weight: 700;

}



.table-responsive,

.pure-table,

.dataTables_wrapper {

    max-width: 100%;

    overflow-x: auto;

}





/* =========================================================

   13. PRIMEIRO ACESSO / CADASTRO

========================================================= */



.pagina_cadastro {

    max-width: 1280px;

    margin: 24px auto 0 auto !important;

    padding: 0 18px;

    box-sizing: border-box;

}



.pagina_cadastro h1,

.pagina_cadastro h2,

.pagina_cadastro .titulo {

    color: var(--fnel-azul);

}



.progress {

    height: 22px;

    border-radius: 10px;

    overflow: hidden;

    background: var(--fnel-cinza-borda);

    box-shadow: none;

    margin-bottom: 24px;

}



.progress-bar {

    background-color: var(--fnel-azul-claro);

    font-weight: 700;

    line-height: 22px;

}



.col-cart {

    width: 40% !important;

    max-width: 520px;

    float: left;

    box-sizing: border-box;

    padding-right: 24px;

}



.col-form {

    width: 60% !important;

    max-width: 760px;

    float: left !important;

    box-sizing: border-box;

    padding: 0 0 0 24px;

}



.imagem_carteira,

.imagem_carteira_com_numero {

    margin: 10px 0 16px 0 !important;

}



#upload-image,

.foto_botoes,

#aviso_foto {

    text-align: center;

}



.foto_botoes .btn,

#upload-image .btn {

    border-radius: 8px !important;

    padding: 10px 18px !important;

    font-weight: 700;

}



.info_foto {

    float: none !important;

    margin: 18px 0 0 0 !important;

    background: #ffffff;

    border: 1px solid var(--fnel-cinza-borda);

    border-radius: 12px;

    padding: 18px 20px;

    box-shadow: 0 3px 12px rgba(15, 42, 68, 0.06);

}



.info_foto h3,

.info_foto h4,

.info_foto p {

    color: var(--fnel-azul);

}



.lista_foto_info {

    padding-left: 18px;

}



.form_carteira,

.form_solicitar_carteira {

    width: 100% !important;

    margin-top: 0 !important;

}



.form_carteira .form-group,

.form_solicitar_carteira .form-group {

    margin-bottom: 16px;

}



.form_carteira label,

.form_solicitar_carteira label {

    color: var(--fnel-azul);

    font-weight: 700;

    font-size: 13px;

    margin-bottom: 6px;

}



.form_carteira input,

.form_carteira select,

.form_carteira textarea,

.form_solicitar_carteira input,

.form_solicitar_carteira select,

.form_solicitar_carteira textarea {

    height: 42px;

    border: 1px solid var(--fnel-cinza-input) !important;

    border-radius: 8px !important;

    box-shadow: none !important;

    padding: 8px 12px !important;

    font-size: 14px;

    background: #ffffff;

}



.form_carteira input:focus,

.form_carteira select:focus,

.form_carteira textarea:focus,

.form_solicitar_carteira input:focus,

.form_solicitar_carteira select:focus,

.form_solicitar_carteira textarea:focus {

    border-color: var(--fnel-azul-claro) !important;

    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;

    outline: none;

}



.form_carteira .btn,

.form_solicitar_carteira .btn {

    min-width: 130px;

    height: 44px;

    border-radius: 9px !important;

    font-weight: 700;

}



input[value="AVANÇAR"],

button[value="AVANÇAR"],
.btn-avancar {

    margin-top: 8px;

}



.form_carteira .row,

.form_solicitar_carteira .row {

    margin-left: -8px;

    margin-right: -8px;

}



.form_carteira [class*="col-"],

.form_solicitar_carteira [class*="col-"] {

    padding-left: 8px;

    padding-right: 8px;

}



.dados_pedido,

.passo_titulo {

    color: var(--fnel-azul);

    font-weight: 700;

    margin-bottom: 12px;

}





/* =========================================================

   14. AJUSTES DE IMAGENS SEGUROS

========================================================= */



.fnel-header img,

#navbar-mobile img,

.item_lista img,

.info_foto img,

.lista_documentos_cx img {

    max-width: 100%;

    height: auto;

}



.fnel-header img,

#navbar-mobile img,

.item_lista img,

.imagem_carteira img,

.imagem_carteira_com_numero img {

    margin: 0 !important;

}





/* =========================================================

   15. FOOTER LIMPO FNEL

========================================================= */



.fnel-footer {

    clear: both;

    width: 100%;

    margin-top: 40px;

    background: var(--fnel-azul);

    color: #ffffff;

    border-top: 1px solid rgba(255, 255, 255, 0.08);

}



.fnel-footer-inner {

    max-width: 1200px;

    margin: 0 auto;

    padding: 22px 18px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    box-sizing: border-box;

}



.fnel-footer-logo {

    display: flex;

    flex-direction: column;

    gap: 2px;

}



.fnel-footer-logo strong {

    font-size: 18px;

    line-height: 1.2;

}



.fnel-footer-logo span {

    font-size: 13px;

    color: #cbd5e1;

}



.fnel-footer-info {

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 4px;

    font-size: 13px;

    color: #cbd5e1;

}



.fnel-footer-info a {

    color: #ffffff;

    font-weight: 700;

    text-decoration: none;

}



.fnel-footer-info a:hover {

    text-decoration: underline;

}





/* =========================================================

   16. AJUSTES DE ESPAÇAMENTO

========================================================= */



#coluna-full > .item-home p {

    margin: 6px 0;

}



form#form_imprimir_selos {

    margin-top: 10px;

}



#marcar_todos_pag_gerenciar_carteiras {

    margin-left: 6px;

}



body .fnel-header + #navbar-mobile + .elementor,

body .fnel-header + .elementor {

    margin-top: 0;

}





/* =========================================================

   17. RESPONSIVO - TABLET / TELAS MÉDIAS

========================================================= */



@media only screen and (max-width: 1100px) {



    .fnel-header-inner {

        padding: 12px 16px;

        gap: 14px;

    }



    .fnel-header-logo img {

        max-width: 180px !important;

    }



    .fnel-header-menu {

        gap: 5px;

    }



    .fnel-header-menu a {

        font-size: 13px;

        padding: 8px 9px;

    }



    .item-home,

    #coluna-full,

    #conteudo,

    .pagina_cadastro {

        width: 96% !important;

        max-width: 96% !important;

        margin-left: auto !important;

        margin-right: auto !important;

    }



    .col,

    .col_none {

        width: 100% !important;

        float: none !important;

        clear: both;

    }



    .col-cart,

    .col-form {

        width: 100% !important;

        max-width: 100%;

        float: left !important;

        clear: both;

        padding: 0 !important;

    }



    .col-form {

        margin-top: 24px;

    }



    .imagem_carteira,

    .imagem_carteira_com_numero {

        margin-left: auto !important;

        margin-right: auto !important;

    }

}





/* =========================================================

   18. RESPONSIVO - MOBILE

========================================================= */



@media only screen and (max-width: 768px) {



    body {

        padding-top: 0;

    }



    .fnel-header {

        display: none !important;

    }



    #navbar-mobile {

        display: block !important;

        position: relative !important;

        width: 100%;

        margin: 0;

        border: none;

        background: #ffffff !important;

        box-shadow: 0 2px 10px rgba(15, 42, 68, 0.08);

        z-index: 999;

    }



    #navbar-mobile .container {

        width: 100% !important;

        max-width: 100%;

        padding-left: 12px;

        padding-right: 12px;

    }



    #navbar-mobile .navbar-header {

        min-height: 72px;

        padding-bottom: 0;

    }



    #navbar-mobile .navbar-brand {

        padding: 8px 0;

        height: auto;

    }



    #navbar-mobile .navbar-brand img {

        max-height: 58px;

        width: auto;

        margin: 0 !important;

    }



    #navbar-mobile .navbar-toggle {

        margin-top: 18px;

        margin-right: 8px;

        background: var(--fnel-azul);

        border-color: var(--fnel-azul);

    }



    #navbar-mobile .navbar-collapse {

        width: 100%;

        padding: 12px;

        background: #ffffff;

        border: none;

        box-shadow: none;

    }



    #navbar-mobile .navbar-nav {

        width: 100%;

        margin: 0;

    }



    #navbar-mobile .navbar-nav > li {

        width: 100%;

        float: none;

        clear: both;

    }



    #navbar-mobile .navbar-nav > li > a {

        display: block;

        width: 100%;

        color: var(--fnel-azul) !important;

        background: #f8fafc;

        border: 1px solid var(--fnel-cinza-borda);

        border-radius: 9px;

        margin-bottom: 7px;

        padding: 10px 12px;

        font-weight: 700;

        text-align: left;

    }



    .elementor,

    .elementor-inner,

    .elementor-section-wrap,

    .elementor-section,

    .elementor-container,

    .elementor-row,

    .elementor-column,

    .elementor-column-wrap,

    .elementor-widget-wrap,

    .elementor-widget,

    .elementor-widget-container {

        width: 100% !important;

        max-width: 100% !important;

        margin-left: 0 !important;

        margin-right: 0 !important;

        padding-left: 0 !important;

        padding-right: 0 !important;

        box-sizing: border-box;

    }



    #conteudo,

    #coluna-full,

    #coluna-esq,

    .item-home,

    .pagina_cadastro {

        width: 94% !important;

        max-width: 94% !important;

        margin-left: auto !important;

        margin-right: auto !important;

        float: none !important;

        clear: both;

    }



    #menu-horizontal {

        width: 100%;

        margin: 12px auto 18px auto;

        padding: 12px;

        box-sizing: border-box;

    }



    #menu-horizontal .nav2.nav-pills {

        display: grid;

        grid-template-columns: 1fr;

        gap: 8px;

    }



    #menu-horizontal .nav2.nav-pills > li > a {

        width: 100%;

        justify-content: space-between;

        font-size: 14px;

    }



    #menu-horizontal .dropdown-menu {

        position: static !important;

        float: none !important;

        width: 100%;

        min-width: 100%;

        margin-top: 8px !important;

        box-shadow: none !important;

    }



    .nav2.nav-tabs {

        display: grid;

        grid-template-columns: 1fr;

        gap: 8px;

    }



    .nav2.nav-tabs > li > a {

        width: 100%;

        text-align: center;

    }



    .pure-form fieldset {

        display: block;

        width: 100%;

        padding: 14px;

    }



    .pure-form label {

        display: block;

        margin: 10px 0 5px 0;

    }



    .pure-form input,

    .pure-form select,

    .pure-form textarea,

    .pure-form button,

    .pure-form .btn,

    .pure-form .pure-button {

        width: 100% !important;

        max-width: 100% !important;

        margin-bottom: 8px;

    }



    .col,

    .col_none,

    .col-cart,

    .col-form,

    .login-col1,

    .login-col2,

    .col-acesso1,

    .col-acesso2,

    .col-int-1,

    .col-int-2,

    .cx_revisao {

        width: 100% !important;

        max-width: 100% !important;

        float: none !important;

        clear: both;

        padding-left: 0 !important;

        padding-right: 0 !important;

        margin-left: 0 !important;

        margin-right: 0 !important;

    }



    .item_lista {

        width: 100%;

        min-height: auto;

    }



    .item_lista_conteudo {

        padding: 14px;

    }



    .id_pedido,

    .dados_carteira,

    .coluna_impressao {

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0 !important;

        float: none !important;

        clear: both;

        margin: 10px 0 0 0 !important;

        padding-left: 0 !important;

        padding-right: 0 !important;

    }



    .coluna_impressao {

        justify-content: flex-start;

    }



    .imagem_carteira,

    .imagem_carteira_com_numero {

        transform: scale(0.86);

        transform-origin: top left;

        margin-bottom: -24px !important;

    }



    .form_carteira,

    .form_solicitar_carteira {

        width: 100% !important;

    }



    .form_carteira .row,

    .form_solicitar_carteira .row {

        margin-left: 0 !important;

        margin-right: 0 !important;

    }



    .form_carteira [class*="col-"],

    .form_solicitar_carteira [class*="col-"] {

        width: 100% !important;

        float: none !important;

        padding-left: 0 !important;

        padding-right: 0 !important;

    }



    .fnel-footer-inner {

        width: 94%;

        padding: 18px 0;

        flex-direction: column;

        align-items: flex-start;

        text-align: left;

    }



    .fnel-footer-info {

        align-items: flex-start;

    }

}





/* =========================================================

   19. RESPONSIVO - CELULARES MUITO ESTREITOS

========================================================= */



@media only screen and (max-width: 420px) {



    #conteudo,

    #coluna-full,

    #coluna-esq,

    .item-home,

    .pagina_cadastro {

        width: 92% !important;

        max-width: 92% !important;

    }



    .page-header h1 {

        font-size: 22px !important;

        line-height: 1.25;

    }



    h2 {

        font-size: 19px !important;

    }



    .btn,

    .pure-button {

        width: 100%;

        white-space: normal;

    }



    .imagem_carteira,

    .imagem_carteira_com_numero {

        transform: scale(0.72);

        transform-origin: top left;

        margin-bottom: -58px !important;

    }



    .txt_nome {

        font-size: 17px;

    }



    .bt_editar_grande,

    .bt_excluir_grande,

    .imprimir_foto,

    .imprimir_foto_itta,

    .imprimir_selo_dados,

    .imprimir_selo_dados_ok,

    .impresso1,

    .impresso2 {

        width: 54px !important;

        height: 54px !important;

        background-size: 54px !important;

    }



    .coluna_impressao img {

        width: 54px !important;

    }

}



/* =========================================================

   CENTRALIZAÇÃO DO CONTEÚDO DO SISTEMA

   Gerenciar carteiras / páginas internas

========================================================= */



/* Container principal do painel */

#conteudo,

#coluna-full,

.item-home {

    max-width: 1280px !important;

    width: calc(100% - 40px) !important;

    margin-left: auto !important;

    margin-right: auto !important;

    box-sizing: border-box;

}



/* Título da página */

.page-header {

    max-width: 1280px;

    margin-left: auto !important;

    margin-right: auto !important;

}



/* Abas */

.nav2.nav-tabs {

    max-width: 1280px;

    margin-left: auto !important;

    margin-right: auto !important;

}



/* Área de filtros */

.pure-form fieldset {

    max-width: 1280px;

    margin-left: auto !important;

    margin-right: auto !important;

}



/* Botões superiores da página */

#coluna-full > .item-home > p,

.item-home > p {

    max-width: 1280px;

    margin-left: auto !important;

    margin-right: auto !important;

}



/* Lista de carteiras */

.container_lista {

    max-width: 1280px;

    margin-left: auto !important;

    margin-right: auto !important;

}



/* Cards */

.item_lista {

    max-width: 1280px;

    margin-left: auto !important;

    margin-right: auto !important;

    float: none !important;

    display: block;

}



/* Marcar todos */

#marcar_todos_pag_gerenciar_carteiras,

.marcar_todos,

label[for="marcar_todos_pag_gerenciar_carteiras"] {

    max-width: 1280px;

}



/* Evita que os cards fiquem colados no topo */

form#form_imprimir_selos {

    max-width: 1280px;

    margin-left: auto !important;

    margin-right: auto !important;

}



/* =========================================================

   ORGANIZAÇÃO INTERNA DOS CARDS

========================================================= */



.item_lista_conteudo {

    display: grid;

    grid-template-columns: 260px 1fr 300px;

    gap: 24px;

    align-items: start;

}



.id_pedido,

.dados_carteira,

.coluna_impressao {

    float: none !important;

    width: auto !important;

    max-width: none !important;

}



.coluna_impressao {

    justify-content: flex-end;

    margin: 10px 0 0 0 !important;

}



/* Responsivo dos cards */

@media only screen and (max-width: 900px) {

    .item_lista_conteudo {

        display: block;

    }



    .id_pedido,

    .dados_carteira,

    .coluna_impressao {

        width: 100% !important;

        margin-top: 12px !important;

    }



    .coluna_impressao {

        justify-content: flex-start;

    }

}



/* =========================================================

   CORREÇÃO CARD GERENCIAR CARTEIRAS

   Corrige quebra dos ícones/coluna de impressão

========================================================= */



/* O link vazio do validador estava virando coluna no grid */

.item_lista_conteudo > a[href*="validador"]:empty,

.item_lista_conteudo > a[target="_blank"]:empty {

    display: none !important;

}



/* Organização interna do card */

.item_lista_conteudo {

    display: grid !important;

    grid-template-columns: 240px minmax(280px, 1fr) 230px;

    gap: 20px;

    align-items: start;

}



/* Remove floats antigos dentro do grid */

.item_lista_conteudo .id_pedido,

.item_lista_conteudo .dados_carteira,

.item_lista_conteudo .coluna_impressao {

    float: none !important;

    width: auto !important;

    max-width: none !important;

    min-width: 0 !important;

}



/* Dados do aluno */

.item_lista_conteudo .dados_carteira {

    padding: 0 !important;

}



/* Coluna dos ícones */

.item_lista_conteudo .coluna_impressao {

    display: flex !important;

    flex-wrap: wrap;

    justify-content: flex-end;

    align-items: flex-start;

    gap: 8px;

    margin: 0 !important;

    min-height: auto !important;

}



/* Caixa selecionar */

.item_lista_conteudo .imp_selo {

    margin-top: 0 !important;

}



/* Em telas menores, empilha corretamente */

@media only screen and (max-width: 900px) {

    .item_lista_conteudo {

        display: block !important;

    }



    .item_lista_conteudo .id_pedido,

    .item_lista_conteudo .dados_carteira,

    .item_lista_conteudo .coluna_impressao {

        width: 100% !important;

        max-width: 100% !important;

        margin-top: 12px !important;

    }



    .item_lista_conteudo .coluna_impressao {

        justify-content: flex-start;

    }

}



/* =========================================================

   CORREÇÃO DEFINITIVA - ALINHAMENTO DOS CARDS

   Mantém botões/ícones sempre na mesma direção

========================================================= */



/* Card com altura automática, mas conteúdo alinhado */

.item_lista {

    min-height: auto !important;

}



/* Estrutura principal em 3 colunas */

.item_lista_conteudo {

    display: grid !important;

    grid-template-columns: 260px minmax(320px, 1fr) 260px;

    gap: 24px;

    align-items: start;

    padding: 18px 20px !important;

    min-height: 170px;

}



/* Remove o link vazio do validador que entra no grid e quebra o alinhamento */

.item_lista_conteudo > a[href*="validador"]:empty,

.item_lista_conteudo > a[target="_blank"]:empty {

    display: none !important;

}



/* Coluna esquerda */

.item_lista_conteudo .id_pedido {

    grid-column: 1;

    float: none !important;

    width: auto !important;

    min-width: 0 !important;

    min-height: auto !important;

    margin: 0 !important;

}



/* Coluna central */

.item_lista_conteudo .dados_carteira {

    grid-column: 2;

    float: none !important;

    width: auto !important;

    min-width: 0 !important;

    min-height: auto !important;

    margin: 0 !important;

    padding: 0 !important;

}



/* Coluna direita sempre alinhada no topo */

.item_lista_conteudo .coluna_impressao {

    grid-column: 3;

    float: none !important;

    width: auto !important;

    max-width: none !important;

    min-width: 0 !important;

    min-height: auto !important;

    height: auto !important;

    margin: 0 !important;

    padding: 0 !important;



    display: flex !important;

    flex-wrap: wrap;

    justify-content: flex-end;

    align-items: flex-start;

    align-content: flex-start;

    gap: 8px;

}



/* Ícones com tamanho estável */

.item_lista_conteudo .bt_editar_grande,

.item_lista_conteudo .bt_excluir_grande,

.item_lista_conteudo .imprimir_foto,

.item_lista_conteudo .imprimir_foto_itta,

.item_lista_conteudo .imprimir_selo_dados,

.item_lista_conteudo .imprimir_selo_dados_ok,

.item_lista_conteudo .impresso1,

.item_lista_conteudo .impresso2 {

    width: 64px !important;

    height: 64px !important;

    background-size: 64px !important;

    flex: 0 0 64px;

}



/* Imagens de impressora sem herdar margens antigas */

.item_lista_conteudo .coluna_impressao img {

    width: 64px !important;

    height: auto !important;

    margin: 0 !important;

    flex: 0 0 64px;

}



/* Caixa selecionar alinhada com os ícones */

.item_lista_conteudo .imp_selo {

    margin: 0 !important;

    min-width: 88px;

    min-height: 72px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;



    background: #f8fafc;

    border: 1px solid #e5e7eb;

    border-radius: 10px;

}



/* Evita que o botão Desbloquear empurre a coluna direita */

.item_lista_conteudo .txt_pagamento {

    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    align-items: flex-start;

}



/* Nome e status com melhor leitura */

.item_lista_conteudo .txt_nome {

    margin-top: 0;

    margin-bottom: 8px;

    line-height: 1.25;

}



.item_lista_conteudo .txt_validade,

.item_lista_conteudo .txt_atencao,

.item_lista_conteudo .aviso {

    line-height: 1.45;

}



/* Tablets: reduz colunas, mas mantém alinhamento */

@media only screen and (max-width: 1100px) {

    .item_lista_conteudo {

        grid-template-columns: 230px minmax(260px, 1fr) 220px;

        gap: 18px;

    }



    .item_lista_conteudo .bt_editar_grande,

    .item_lista_conteudo .bt_excluir_grande,

    .item_lista_conteudo .imprimir_foto,

    .item_lista_conteudo .imprimir_foto_itta,

    .item_lista_conteudo .imprimir_selo_dados,

    .item_lista_conteudo .imprimir_selo_dados_ok,

    .item_lista_conteudo .impresso1,

    .item_lista_conteudo .impresso2,

    .item_lista_conteudo .coluna_impressao img {

        width: 56px !important;

        height: 56px !important;

        background-size: 56px !important;

        flex-basis: 56px;

    }

}



/* Mobile: empilha sem quebrar */

@media only screen and (max-width: 768px) {

    .item_lista_conteudo {

        display: block !important;

        min-height: auto;

        padding: 14px !important;

    }



    .item_lista_conteudo .id_pedido,

    .item_lista_conteudo .dados_carteira,

    .item_lista_conteudo .coluna_impressao {

        width: 100% !important;

        max-width: 100% !important;

        margin-top: 12px !important;

    }



    .item_lista_conteudo .coluna_impressao {

        justify-content: flex-start;

    }

}



/* =========================================================

   CORREÇÃO MENU MOBILE DO PAINEL

   Garante clique/toque nos dropdowns internos

========================================================= */



@media only screen and (max-width: 768px) {



    #menu-horizontal {

        position: relative;

        z-index: 50;

    }



    #menu-horizontal .nav2.nav-pills,

    #menu-horizontal .nav2.nav-pills > li,

    #menu-horizontal .nav2.nav-pills > li > a,

    #menu-horizontal .dropdown-menu,

    #menu-horizontal .dropdown-menu > li,

    #menu-horizontal .dropdown-menu > li > a {

        pointer-events: auto !important;

    }



    #menu-horizontal .nav2.nav-pills > li {

        position: relative;

        z-index: 51;

    }



    #menu-horizontal .nav2.nav-pills > li > a {

        cursor: pointer;

        touch-action: manipulation;

    }



    #menu-horizontal .dropdown-menu {

        display: none;

        position: static !important;

        float: none !important;

        width: 100% !important;

        min-width: 100% !important;

        margin: 8px 0 0 0 !important;

        padding: 10px !important;

        box-shadow: none !important;

        background: #ffffff;

        border: 1px solid #e5e7eb !important;

        border-radius: 12px !important;

        z-index: 60;

    }



    #menu-horizontal .nav2.nav-pills > li.open > .dropdown-menu,

    #menu-horizontal .nav2.nav-pills > li.mobile-open > .dropdown-menu {

        display: block !important;

    }



    #menu-horizontal .dropdown-menu > li > a {

        display: block !important;

        width: 100%;

        padding: 12px 14px !important;

        margin-bottom: 6px;

        background: #f8fafc;

        border-radius: 9px;

        color: #0f2a44 !important;

        font-weight: 700;

        text-decoration: none !important;

    }



    #menu-horizontal .dropdown-menu > li.active > a,

    #menu-horizontal .dropdown-menu > li > a:hover,

    #menu-horizontal .dropdown-menu > li > a:focus {

        background: #2563eb !important;

        color: #ffffff !important;

    }

}



/* =========================================================

   RESPONSIVIDADE - PÁGINA MAIS BENEFÍCIOS

   Corrige rolagem lateral e tabela no mobile

========================================================= */



/* Evita rolagem lateral da página */

html,

body {

    max-width: 100%;

    overflow-x: hidden;

}



/* Container da página */

#conteudo,

#coluna-full,

.item-home {

    box-sizing: border-box;

}



/* DataTables não pode estourar a tela */

.dataTables_wrapper {

    width: 100% !important;

    max-width: 100% !important;

    overflow-x: hidden;

    box-sizing: border-box;

}



/* Área de controle do DataTables */

.dataTables_wrapper .dataTables_length,

.dataTables_wrapper .dataTables_filter {

    float: none !important;

    width: 100% !important;

    margin: 10px 0;

    text-align: left !important;

}



.dataTables_wrapper .dataTables_filter label,

.dataTables_wrapper .dataTables_length label {

    display: flex;

    align-items: center;

    gap: 8px;

    flex-wrap: wrap;

    font-weight: 700;

    color: #0f2a44;

}



.dataTables_wrapper .dataTables_filter input,

.dataTables_wrapper .dataTables_length select {

    max-width: 100%;

    border: 1px solid #cbd5e1;

    border-radius: 8px;

    padding: 7px 9px;

    box-sizing: border-box;

}



/* Tabela padrão em desktop/tablet */

table.dataTable,

#myTable {

    width: 100% !important;

    max-width: 100% !important;

    box-sizing: border-box;

}



/* Wrapper interno para telas médias */

@media only screen and (max-width: 900px) {

    .dataTables_wrapper {

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;

    }



    table.dataTable,

    #myTable {

        min-width: 720px;

    }

}



/* Mobile: transforma tabela em cards */

@media only screen and (max-width: 640px) {



    .dataTables_wrapper {

        overflow-x: visible;

    }



    table.dataTable,

    #myTable,

    #myTable thead,

    #myTable tbody,

    #myTable th,

    #myTable td,

    #myTable tr {

        display: block;

        width: 100% !important;

        box-sizing: border-box;

    }



    #myTable {

        min-width: 0 !important;

        border: none !important;

        background: transparent;

    }



    #myTable thead {

        display: none;

    }



    #myTable tbody tr {

        margin: 0 0 14px 0;

        padding: 14px;

        background: #ffffff;

        border: 1px solid #e5e7eb;

        border-radius: 12px;

        box-shadow: 0 3px 12px rgba(15, 42, 68, 0.08);

    }



    #myTable tbody td {

        display: flex;

        justify-content: space-between;

        align-items: flex-start;

        gap: 12px;

        padding: 9px 0 !important;

        border: none !important;

        border-bottom: 1px solid #eef2f7 !important;

        text-align: right;

        word-break: break-word;

        color: #334155;

    }



    #myTable tbody td:last-child {

        border-bottom: none !important;

    }



    #myTable tbody td::before {

        flex: 0 0 105px;

        text-align: left;

        font-weight: 800;

        color: #0f2a44;

    }



    /* Ajuste dos nomes das colunas */

    #myTable tbody td:nth-child(1)::before {

        content: "Empresa:";

    }



    #myTable tbody td:nth-child(2)::before {

        content: "CNPJ:";

    }



    #myTable tbody td:nth-child(3)::before {

        content: "E-mail:";

    }



    #myTable tbody td:nth-child(4)::before {

        content: "Telefone:";

    }



    #myTable tbody td:nth-child(5)::before {

        content: "Vencimento:";

    }



    #myTable tbody td:nth-child(6)::before {

        content: "Status:";

    }



    #myTable tbody td:nth-child(7)::before {

        content: "Ações:";

    }



    /* Campo pesquisar */

    .dataTables_wrapper .dataTables_filter label {

        display: block;

    }



    .dataTables_wrapper .dataTables_filter input {

        display: block;

        width: 100% !important;

        margin: 6px 0 0 0 !important;

    }



    .dataTables_wrapper .dataTables_length label {

        display: flex;

        justify-content: flex-start;

    }



    .dataTables_info,

    .dataTables_paginate {

        width: 100% !important;

        float: none !important;

        text-align: center !important;

        margin-top: 12px;

    }

}



/* =========================================================

   CORREÇÃO E MELHORIA DO BOTÃO SELECIONAR

   Gerenciar Carteiras - Mobile/Desktop

========================================================= */



/* Caixa do selecionar */

.item_lista_conteudo .imp_selo,

.coluna_impressao .imp_selo,

.imp_selo {

    display: flex !important;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 8px;



    width: 104px !important;

    min-width: 104px !important;

    height: auto !important;

    min-height: 86px !important;



    padding: 12px 10px !important;

    margin: 0 !important;



    background: #f8fafc !important;

    border: 1px solid #dbe3ef !important;

    border-radius: 12px !important;

    box-shadow: 0 3px 10px rgba(15, 42, 68, 0.08);



    text-align: center;

    line-height: normal !important;

    box-sizing: border-box;

}



/* Texto Selecionar */

.item_lista_conteudo .imp_selo label,

.coluna_impressao .imp_selo label,

.imp_selo label {

    display: block !important;

    margin: 0 !important;

    padding: 0 !important;



    color: #0f2a44 !important;

    font-size: 14px !important;

    font-weight: 800 !important;

    line-height: 1.2 !important;

    cursor: pointer;

}



/* Checkbox */

.item_lista_conteudo .imp_selo input[type="checkbox"],

.coluna_impressao .imp_selo input[type="checkbox"],

.imp_selo input[type="checkbox"] {

    display: block !important;



    width: 18px !important;

    height: 18px !important;



    margin: 0 auto !important;

    padding: 0 !important;



    cursor: pointer;

    accent-color: #2563eb;

}



/* Corrige qualquer herança antiga dentro da caixa */

.item_lista_conteudo .imp_selo *,

.coluna_impressao .imp_selo *,

.imp_selo * {

    line-height: normal !important;

}



/* Mobile: deixa o botão selecionar alinhado com os ícones */

@media only screen and (max-width: 768px) {

    .item_lista_conteudo .coluna_impressao {

        display: flex !important;

        flex-wrap: wrap;

        align-items: center !important;

        justify-content: flex-start !important;

        gap: 10px;

        margin-top: 14px !important;

    }



    .item_lista_conteudo .imp_selo,

    .coluna_impressao .imp_selo,

    .imp_selo {

        width: 110px !important;

        min-width: 110px !important;

        min-height: 88px !important;

    }

}



/* =========================================================

   BOTÃO SELECIONAR SELO - GERENCIAR CARTEIRAS

========================================================= */



.imp_selo {

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;



    width: 110px !important;

    min-width: 110px !important;

    min-height: 86px !important;

    height: auto !important;



    padding: 12px 10px !important;

    margin: 0 !important;



    background: #f8fafc !important;

    border: 1px solid #dbe3ef !important;

    border-radius: 12px !important;

    box-shadow: 0 3px 10px rgba(15, 42, 68, 0.08);



    text-align: center !important;

    line-height: normal !important;

    box-sizing: border-box;

}



.label-selecionar-selo {

    display: flex !important;

    flex-direction: column !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 10px !important;



    width: 100% !important;

    height: 100% !important;



    margin: 0 !important;

    padding: 0 !important;



    color: #0f2a44 !important;

    font-size: 14px !important;

    font-weight: 800 !important;

    line-height: 1.2 !important;

    cursor: pointer;

}



.label-selecionar-selo span {

    display: block;

}



.label-selecionar-selo input[type="checkbox"] {

    display: block !important;



    width: 18px !important;

    height: 18px !important;



    margin: 0 !important;

    padding: 0 !important;



    cursor: pointer;

    accent-color: #2563eb;

}



/* Remove interferência de regras antigas */

.imp_selo br {

    display: none !important;

}



.imp_selo input[type="hidden"] {

    display: none !important;

}



/* Mobile */

@media only screen and (max-width: 768px) {

    .item_lista_conteudo .coluna_impressao {

        display: flex !important;

        flex-wrap: wrap !important;

        align-items: center !important;

        justify-content: flex-start !important;

        gap: 10px !important;

    }



    .imp_selo {

        width: 112px !important;

        min-width: 112px !important;

        min-height: 88px !important;

    }

}



/* =========================================================

   CORREÇÃO DEFINITIVA - CHECKBOX SELECIONAR MOBILE

========================================================= */



.imp_selo {

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;



    width: 112px !important;

    min-width: 112px !important;

    height: auto !important;

    min-height: 92px !important;



    padding: 12px 10px !important;

    margin: 0 !important;



    background: #f8fafc !important;

    border: 1px solid #dbe3ef !important;

    border-radius: 12px !important;

    box-shadow: 0 3px 10px rgba(15, 42, 68, 0.08);



    text-align: center !important;

    line-height: normal !important;

    box-sizing: border-box !important;

    overflow: visible !important;

}



.label-selecionar-selo {

    display: flex !important;

    flex-direction: column !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 10px !important;



    width: 100% !important;

    min-height: 66px !important;



    margin: 0 !important;

    padding: 0 !important;



    color: #0f2a44 !important;

    font-size: 14px !important;

    font-weight: 800 !important;

    line-height: 1.2 !important;



    cursor: pointer !important;

    position: relative !important;

    z-index: 2 !important;

}



.label-selecionar-selo span {

    display: block !important;

}



/* Checkbox real */

.label-selecionar-selo input[type="checkbox"].check_imprimir_selo,

.imp_selo input[type="checkbox"].check_imprimir_selo {

    display: block !important;

    visibility: visible !important;

    opacity: 1 !important;



    position: relative !important;

    left: auto !important;

    top: auto !important;

    right: auto !important;

    bottom: auto !important;



    width: 20px !important;

    min-width: 20px !important;

    max-width: 20px !important;



    height: 20px !important;

    min-height: 20px !important;

    max-height: 20px !important;



    margin: 0 auto !important;

    padding: 0 !important;



    appearance: auto !important;

    -webkit-appearance: checkbox !important;

    -moz-appearance: checkbox !important;



    transform: none !important;

    cursor: pointer !important;

    accent-color: #2563eb;

    z-index: 5 !important;

}



/* Esconde apenas os hiddens */

.imp_selo input[type="hidden"],

.imp_selo .hidden_permite_imprimir_selo {

    display: none !important;

}



/* Remove quebra antiga */

.imp_selo br {

    display: none !important;

}



/* Garante espaço no mobile */

@media only screen and (max-width: 768px) {

    .item_lista_conteudo .coluna_impressao {

        display: flex !important;

        flex-wrap: wrap !important;

        align-items: flex-start !important;

        justify-content: flex-start !important;

        gap: 10px !important;

        overflow: visible !important;

    }



    .item_lista_conteudo .imp_selo,

    .coluna_impressao .imp_selo,

    .imp_selo {

        width: 116px !important;

        min-width: 116px !important;

        min-height: 94px !important;

        overflow: visible !important;

    }

}

.aviso-carteira-bloqueada {
    margin-top: 8px;
    padding: 10px 12px;
    background: #fff4d6;
    border-left: 5px solid #d88900;
    border-radius: 8px;
    color: #6b4300;
    font-size: 14px;
    line-height: 1.35;
    max-width: 430px;
}

.aviso-carteira-bloqueada strong {
    color: #9a5a00;
    font-size: 15px;
}

/* ================================
   GERENCIAR CARTEIRAS - AÇÕES
================================ */

.carteira-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 12px;
}

.carteira-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 9px;
    border: none;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12);
}

.carteira-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.18);
    text-decoration: none !important;
}

.carteira-btn-primary {
    background: #2563eb;
    color: #fff !important;
}

.carteira-btn-primary:hover {
    background: #1d4ed8;
}

.carteira-btn-success {
    background: #0f8a6a;
    color: #fff !important;
}

.carteira-btn-success:hover {
    background: #0b7257;
}

.carteira-btn-warning {
    background: #d88900;
    color: #fff !important;
}

.carteira-btn-warning:hover {
    background: #b87500;
}

.carteira-btn-danger {
    background: #c62828;
    color: #fff !important;
}

.carteira-btn-danger:hover {
    background: #a91f1f;
}

.carteira-link-destaque {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #eaf1ff;
    color: #174ea6 !important;
    font-weight: 700;
    text-decoration: none !important;
}

.carteira-link-destaque:hover {
    background: #dbe8ff;
    color: #0b3f91 !important;
}

.carteira-selecionar-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 110px;
    padding: 14px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #dbe3ef;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    font-weight: 700;
    color: #002b5c;
}

.carteira-selecionar-box input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

@media only screen and (max-width: 900px) {
    .carteira-acoes {
        width: 100%;
    }

    .carteira-btn,
    .carteira-link-destaque {
        flex: 1 1 auto;
        min-width: 140px;
    }

    .carteira-selecionar-box {
        width: 100%;
        max-width: 220px;
    }
}

.aviso-carteira-cadastro {
    margin-top: 8px;
    padding: 10px 12px;
    background: #eef5ff;
    border-left: 5px solid #2563eb;
    border-radius: 8px;
    color: #0b3269;
    font-size: 14px;
    line-height: 1.35;
    max-width: 430px;
}

.aviso-carteira-cadastro strong {
    color: #002b5c;
    font-size: 15px;
}

/* =========================================================
   FNEL - Cadastro múltiplo de carteiras / renovação
   Arquivo: pag_gerenciar_multiplas_carteiras_renovacao.php
========================================================= */

.pagina-carteiras {
    width: 100%;
    max-width: 100%;
    padding: 18px 0 32px;
}

/* Cabeçalho da página */
.carteiras-topo {
    background: #ffffff;
    border: 1px solid #dde5ef;
    border-radius: 16px;
    padding: 22px 24px;
    margin: 0 0 18px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.carteiras-topo h1,
.carteiras-topo h2 {
    margin: 0 0 8px;
    color: #002b5c;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
}

.carteiras-topo h3 {
    margin: 0 0 14px;
    color: #002b5c;
    font-size: 18px;
    font-weight: 800;
}

.carteiras-topo p {
    margin: 0;
    color: #5d6b7c;
    font-size: 14px;
    line-height: 1.45;
}

/* Alerta de sucesso/retorno */
#resultado_salvar {
    margin-bottom: 18px;
}

.carteiras-alerta-sucesso,
.alert-success,
.alert.alert-success {
    background: #e8f8e4;
    color: #246b2d;
    border: 1px solid #ccecc5;
    border-left: 5px solid #22a447;
    border-radius: 12px;
    padding: 14px 18px;
    margin: 0 0 18px;
    font-weight: 700;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}

/* Ações superiores */
.carteiras-acoes-topo {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

/* Botões */
.carteiras-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 17px;
    border-radius: 10px;
    border: none;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.10);
}

.carteiras-btn:hover {
    transform: translateY(-1px);
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.15);
}

.carteiras-btn-primary {
    background: #2563eb;
    color: #ffffff !important;
}

.carteiras-btn-primary:hover {
    background: #1d4ed8;
}

.carteiras-btn-secondary {
    background: #eef4ff;
    color: #174ea6 !important;
    border: 1px solid #c9dafd;
}

.carteiras-btn-secondary:hover {
    background: #dceaff;
}

.carteira-btn-success,
.carteiras-btn-success {
    background: #16a34a;
    color: #ffffff !important;
}

.carteira-btn-success:hover,
.carteiras-btn-success:hover {
    background: #12813d;
}

.carteira-btn-danger,
.carteiras-btn-danger {
    background: #dc2626;
    color: #ffffff !important;
}

.carteira-btn-danger:hover,
.carteiras-btn-danger:hover {
    background: #b91c1c;
}

.carteira-btn-warning,
.carteiras-btn-warning {
    background: #d88900;
    color: #ffffff !important;
}

.carteira-btn-warning:hover,
.carteiras-btn-warning:hover {
    background: #b87500;
}

/* Link pequeno, usado em limpar linha */
.carteira-link-destaque {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border-radius: 8px;
    background: #eef4ff;
    color: #174ea6 !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    border: 1px solid #cbdaf5;
}

.carteira-link-destaque:hover {
    background: #dceaff;
    color: #0f3f91 !important;
}

/* Filtros */
.carteiras-filtros {
    background: #ffffff;
    border: 1px solid #dde5ef;
    border-radius: 16px;
    padding: 16px 20px;
    margin: 0 0 18px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.carteiras-filtros-form {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
}

.carteiras-filtros-campo {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 260px;
    flex: 1 1 300px;
}

.carteiras-filtros-campo label {
    color: #24364a;
    font-size: 14px;
    font-weight: 800;
}

.carteiras-filtros-campo input,
.carteiras-filtros-campo select {
    height: 44px;
    width: 100%;
    border: 1px solid #cfd8e3;
    border-radius: 10px;
    padding: 0 14px;
    background: #ffffff;
    color: #223042;
    font-size: 14px;
    box-sizing: border-box;
}

.carteiras-filtros-campo input:focus,
.carteiras-filtros-campo select:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

/* Tabela */
.carteiras-tabela-wrap {
    background: #ffffff;
    border: 1px solid #dde5ef;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.carteiras-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
}

.carteiras-tabela {
    width: 100%;
    min-width: 1320px;
    border-collapse: collapse;
    background: #ffffff;
}

.carteiras-tabela thead th,
.carteiras-tabela thead td {
    background: #f3f6fb;
    color: #18324d;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 14px 10px;
    border-right: 1px solid #dce5f0;
    border-bottom: 1px solid #dce5f0;
    white-space: nowrap;
    vertical-align: bottom;
}

.carteiras-tabela thead th:last-child,
.carteiras-tabela thead td:last-child {
    border-right: none;
}

.carteiras-tabela tbody td {
    padding: 10px 8px;
    border-right: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
    color: #24364a;
    font-size: 14px;
    vertical-align: middle;
}

.carteiras-tabela tbody td:last-child {
    border-right: none;
}

.carteiras-tabela tbody tr:nth-child(even) {
    background: #fbfcfe;
}

.carteiras-tabela tbody tr:hover {
    background: #f4f8ff;
}

/* Inputs da tabela */
.carteiras-tabela input[type="text"],
.carteiras-tabela input[type="email"],
.carteiras-tabela input[type="date"] {
    width: 100%;
    min-width: 120px;
    height: 38px;
    border: 1px solid #d3dce8;
    border-radius: 8px;
    padding: 0 9px;
    background: #ffffff;
    color: #1f2937;
    font-size: 13px;
    box-sizing: border-box;
}

.carteiras-tabela input[type="email"] {
    min-width: 180px;
}

.carteiras-tabela input[name="pega_nome[]"] {
    min-width: 230px;
}

.carteiras-tabela input[name="pega_instituicao[]"] {
    min-width: 240px;
}

.carteiras-tabela input[name="pega_curso[]"] {
    min-width: 200px;
}

.carteiras-tabela input[name="pega_documento[]"] {
    min-width: 130px;
}

.carteiras-tabela input[name="pega_cpf[]"] {
    min-width: 145px;
}

.carteiras-tabela input[name="pega_nascimento[]"] {
    min-width: 145px;
}

.carteiras-tabela input[type="text"]:focus,
.carteiras-tabela input[type="email"]:focus,
.carteiras-tabela input[type="date"]:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.10);
}

.carteiras-tabela input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Campo obrigatório visual */
.campo-obrigatorio {
    border-color: #cfd8e3;
}

.campo-obrigatorio:focus {
    border-color: #2563eb;
}

.campo-obrigatorio.erro-campo,
.carteiras-tabela input.erro-campo {
    border-color: #dc2626 !important;
    background: #fff5f5 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.10) !important;
}

/* Avisos de CPF */
.aviso {
    display: block;
    margin-top: 4px;
    color: #dc2626;
    font-size: 12px;
    font-weight: 700;
}

/* Rodapé / área dos botões */
.area_botoes {
    background: #ffffff;
    border: 1px solid #dde5ef;
    border-radius: 16px;
    padding: 22px 24px;
    margin-top: 18px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.area_botoes h3 {
    margin: 0 0 14px;
    color: #002b5c;
    font-size: 18px;
    font-weight: 800;
}

.area_botoes fieldset {
    border: none;
    margin: 0 0 16px;
    padding: 0;
}

.area_botoes label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 4px 10px;
    color: #24364a;
    font-size: 14px;
    font-weight: 700;
}

.area_botoes .carteiras-btn {
    margin: 5px;
}

/* Compatibilidade com botões antigos */
.btn.btn-primary,
.btn.btn-success,
.btn.btn-warning,
.btn.btn-error {
    border-radius: 9px;
    font-weight: 800;
    text-decoration: none !important;
}

/* Mensagens */
.carteiras-msg-info {
    background: #eef4ff;
    border-left: 5px solid #2563eb;
    color: #174ea6;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
}

.carteiras-msg-erro {
    background: #fff5f5;
    border-left: 5px solid #dc2626;
    color: #991b1b;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
}

/* Responsivo */
@media only screen and (max-width: 1100px) {
    .pagina-carteiras {
        padding: 14px 0 26px;
    }

    .carteiras-topo,
    .carteiras-filtros,
    .area_botoes {
        border-radius: 14px;
        padding: 18px 16px;
    }

    .carteiras-topo h1,
    .carteiras-topo h2 {
        font-size: 22px;
    }

    .carteiras-acoes-topo {
        flex-direction: column;
        align-items: stretch;
    }

    .carteiras-btn {
        width: 100%;
    }

    .carteiras-filtros-form {
        flex-direction: column;
        align-items: stretch;
    }

    .carteiras-filtros-campo {
        min-width: 100%;
    }

    .area_botoes label {
        display: flex;
        justify-content: center;
        margin: 8px 0;
    }
}

@media only screen and (max-width: 700px) {
    .carteiras-topo h1,
    .carteiras-topo h2 {
        font-size: 20px;
    }

    .carteiras-topo p {
        font-size: 13px;
    }

    .carteiras-tabela {
        min-width: 1200px;
    }

    .area_botoes {
        text-align: center;
    }
}

/* =========================================================
   FNEL - Cadastro múltiplo responsivo sem rolagem lateral
========================================================= */

/* Evita botão Filtrar gigante */
@media only screen and (max-width: 1100px) {
    .carteiras-filtros-form {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: end;
        gap: 12px;
    }

    .carteiras-filtros-campo {
        min-width: 0;
        width: 100%;
    }

    .carteiras-filtros .carteiras-btn {
        width: auto;
        min-width: 120px;
    }
}

/* Tabela no desktop */
.carteiras-scroll {
    width: 100%;
    overflow-x: auto;
}

.carteiras-tabela {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
}

/* Em telas menores, vira cards */
@media only screen and (max-width: 950px) {
    .carteiras-scroll {
        overflow-x: visible;
    }

    .carteiras-tabela {
        min-width: 0;
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 14px;
    }

    .carteiras-tabela thead {
        display: none;
    }

    .carteiras-tabela,
    .carteiras-tabela tbody,
    .carteiras-tabela tr,
    .carteiras-tabela td {
        display: block;
        width: 100%;
    }

    .carteiras-tabela tbody tr {
        background: #ffffff;
        border: 1px solid #dbe5f1;
        border-radius: 16px;
        padding: 14px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
        margin-bottom: 14px;
    }

    .carteiras-tabela tbody td {
        border: none;
        padding: 8px 0;
    }

    .carteiras-tabela tbody td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 5px;
        color: #002b5c;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .carteiras-tabela input[type="text"],
    .carteiras-tabela input[type="email"],
    .carteiras-tabela input[type="date"] {
        width: 100%;
        min-width: 0 !important;
        height: 42px;
    }

    .carteira-link-destaque {
        width: 100%;
        min-height: 38px;
    }

    .carteiras-tabela td[data-label="Imprimir"],
    .carteiras-tabela td[data-label="Excluir salvos"] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .carteiras-tabela td[data-label="Imprimir"]::before,
    .carteiras-tabela td[data-label="Excluir salvos"]::before {
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 650px) {
    .carteiras-filtros-form {
        grid-template-columns: 1fr;
    }

    .carteiras-filtros .carteiras-btn {
        width: 100%;
    }

    .carteiras-topo,
    .carteiras-filtros,
    .area_botoes {
        padding: 16px;
    }
}

/* =========================================================
   FNEL - FORÇAR CADASTRO MÚLTIPLO EM CARDS
   Remove rolagem lateral da tela gerenciar-carteiras-vendedor
========================================================= */

@media only screen and (max-width: 1400px) {

    .pagina-carteiras .carteiras-tabela-wrap {
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    .pagina-carteiras .carteiras-scroll {
        overflow-x: visible !important;
        overflow-y: visible !important;
        width: 100% !important;
    }

    .pagina-carteiras table.carteiras-tabela {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        background: transparent !important;
    }

    .pagina-carteiras table.carteiras-tabela thead {
        display: none !important;
    }

    .pagina-carteiras table.carteiras-tabela tbody {
        display: block !important;
        width: 100% !important;
    }

    .pagina-carteiras table.carteiras-tabela tr {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 16px;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 18px !important;
        padding: 16px !important;
        background: #ffffff !important;
        border: 1px solid #dbe5f1 !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
        box-sizing: border-box !important;
    }

    .pagina-carteiras table.carteiras-tabela td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        border: none !important;
        box-sizing: border-box !important;
    }

    .pagina-carteiras table.carteiras-tabela td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 6px;
        color: #002b5c;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .pagina-carteiras table.carteiras-tabela input[type="text"],
    .pagina-carteiras table.carteiras-tabela input[type="email"],
    .pagina-carteiras table.carteiras-tabela input[type="date"] {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 42px !important;
        box-sizing: border-box !important;
    }

    .pagina-carteiras table.carteiras-tabela input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
    }

    .pagina-carteiras table.carteiras-tabela td[data-label="Limpar linha"],
    .pagina-carteiras table.carteiras-tabela td[data-label="Imprimir"],
    .pagina-carteiras table.carteiras-tabela td[data-label="Excluir salvos"] {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
    }

    .pagina-carteiras table.carteiras-tabela td[data-label="Limpar linha"]::before,
    .pagina-carteiras table.carteiras-tabela td[data-label="Imprimir"]::before,
    .pagina-carteiras table.carteiras-tabela td[data-label="Excluir salvos"]::before {
        margin-bottom: 0 !important;
    }

    .pagina-carteiras .carteira-link-destaque {
        width: auto !important;
        min-height: 38px;
        padding-left: 18px;
        padding-right: 18px;
    }
}

@media only screen and (max-width: 700px) {
    .pagina-carteiras table.carteiras-tabela tr {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px){

    .item_lista{
        width:100% !important;
        max-width:100% !important;
        min-height:auto !important;
        height:auto !important;

        float:none !important;
        display:block !important;

        margin:0 0 15px 0 !important;
        padding:15px !important;

        overflow:hidden !important;
    }

    .item_lista_conteudo{
        display:block !important;
    }

    .dados_carteira{
        width:100% !important;
        display:block !important;
    }

    .coluna_impressao{
        width:100% !important;
        display:block !important;
        text-align:left !important;
        margin-top:15px !important;
    }

    .item_lista_titulo{
        height:auto !important;
        min-height:auto !important;
        line-height:normal !important;
        padding:10px !important;
    }

}