* {
    font-family: "Roboto", "sans-serif";
}

a { text-decoration: none; }

.dataTables_wrapper .table thead { background: #f1f5fa; }

.btn-block { width: 100%; }

.form-control { background: #fff; }
.table-responsive .table { font-size: 11px; }
.enlarge-menu .page-wrapper .page-content > .container { max-width: 100%; }

table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before {
    top: 50% !important;
    transform: translate(0, -50%);
}
.filters th {
    padding: 5px !important;
}
hr.hr-dashed { border-top: 1px dashed #939393; }

.alert {
    padding: 5px 10px;
    margin-top: 10px;
    margin-bottom: 0;
}
.hide-sefaz-btns { display: none; }

#arquivos-importacao-result {
    max-height: 250px;
    overflow: visible;
}
.arquivo-importacao-result-line {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #fff;
    margin: 2px 0;
    padding: 5px 10px;
    border-radius: 2px;
}
.arquivo-importacao-result-line.arquivo-importacao-result-error {
    background: #fb6565;
    border: 1px solid #fb4d4d;
}
.arquivo-importacao-result-line.arquivo-importacao-result-success {
    background: #1dbb00;
    border: 1px solid #00af16;
}
.arquivo-importacao-result-line .result-line-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #ffffff;
    border-radius: 50%;
}
.arquivo-importacao-result-line.arquivo-importacao-result-error .result-line-icon {
    color: #fb6565;
}
.arquivo-importacao-result-line.arquivo-importacao-result-success .result-line-icon {
    color: #1dbb00;
}

/* Auth Card Body */
.account-body .card { margin-bottom: 0; }

/* Logo */
.left-sidenav .brand { width: 100%; border-bottom: 1px dashed #adadad; }
.left-sidenav .brand.active { display: block; }
.left-sidenav .brand a {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.left-sidenav .brand .logo { line-height: 0; }
.left-sidenav .brand .logo-lg { display: block !important; height: 52px !important; }
.left-sidenav .brand .logo-md { height: 45px !important; }

/* Menu */
.left-sidenav-menu li.mm-active .menu-arrow i:before { content: "\f105"; }
.left-sidenav-menu .nav-link { justify-content: space-between; }
.left-sidenav-menu .nav-link .menu-arrow {
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
}
.left-sidenav-menu .nav-link .menu-arrow i {
    width: auto;
    font-size: 14px;
}
.left-sidenav-menu > li.mm-active > a .menu-arrow i:before { content: "\f107"; }
.left-sidenav-menu > li.mm-active > .mm-show > li.mm-active > a .menu-arrow i:before { content: "\f107"; }
.left-sidenav-menu li > a { font-size: 14px; }
.left-sidenav-menu li > a i {
    text-align: center;
    min-width: 30px !important;
    padding-right: 5px;
}
.left-sidenav-menu .sidemenu-divider { color: #3b3b3b; }
#btn-change-user { justify-content: center; color: #fff; }

.topbar .nav-user {
    display: flex;
    align-items: center;
    gap: 5px;
}
.topbar .nav-user i {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ebebeb;
}

/* Layout */
.common-header-page-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0 10px;
}
.common-header-page-title .common-page-title-section h3, .common-header-page-title .common-nome-empresa-section h5 { margin: 0; }
.common-header-page-title .common-page-title-section h3 { position: relative; padding-bottom: 5px; }
.common-header-page-title .common-page-title-section h3:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 20%;
    height: 2px;
    background: linear-gradient(45deg, #1d3aff, #7184ff);
}

.no-charts { text-align: center; }
.chart-section { margin: 15px 0; }

/* Loader */
#loader-page {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    background: #00000075;
}
#loader-page .loader-elements {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    background: #fff;
    padding: 22px 18px 20px;
    position: relative;
    border-radius: 5px;
    box-shadow: 1px 1px 10px 2px #4d4d4d;
}
#loader-page .loader-elements span { font-size: 18px; }

/* DataTable */
.table .btn-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px
}
.table .btn-actions-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    grid-gap: 5px
}
#datatable-total-footer { border: none; }
#datatable-total-result {
    max-width: 200px;
    margin: 0 auto;
}
#datatable-total-result .total-result-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2px;
    padding-bottom: 2px;
    border-bottom: 1px solid #e7e7e7;
}
#datatable-total-result .total-result-line:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

/* Alert text */
.alert-text{
    display:flex;
    justify-content:center;
    font-size: 16px;
    animation: textAlertPulse 2s infinite;
}

/* Total Status */
.number-status {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 10px;
    width: 100%;
}
.number-status-comercial {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1.5fr;
    grid-gap: 10px;
    width: 100%;
}
.number-status-comercial .status-box, .number-status .status-box, .number-status-single .status-box {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 12px;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
}
.number-status-comercial .status-box.status-total, .number-status .status-box.status-total, .number-status-single .status-box.status-total {
    background: linear-gradient(45deg, #00a1ff, #00598d);
}
.number-status-comercial .status-box.status-ativo, .number-status-comercial .status-box.status-aberto,
.number-status .status-box.status-ativo, .number-status .status-box.status-aberto {
    background: linear-gradient(45deg, #04d71d, #037e12);
}
.number-status-comercial .status-box.status-inativo, .number-status-comercial .status-box.status-encerrado,
.number-status .status-box.status-inativo, .number-status .status-box.status-encerrado {
    background: linear-gradient(45deg, #e70202, #600000);
}
.number-status-comercial .status-box.status-prospeccao, .number-status-comercial .status-box.status-parcial,
.number-status .status-box.status-prospeccao, .number-status .status-box.status-parcial {
    background: linear-gradient(45deg, #ff7600, #ad5b00);
}
.number-status-single .status-box { min-width: 200px; }

.number-status-comercial .status-box.status-nao-validadas, .number-status .status-box.status-nao-validadas {
    background: #ff0000;
}
.number-status-comercial .status-box.status-nao-validadas.active, .number-status .status-box.status-nao-validadas.active {
    box-shadow: 0 0 0 0 #ff8282;
	transform: scale(1);
	animation: customPulse 2s infinite;
}
.number-status-comercial .status-box strong, .number-status .status-box strong {
    margin-right: 5px;
}

@keyframes customPulse {
    0% {
        transform: scale(0.90);
        box-shadow: 0 0 0 0 #ff8282;
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 5px 3px #ff8282;
    }

    100% {
        transform: scale(0.90);
        box-shadow: 0 0 0 0 #ff8282;
    }
}

@keyframes textAlertPulse {
    0% {
        transform: scale(0.98);
        color:rgb(233, 121, 121)
    }

    50% {
        transform: scale(1);
        color:rgb(202, 4, 4)
    }

    100% {
        transform: scale(0.98);
        color:rgb(233, 121, 121)
    }
}

.filtro-rapido-section {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-direction: column;
    margin-bottom: 20px;
}
.filtro-rapido-section .input-group-text {
    font-size: 12px;
    border-radius: 0;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
.filtro-rapido-section .btn-contas-financeiro-vencimento-filtro {
    font-size: 12px;
    color: #5b5b5b;
    border-color: #e7e7e7;
}
.filtro-rapido-section .btn-contas-financeiro-vencimento-filtro:hover, .filtro-rapido-section .btn-contas-financeiro-vencimento-filtro.active { background: #e1e1e1; }

.inventario-index-btns {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.btn-integracoes, .btn-integracoes:hover, .btn-integracoes:active {
    position: fixed;
    bottom: 70px;
    right: 15px;
    font-weight: bold;
    text-transform: uppercase;
    background: #5b3585;
    color: #ffffff;
    border-radius: 20px;
    box-shadow: 3px 2px 5px 0px #a7a7a7;
    z-index: 0000000000;
}

/* Form */
.form-control, .form-select { border: 1px solid #cdcdcd; }
.form-group .radio-input {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    border: 1px solid #cdcdcd;
    border-radius: .25rem;
}
.form-group .radio-input .form-check-inline {
    margin-bottom: 0;
    margin-right: 10px;
}
.form-group.form-group-button button { width: 100%; margin-top: 26.5px; }
.tipos-carteiras-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 5px;
}
.input-btn-additional {
    display: flex;
    align-items: center;
    justify-content: center;
}
.input-btn-additional input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-btn-additional button {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 33.5px;
    width: 100%;
    max-height: 33.5px;
    height: 33.5px;
    border-radius: 0;
}
.input-btn-additional button:last-child {
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
}

span.required { color: #ff0000; }

.button-group { display: flex; justify-content: space-between; }
.button-group-nfse { display: flex; justify-content: flex-start; gap:10px }
.button-group-nfse .msg-nfse-gerar {
    margin-left: 50px;
}
.button-group-nfse .btn-save {
    margin-left: auto;
}
.button-group-custom-melling {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#status-validacao-cilindro-section {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 5px;
    margin-bottom: 20px;
}
#status-validacao-cilindro-section.status-validacao-cilindro-section-different {
    grid-template-columns: repeat(5, 1fr);
}
#status-validacao-cilindro-section .status-validacao-cilindro {
    padding: 5px 10px;
    background: #12a4ed;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    margin: 0 10px;
}
#status-validacao-cilindro-section .status-validacao-cilindro span.status-vc-text { font-weight: bold; }
#status-validacao-cilindro-section .status-validacao-cilindro.status-vc-total-different {
    display: none;
    background: #f5325c;
    transform: scale(1);
    animation: customPulse 2s infinite;
}
#status-validacao-cilindro-section .status-validacao-cilindro.status-vc-total-different.active { display: block; }

.alert-custom { display: none; text-align: center; }

.form-section-division hr { border-top: 1px dashed #353535; }
.form-group .input-group-phone input:first-child { flex-grow: 1; }
.form-group .input-group-phone input:last-child { flex-grow: 3; }

.nav-tabs-form {
    gap: 5px;
    background-color: transparent !important;
    border-bottom: none;
}
.nav-tabs-form .nav-item { flex: 1; }
.nav-tabs-form .nav-item .nav-link {
    border: 1px solid #cdcdcd !important;
    border-radius: 5px !important;
}
.nav-tabs-form .nav-item .nav-link.active {
    font-weight: bold;
    color: #fff;
    background: #1761fd;
}

.tooltip-span {
    color: #fff;
    background: #7a00ff;
    /* margin-left: 5px; */
    padding: 2px 6px;
    border-radius: 50%;
}

/* .perfil-menus-opt .submenu-section {
    padding-top: 10px;
    border-top: 1px solid #e3ebf6;
} */
.perfil-menus-opt .list-group-grandchild {
    list-style: none;
    padding-left: 0;
}
.perfil-menus-opt .list-group-item-grandchild {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 5px 0;
}
.perfil-menus-opt .list-group-grandchild .checkbox-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
}
.perfil-menus-opt .list-group-grandchild .checkbox-menu-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.empresa-modal-title {
    text-align: center;
}
.id-preco{
    text-align: left !important;
}
.card-text {
    font-size: 14px;
    text-align: right;
}

.required-fields {
    color: #ff0000;
}
.content-messages { margin-bottom: 20px; }

.form-group .radio, .form-group .checkbox {
    background: #fff;
    border: 1px solid #9d9d9d !important;
    padding-left: 10px;
    padding-top: 5px;
}

.required > label::after {
    content: "*";
    color: #ff0000;
    margin-left: 5px;
}

.form-group .radio, .form-group .checkbox {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    min-height: calc(0.8em + 0.75rem + 2px);
    background: #fff;
    padding: 0.375rem 0.75rem;
    border: 1px solid #cdcdcd !important;
    border-radius: 5px;
}
.form-group .radio .form-check-inline, .form-group .radio .form-check-label,
.form-group .checkbox .form-check-inline, .form-group .checkbox .form-check-label { margin-bottom: 0; }

.row-grid {
    display: grid;
    grid-gap: 10px;
}

.custom-pv-impostos-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 10px;
}

.search-contas-financeiro .row-grid {
    grid-template-columns: 0.8fr 2fr 0.8fr 1.8fr 1.8fr;
}

#romaneio-buttons-links {
    display: none;
    padding: 50px;
}
#romaneio-buttons-links .romaneio-links-body {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
#romaneio-buttons-links .romaneio-links-body button {
    min-width: 150px;
}

#advanced-search {
    display: none;
}
#gerar-relatorio, #limpar, #pesquisar {
    display: none;
}
.advanced-options-section-custom {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.filters {
    background: #e3e8ef;
}
.filters th {
    padding: 10px;
    border-bottom: none;
}
.filters th > input {
    width: 100%;
    padding: 5px 10px;
    border: none;
    border-bottom: 1px solid #cacaca;
}
.filters th:last-child > input {
    display: none;
}
.table-responsive .dataTables_filter { display: none; }

.datatable-gerar-nf .filters th:last-child > input, .datatable-visualizar .filters th:last-child > input {
    display: block;
}

.btns-filtros {
    display: flex;
    justify-content: space-between;
}
.btns-filtros .btns-relatorio {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 5px;
}

.relatorio-empresa-padrao .empresa-padrao-field {
    max-width: 500px;
    margin: 0 auto;
}

#datatable-numero-registro {
    text-align: right;
    margin-top: 10px;
}
#datatable-numero-registro label {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    color: red;
}

.modal-body-pdf {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
}

.custom-row-duplicatas {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-gap: 15px;
    align-items: baseline;
}

.custom-row-duplicatas-melling {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 15px;
    align-items: baseline;
}

.label-red {
    color: red;
}
.label-blue {
    color: blue;
}
.label-bold {
    font-weight: bold;
}

.address-tab {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 15px;
    margin-bottom: 20px;
}
.address-tab .btn-address:hover, .address-tab .btn-address.active {
    background: #7281e3;
    color: #fff;
}
.address-tab .btn-address {
    border: 1px solid #5e5e5e;
}
.custom-row-8 {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 0 15px;
    padding: 0 10px;
}

#classe-despesa-list {
    padding-right: 20px;
    border-right: 1px solid #e3ebf6;
}
#classe-despesa-list .classe-despesa-lista-header, #classe-despesa-list .classe-despesa-lista-header .classe-despesa-lista-title, #classe-despesa-list .classe-despesa-lista-header .classe-despesa-lista-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#classe-despesa-list .classe-despesa-lista-header .btn-header {
    margin-right: 10px;
}
#classe-despesa-list .classe-despesa-lista-header button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 5px;
}
#classe-despesa-list .classe-despesa-container, #cd-lista-primaria-consulta .classe-despesa-container { margin: 5px 0; }
#classe-despesa-list .classe-despesa-lista-subnivel, #cd-lista-primaria-consulta .classe-despesa-lista-subnivel {
    display: none;
    padding-left: 30px;
    margin: 5px 0;
}

#classe-despesa-list #cd-lista-primaria, #classe-despesa-list #cd-lista-primaria .cd-lista-secundaria, #classe-despesa-list #cd-lista-primaria .cd-lista-terciaria {
    padding-left: 30px;
    margin: 5px 0;
}
#classe-despesa-list #classe-despesa-list, #cd-lista-primaria, #classe-despesa-list .classe-despesa-lista-subnivel, #classe-despesa-list .cd-lista-terciaria {
    display: none;
}
#classe-despesa-list .lista-primaria-section, #classe-despesa-list .lista-section {
    margin: 5px 0;
}
#classe-despesa-list .classe-despesa-lista-header .classe-despesa-lista-actions {
    gap: 5px;
}
#cd-lista-primaria-consulta .lista-primaria-section, #cd-lista-primaria-consulta .lista-section {
    margin: 5px 0;
}
#cd-lista-primaria-consulta .classe-despesa-lista-header, #cd-lista-primaria-consulta .classe-despesa-lista-header .classe-despesa-lista-title, #cd-lista-primaria-consulta .classe-despesa-lista-header .classe-despesa-lista-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#cd-lista-primaria-consulta .classe-despesa-lista-header .btn-header {
    margin-right: 10px;
}
#cd-lista-primaria-consulta .classe-despesa-lista-header .classe-despesa-lista-actions {
    gap: 5px;
}
#cd-lista-primaria-consulta .classe-despesa-lista-header button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 5px;
}

#estrutura-produto-list {
    padding-right: 20px;
    border-right: 1px solid #e3ebf6;
}
#estrutura-produto-list .estrutura-produto-lista-header, #estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-title, #estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-actions, #estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-qtde {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#estrutura-produto-list .estrutura-produto-lista-header .btn-header {
    margin-right: 10px;
}
#estrutura-produto-list .estrutura-produto-lista-header button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 5px;
}
#estrutura-produto-list #cd-lista-primaria, #estrutura-produto-list #cd-lista-primaria .cd-lista-secundaria, #estrutura-produto-list #cd-lista-primaria .cd-lista-terciaria {
    padding-left: 30px;
    margin: 5px 0;
}
#estrutura-produto-list #estrutura-produto-list, #cd-lista-primaria, #estrutura-produto-list .cd-lista-secundaria, #estrutura-produto-list .cd-lista-terciaria {
    display: none;
}
#estrutura-produto-list .lista-primaria-section, #estrutura-produto-list .lista-section {
    margin: 5px 0;
}
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-actions {
    gap: 5px;
}
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-qtde {
    gap: 10px;
    width: 55px;
    text-align: center;
}
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-data {
    gap: 10px;
    width: 95px;
    text-align: center;
}
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-valor {
    gap: 10px;
    width: 90px;
    text-align: right;
    margin-right: 5px;
}
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-valor-total {
    gap: 10px;
    width: 60px;
    text-align: right;
    margin-right: 7px;
}
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-qtde-title {
    margin-right: 20px;
}
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-qtde-title,
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-data-title,
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-valor-title {
    gap: 10px;
    padding: 0 3px;
}
#estrutura-produto-list .estrutura-produto-lista-header .estrutura-produto-lista-valor-total-title {
    gap: 10px;
    margin-right: 65px;
}
#estrutura-produto-list .estrutura-produto-lista-header .cl_view .estrutura-produto-lista-valor-total-title {
    margin-right: 6px;
}
#cd-lista-primaria-consulta .lista-primaria-section, #cd-lista-primaria-consulta .lista-section {
    margin: 5px 0;
}
#cd-lista-primaria-consulta .estrutura-produto-lista-header, #cd-lista-primaria-consulta .estrutura-produto-lista-header .estrutura-produto-lista-title, #cd-lista-primaria-consulta .estrutura-produto-lista-header .estrutura-produto-lista-actions, #cd-lista-primaria-consulta .estrutura-produto-lista-header .estrutura-produto-lista-qtde {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#cd-lista-primaria-consulta .estrutura-produto-lista-header .btn-header {
    margin-right: 10px;
}
#cd-lista-primaria-consulta .estrutura-produto-lista-header .estrutura-produto-lista-actions {
    gap: 5px;
}
#cd-lista-primaria-consulta .estrutura-produto-lista-header .estrutura-produto-lista-qtde {
    gap: 10px;
    margin-right: 10px;
}
#cd-lista-primaria-consulta .estrutura-produto-lista-header button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 5px;
}

#explosao-necessidade-list {
    padding-right: 20px;
    border-right: 1px solid #e3ebf6;
}
#explosao-necessidade-list .explosao-necessidade-lista-header,
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-title,
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .btn-header {
    margin-right: 10px;
}
#explosao-necessidade-list .explosao-necessidade-lista-header button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 5px;
}
#explosao-necessidade-list #cd-lista-primaria,
#explosao-necessidade-list #cd-lista-primaria .cd-lista-secundaria,
#explosao-necessidade-list #cd-lista-primaria .cd-lista-terciaria {
    padding-left: 30px;
    margin: 5px 0;
}
#explosao-necessidade-list #explosao-necessidade-list,
#cd-lista-primaria, #explosao-necessidade-list .cd-lista-secundaria,
#explosao-necessidade-list .cd-lista-terciaria {
    display: none;
}
#explosao-necessidade-list .lista-primaria-section,
#explosao-necessidade-list .lista-section {
    margin: 5px 0;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-actions {
    gap: 5px;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-qtde {
    gap: 10px;
    width: 75px;
    text-align: center;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-estoque {
    gap: 10px;
    width: 60px;
    text-align: center;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-necessidade {
    gap: 10px;
    width: 90px;
    text-align: center;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-valor {
    gap: 10px;
    width: 80px;
    text-align: right;
    margin-right: 5px;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-valor-total {
    gap: 10px;
    width: 90px;
    text-align: right;
    margin-right: 5px;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-qtde-title {
    margin-right: 20px;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-qtde-title,
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-estoque-title,
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-necessidade-title,
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-valor-title {
    gap: 10px;
    padding: 0 6px;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-valor-title {
    margin-right: 25px;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .explosao-necessidade-lista-valor-total-title {
    gap: 10px;
    margin-right: 35px;
}
#explosao-necessidade-list .explosao-necessidade-lista-header .cl_view .explosao-necessidade-lista-valor-total-title {
    margin-right: 6px;
}
#cd-lista-primaria-consulta .lista-primaria-section, #cd-lista-primaria-consulta .lista-section {
    margin: 5px 0;
}
#cd-lista-primaria-consulta .explosao-necessidade-lista-header,
#cd-lista-primaria-consulta .explosao-necessidade-lista-header .explosao-necessidade-lista-title,
#cd-lista-primaria-consulta .explosao-necessidade-lista-header .explosao-necessidade-lista-actions,
#cd-lista-primaria-consulta .explosao-necessidade-lista-header .explosao-necessidade-lista-qtde {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#cd-lista-primaria-consulta .explosao-necessidade-lista-header .btn-header {
    margin-right: 10px;
}
#cd-lista-primaria-consulta .explosao-necessidade-lista-header .explosao-necessidade-lista-actions {
    gap: 5px;
}
#cd-lista-primaria-consulta .explosao-necessidade-lista-header .explosao-necessidade-lista-qtde {
    gap: 10px;
    margin-right: 10px;
}
#cd-lista-primaria-consulta .explosao-necessidade-lista-header button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 5px;
}
#cd-lista-primaria-consulta .cd-lista-secundaria, #cd-lista-primaria-consulta .cd-lista-terciaria {
    display: none;
    padding-left: 30px;
    margin: 5px 0;
}

#datatable.previsao-compra-datatable th {
    text-align: center;
    padding-right: .45rem;
    pointer-events: none;
}

.header-cbx, .faturamento-cbx, .produto-cbx, .itens-cbx, .lotecnab-cbx, .boleto-cbx, .xml-cbx {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cp-status-liquidado {
    color: #00c318;
    font-weight: bold;
}
.cp-pgto-agendamento {
    color: #955bcb;
    font-weight: bold;
}

/* Whatsapp Button */
#whatsapp-help {
    display: flex;
    align-items: center;
    max-height: 52px;
    height: 52px;
}
#whatsapp-help > a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #fff;
    background: linear-gradient(45deg, #06b22c, #58ea72);
    padding: 5px 15px;
    border-radius: 100px;
    box-shadow: 1px 1px 8px 1px #7e7e7e;
}
#whatsapp-help > a i { margin-right: 5px; }

.barcode-scanner {
    display: none;
    position: relative;
    width: 100%;
}

.row-totais {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-gap: 15px;
}

.os-com-financeiro {
    color: #00c318;
}
.os-sem-financeiro {
    color: #ff0000;
}
#datatable thead th, table.fixedHeader-floating th {
  vertical-align: middle;
}

.btn-grid-all {
    text-align: center;
    margin-bottom: 10px;
}

.btn-grid-all .btn-grid-nf, .btn-grid-row .btn-grid-nf {
    text-transform: uppercase;
    color: #fff;
    background: #2b388d;
    padding: 5px 10px;
    border: none;
    min-width: 120px;
}
.btn-grid-all .btn-grid-nf span, .btn-grid-row .btn-grid-nf span {
    margin-left: 5px;
}
.btn-grid-row {
    position: relative;
    margin-bottom: 10px;
    z-index: 2;
}
.grid-row-nf {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-gap: 10px;
}
.grid-row-nf label {
    font-size: 12px;
}
.btn-grid-row::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 100%;
    height: 1px;
    background: #ccd2fd;
    z-index: -1;
}
.grid-row-nf.grid-row-outros {
    grid-template-columns: 1fr 1fr 1fr 2fr 1fr 1fr;
}
.grid-row-nf2 {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-gap: 10px;
}
.grid-row-nf2 label {
    font-size: 12px;
}
.grid-row-nf2.grid-row-outros {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
.grid-row-nf-hidden {
    display: none;
}

.btns-additional, .btns-additional button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.btns-additional .form-control, .btns-additional .form-select {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.btn-additional-mobile .form-control, .btn-additional-mobile .form-select {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}
.btns-additional button {
    max-width: 34px;
    height: 33.5px;
    padding: 0;
    border-radius: 0;
}
.btns-additional button:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}
.btn-mobile-only { display: none !important; }

.advanced-search-section .advanced-search-section-columns-1 {
    display: flex;
    gap: 5px;
}
.advanced-search-section .advanced-search-section-columns-1 .msg-nfse-pesquisa {
    float: left;
    border: 2px solid #0a58ca;
    color: #0a58ca;
    font-weight: bold;
    padding:5px;
    margin-left: 20px;
}

.btn-previsao-actions { text-align: center; }

.msg-nfse-gerar {
    border: 2px solid #0a58ca;
    color: #0a58ca;
    font-weight: bold;
    padding: 5px;
    flex-wrap: wrap;
}

#ModalIntegracaoFeedback .integracao-feedback .integracao-erro { color: #bb0000; }
#ModalIntegracaoFeedback .integracao-feedback .integracao-validado { color: #00bb07; }

#status-cnab-help {
    text-align: right;
    margin-bottom: 5px;
}
.status-cnab-list .status-cnab-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    margin: 20px 0;
}
.status-cnab-wrapper {
    text-align: center;
}
.status-cnab-wrapper > span {
    padding: 5px 10px;
    border-radius: 5px;
}
.status-cnab-wrapper .status-cnab-SEB {
    color: #fff;
    background: #ff0000;
}
.status-cnab-wrapper .status-cnab-AGC {
    color: #000;
    background: #e5de00;
}
.status-cnab-wrapper .status-cnab-REB {
    color: #fff;
    background: #5d00a8;
}
.status-cnab-wrapper .status-cnab-RGB {
    color: #fff;
    background: #03bd00;
}
.status-cnab-wrapper .status-cnab-NNV {
    color: #fff;
    background: #000000;
}

.nota-fiscal-validada {
    color: blue;
    font-weight: bold;
}

.duplicatas-vencidas-section {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
.duplicatas-vencidas-section .duplicatas-vencidas-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 300px;
    font-weight: bold;
    background: #ff0000;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    animation: customPulse 2s infinite;
}

#helper-btn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
}
#helper-btn > button {
    width: 40px;
    height: 40px;
    font-size: 18px;
    color: #fff;
    box-shadow: 1px 1px 8px 1px #7e7e7e;
    border-radius: 50%;
}

.help-section {
    display: grid;
    grid-template-columns: 3fr 1fr;
    grid-gap: 10px;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3e3e3;
}
.help-section:last-child {
    margin-bottom: 0px;
    padding-bottom: 0px;
    border-bottom: none;
}
.help-section .btn-ajuda-video {
    color: #fff;
}

.toast {
    max-width: 100%;
    width: 100%;
}
.toast-news .toast-body {
    display: grid;
    grid-template-columns: 3fr 1fr;
    align-items: center;
    grid-gap: 10px;
}

/* Success Message */
#success-notification {
    position: fixed;
    top: 10px;
    right: 10px;
    max-width: 100%;
    min-width: 300px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 1px 1px 5px 2px #a7a7a7;
    visibility: hidden;
    opacity: 0;
    transition: all 1s ease-in;
}
#success-notification.show {
    z-index: 10000;
    visibility: visible;
    opacity: 1;
    transition: all 0.5s ease-in;
}
#success-notification .success-notification-header {
    background: #00b900;
    padding: 5px 10px;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}
#success-notification .success-notification-body { padding: 10px 20px; }
#success-notification .success-notification-body h4 { margin: 0 0 10px }

#loading-bar-section {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    background: #00000040;
}
#loading-bar-section .loading-bar-element {
    width: 400px;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 1px 1px 10px 2px #818181;
}
#progress-percentage .progress {
    height: 20px;
}
#progress-percentage .progress .progress-bar {
    font-weight: bold;
    background: repeating-linear-gradient(45deg,
        #9cd783,
        #85c569 10px,
        #319f02 10px,
        #287f03 20px);
}

.wave-effect {
    text-align: center;
    margin-bottom: 10px;
}
.wave-effect span {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    color: #000;
    animation: animate 2s ease-in-out infinite;
    animation-delay: calc(.1s*var(--i));
}


/* enquete */
#qbox-container {
    background-repeat: repeat;
    position: relative;
}

#steps-container {
    margin: auto;
    width: 700px;
    min-height: 420px;
    display: flex;
    vertical-align: middle;
    align-items: center;
}

.step {
    display: none;
    width: 100%;
}

.step h4 {
    margin: 0 0 26px 0;
    padding: 0;
    position: relative;
    font-weight: 500;
    font-size: 23px;
    font-size: 1.4375rem;
    line-height: 1.6;
    color: #1c2d41;
}

button#prev-btn,
button#next-btn,
button#submit-btn {
    font-size: 17px;
    font-weight: bold;
    position: relative;
    width: 130px;
    height: 50px;
    background: #1c2d41;
    margin: 0 auto;
    margin-top: 40px;
    overflow: hidden;
    z-index: 1;
    cursor: pointer;
    transition: color .3s;
    text-align: center;
    color: #fff;
    border: 0;
    -webkit-border-bottom-right-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    -moz-border-radius-bottomleft: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}

button#prev-btn:after,
button#next-btn:after,
button#submit-btn:after {
    position: absolute;
    top: 90%;
    left: 0;
    width: 100%;
    height: 100%;
    background: #1c2d41;
    content: "";
    z-index: -2;
    transition: transform .3s;
}

button#prev-btn:hover::after,
button#next-btn:hover::after,
button#submit-btn:hover::after {
    transform: translateY(-80%);
    transition: transform .3s;
}

.progress {
    border-radius: 0px !important;
}

.q__question {
    position: relative;
}

.q__question:not(:last-child) {
    margin-bottom: 10px;
}

.question__input {
    position: absolute;
    left: -9999px;
}

.question__label {
    position: relative;
    display: block;
    line-height: 40px;
    border: 1px solid #ced4da;
    border-radius: 5px;
    background-color: #fff;
    padding: 5px 20px 5px 50px;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
}

.question__label:hover {
    border-color: #1c2d41;
}

.question__label:before,
.question__label:after {
    position: absolute;
    content: "";
}

.question__label:before {
    top: 12px;
    left: 10px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: inset 0 0 0 1px #ced4da;
    -webkit-transition: all 0.15s ease-in-out;
    -moz-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
}

.question__input:checked+.question__label:before {
    background-color: #1c2d41;
    box-shadow: 0 0 0 0;
}

.question__input:checked+.question__label:after {
    top: 22px;
    left: 18px;
    width: 10px;
    height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}

.form-check-input:checked,
.form-check-input:focus {
    background-color: #1c2d41 !important;
    outline: none !important;
    border: none !important;
}

#input-container {
    display: inline-block;
    box-shadow: none !important;
    margin-top: 36px !important;
}

label.form-check-label.radio-lb {
    margin-right: 15px;
}

#q-box__buttons {
    text-align: center;
}

.form-check-input:checked[type=radio],
.form-check-input:checked[type=radio]:hover,
.form-check-input:checked[type=radio]:focus,
.form-check-input:checked[type=radio]:active {
    border: none !important;
    -webkit-outline: 0px !important;
    box-shadow: none !important;
}

.form-check-input:focus,
.step input[type="radio"]:hover {
    box-shadow: none;
    cursor: pointer !important;
}

#success {
    display: none;
    width: 100%;
}

#success h4 {
    color: #0c4128;
    text-align: center;
}

.back-link {
    font-weight: 700;
    color: #DC3545;
    text-decoration: none;
    font-size: 18px;
}

.back-link:hover {
    color: #82000a;
}

.controle-grupo-accordion { border: 1px solid #cdcdcd; border-radius: 5px; margin-bottom: 20px; }
.controle-grupo-accordion .controle-grupo-accordion-title {
    padding: 5px 10px;
    border-bottom: 1px solid #cdcdcd;
}
.controle-grupo-accordion .controle-grupo-accordion-title h6 { margin: 0; }
.controle-grupo-accordion .controle-grupo-accordion-body { padding: 10px; }

.row-changed { background: #6aff67; }

/* PRELOADER */

#preloader-wrapper {
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
}

#preloader {
    width: 120px;
    height: 119px;
    border-top-color: #fff;
    border-radius: 100%;
    display: block;
    position: relative;
    top: 50%;
    left: 50%;
    margin: -75px 0 0 -75px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    z-index: 1001;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

#preloader-wrapper .preloader-section {
    width: 51%;
    height: 100%;
    position: fixed;
    top: 0;
    background: #F7F9FF;
    z-index: 1000;
}

#preloader-wrapper .preloader-section.section-left {
    left: 0
}

#preloader-wrapper .preloader-section.section-right {
    right: 0;
}

.loaded #preloader-wrapper .preloader-section.section-left {
    transform: translateX(-100%);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #preloader-wrapper .preloader-section.section-right {
    transform: translateX(100%);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #preloader {
    opacity: 0;
    transition: all 0.3s ease-out;
}

.loaded #preloader-wrapper {
    visibility: hidden;
    transform: translateY(-100%);
    transition: all 0.3s 1s ease-out;
}

.switch_item.switch_item_custom {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 15px;
}
.switch_item .title {
	font-size: 14px;
    border: 1px solid #ced4da;
    padding: 4px 10px;
    border-right: 0;
    background: #e9ecef;
    color: #212529;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
.switch_item .switch_wrap {
	position: relative;
	display: flex;
	cursor: pointer;
}
.switch_item .switch_wrap .switch_inp {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: 1;
}
.switch_item .switch_wrap .switch_mark {
	display: inline-block;
	position: relative;
	border-radius: 25px;
}
.switch_item .switch_wrap .switch_mark:before,
.switch_item .switch_wrap .switch_mark:after {
	content: "";
	position: absolute;
	transition: all 0.5s ease;
}
.switch_item.switch_item_custom .switch_wrap .switch_mark {
	width: 60px;
	height: 31px;
	padding: 2px;
	border: 1px solid #b5b5b5;
    border-radius: 0;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
	overflow: hidden;
}
.switch_item.switch_item_custom .switch_wrap .switch_mark:before,
.switch_item.switch_item_custom .switch_wrap .switch_mark:after {
	top: 0;
    left: 0;
    width: 100%;
    height: 31px;
    text-align: center;
    line-height: 31px;
    font-size: 14px;
    color: #fff;
    font-weight: bold;
}
.switch_item.switch_item_custom .switch_wrap .switch_mark:before {
	content: "NÃO";
	background: #bcbcbc;
}
.switch_item.switch_item_custom .switch_wrap .switch_mark:after {
	content: "SIM";
	left: -100px;
	background: #00da07;
}
.switch_item.switch_item_custom .switch_wrap .switch_inp:checked ~ .switch_mark:after {
	left: 0;
}
.switch_item.switch_item_custom .switch_wrap .switch_inp:checked ~ .switch_mark:before {
	left: 100px;
}


/* MEDIA QUERIES */

@media (min-width: 990px) and (max-width: 1199px) {
    #title-container {
        padding: 80px 28px 28px 28px;
    }
    #steps-container {
        width: 85%;
    }
}

@media (max-width: 992px) {
    .filtro-rapido-section .input-group-text, .filtro-rapido-section .btn-contas-financeiro-vencimento-filtro { font-size: 10px; }
    .filtro-rapido-section .input-group-text { padding: .375rem .3rem; }

    #status-validacao-cilindro-section .status-validacao-cilindro { padding: 5px; margin: 0 5px;}
}

@media (max-width: 991px) {
    #title-container {
        padding: 30px;
        min-height: inherit;
    }
}

@media (max-width: 767px) {
    #qbox-container {
        padding: 30px;
    }
    #steps-container {
        width: 100%;
        min-height: 400px;
    }
    #title-container {
        padding-top: 50px;
    }

    .table .btn-actions-grid { grid-template-columns: repeat(6, 1fr); }

    .filtro-rapido-section .input-group-prepend { width: 100%; }
    .filtro-rapido-section .input-group-text { justify-content: center; border-bottom-left-radius: 0; border-top-right-radius: 5px; border-bottom: none; }
    .filtro-rapido-section .btn-contas-financeiro-vencimento-filtro { flex-grow: 1; border-radius: 0; }
}

@media (max-width: 560px) {
    #qbox-container {
        padding: 40px;
    }
    #title-container {
        padding-top: 45px;
    }
}

@keyframes animate {
    0% { transform: translateY(0px); }
    20% { transform: translateY(-20px); }
    40%, 100% { transform: translateY(0px); }
}

.financeiro-grafico-inadimplencia, .financeiro-grafico-futuro, .mapa-financeiro-grafico { width: 100% !important; }
.financeiro-grafico-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.financeiro-grafico-content-filter select { max-width: 120px; }
.financeiro-grafico-content-range, .comercial-grafico-content-range { text-align: center; }
.checkbox-filter-grafico-mes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 5px 10px;
    margin-top: 10px;
}
.checkbox-filter-grafico-mes .checkbox-filter-grafico-mes { display: block; }
.checkbox-filter-grafico-mes .filter-checkbox-grafico-mes { display: none; }
.checkbox-filter-grafico-mes .form-filtro-grafico-mes {
    width: 100%;
    text-align: center;
    padding: 2px 5px;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
}
.checkbox-filter-grafico-mes .filter-checkbox-grafico-mes:checked + .form-filtro-grafico-mes { background: lightgrey; }
.filtro-comercial-grafico-status { margin: 0; }
.filtro-comercial-grafico-status .form-check-inline { margin-right: 10px; }
.filtro-comercial-grafico-status .form-check-inline .checkbox label { padding-left: 5px; }


.comercial-grafico-content-filter-single { float: right; }
.comercial-grafico-content-filter-single select { max-width: 120px; }

.checkbox-section-horario {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f1f1;
    padding: 5px 10px;
    border: 1px solid #cdcdcd;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
.menu-actions-section {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
}
.menu-actions-section .menu-action-label {
    text-align: center;
    background: #e9e9e9;
    padding: 5px 10px;
    border: 1px solid #b9b9b9;
    border-bottom: none;
}
.menu-actions-section .menu-action-buttons-switch {
    display: flex;
    align-items: center;
    justify-content: center;
}
.menu-actions-section .menu-action-switch { display: none; }
.menu-actions-section .menu-action-switch-label {
    width: 100%;
    text-align: center;
    color: #000;
    background: #fff;
    padding: 5px 15px;
    border: 1px solid #b9b9b9;
}
.menu-action-switch-yes:checked + .menu-action-switch-label {
    font-weight: bold;
    color: #ffffff;
    background: #009a15;
}
.menu-action-switch-no:checked + .menu-action-switch-label {
    font-weight: bold;
    color: #ffffff;
    background: #ff0000;
}

.readonly { background: #f1f5fa !important; }
.readonly-empresa { background: #f1f5fa !important; pointer-events: none; }

#lista-grupo-telas .grupo-tela-section { margin: 10px 0; }
#lista-grupo-telas .grupo-tela-section .grupo-tela-action-bar {
    display: flex;
    align-items: center;
    gap: 20px;
}
#lista-grupo-telas .grupo-tela-section .grupo-tela-action-bar h5 {
    min-width: 200px;
    text-transform: uppercase;
    margin: 0;
}
#lista-grupo-telas .grupo-tela-lista { display: none; padding: 5px 0; }
#lista-grupo-telas .grupo-tela-lista.active { display: block; }
#lista-grupo-telas .grupo-tela-lista-section {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 5px 0;
}
#lista-grupo-telas .grupo-tela-lista-section .grupo-tela-lista-title { min-width: 200px; }

/* Ícones */
.fa-empresa:before, .fa-empresas:before { content: "\f1ad"; }
.fa-empresa-diversos:before { content: "\f071"; }
.fa-cliente:before { content: "\f0c0"; }
.fa-representante:before { content: "\f508"; }
.fa-transportadora:before { content: "\f48b"; }
.fa-fornecedor:before { content: "\f474"; }
.fa-produtor:before { content: "\f494"; }
.fa-obra:before { content: "\f0b1"; }
.fa-funcionario:before { content: "\f7bd"; }
.fa-categoria:before { content: "\f4fe"; }
.fa-sub-categoria:before { content: "\f509"; }
.fa-cargo:before { content: "\f0b1"; }
.fa-forma-recto-pgto-moeda:before { content: "\f53d"; }
.fa-condicao-pagamento:before { content: "\f788"; }
.fa-tipo-movimentacao:before { content: "\e098"; }
.fa-tipos-lancamento:before { content: "\e098"; }
.fa-email-xml:before { content: "\f0e0"; }
.fa-configuracao-icms-st:before { content: "\f4b9"; }
.fa-pagamento-lote:before { content: "\f4b9"; }
.fa-recebimento-lote:before { content: "\f4d3"; }
.fa-alertas-gerais:before { content: "\f06a"; }
.fa-aliquota-icms:before { content: "\25"; }
.fa-textos-legais:before { content: "\f11c"; }
.fa-estado-civil:before { content: "\f70b"; }
.fa-sexo:before { content: "\f228"; }
.fa-situacao-funcionario:before { content: "\f4fd"; }
.fa-produto:before, .fa-produtos:before, .fa-produto-x-fornecedor:before { content: "\f291"; }
.fa-ptr:before, .fa-ptr:before { content: "\f291"; }
.fa-integracao-xml-devolucao:before { content: "\f1c3"; }
.fa-situacao-tributaria-produto:before { content: "\f0ce"; }
.fa-produto-controle-validade-serie:before { content: "\f02c"; }
.fa-requisicao-produto:before { content: "\f477"; }
.fa-transferencia-produto:before { content: "\f074"; }
.fa-entrada-saida-produto:before { content: "\f4de"; }
.fa-saldo-inicial-produto:before { content: "\f555"; }
.fa-linha-produto:before { content: "\f555"; }
.fa-familia-produto:before { content: "\f6ff"; }
.fa-localizacao-produto:before { content: "\f494"; }
.fa-unidade:before { content: "\f546"; }
.fa-classificacao-fiscal:before { content: "\f0cb"; }
.fa-tipo-produto:before { content: "\f02a"; }
.fa-configuracao-imposto:before { content: "\f1ec"; }
.fa-requisitantes:before { content: "\f4ce"; }
.fa-comercial:before { content: "\f53d"; }
.fa-pedido-venda-romaneio:before { content: "\f044"; }
.fa-cancelar-romaneio:before { content: "\f00d"; }
.fa-pedido-venda:before, .fa-pedidovenda:before { content: "\f218"; }
.fa-ordem-servico:before, .fa-ordemservico:before { content: "\f15c"; }
.fa-pedido-venda-faturamento:before { content: "\f662"; }
.fa-ordem-servico-nfe-nfse:before { content: "\f662"; }
.fa-tabela-preco:before { content: "\f0ea"; }
.fa-preco:before { content: "\24"; }
.fa-compra:before, .fa-compras:before { content: "\f54f"; }
.fa-pedido-compra:before, .fa-pedidocompra:before, .fa-pedido-compra-produtor:before  { content: "\f217"; }
.fa-comprador:before { content: "\f4ce"; }
.fa-recebimento:before, .fa-recebimentos:before { content: "\f362"; }
.fa-recebimento-mercadoria:before, .fa-recebimentomercadoria:before { content: "\f4ce"; }
.fa-tipo-devolucao:before{ content: "\f1c3"; }
.fa-faturamento:before { content: "\f543"; }
.fa-nota-fiscal:before, .fa-nota-fiscal-servico:before { content: "\f571"; }
.fa-utilitario:before, .fa-utilitarios:before { content: "\f7d9"; }
.fa-operador:before { content: "\f502"; }
.fa-menu-geral:before, .fa-menu-empresa:before { content: "\f03a"; }
.fa-tipo-menu:before { content: "\f0cb"; }
.fa-tipo-perfil-menu:before { content: "\f47f"; }
.fa-programa:before { content: "\f3c1"; }
.fa-acessorios:before, .fa-acessórios:before { content: "\f1c0"; }
.fa-marca-barril:before { content: "\f1c0"; }
.fa-status-barril:before { content: "\f058"; }
.fa-tamanho-barril:before { content: "\f31e"; }
.fa-tabela:before, .fa-tabelas:before { content: "\f00b"; }
.fa-financeiro:before { content: "\f555"; }
.fa-contas-pagar:before, .fa-contas-receber:before, .fa-lote-cnab:before { content: "\f571"; }
.fa-texto-complementar:before { content: "\f034"; }
.fa-log:before, .fa-controle-log:before { content: "\f1da"; }
.fa-inutilizar-nfe:before { content: "\f1c3"; }
.fa-consultar-xml:before { content: "\f002"; }
.fa-expedição:before{ content: "\f48b" }
.fa-motorista:before{ content:"\f007"; }
.fa-veiculo:before{ content:"\f5e4"; }
.fa-rota::before { content: "\f4d7"; }
.fa-atualiza-preco-venda::before { content: "\f074"; }
.fa-cilindro:before { content: "\f328"; }
.fa-cilindro-linha-enchimento-gas:before { content: "\f328"; }
.fa-venda-pdv:before { content: "\f788"; }
.fa-inventario-produto:before { content: "\f468"; }
.fa-cadastro-geral:before { content: "\f80d"; }
.fa-cnab:before { content: "\f56f"; }
.fa-carta-correcao-nf:before { content: "\f0e0"; }
.fa-email-templates:before { content: "\f0e0"; }
.fa-atualizar-certificado:before { content: "\f0a3"; }
.fa-banco-instrucao:before { content: "\f02d"; }
.fa-ocorrencia-bancaria:before { content: "\f4d3"; }
.fa-sub-ocorrencia-bancaria:before { content: "\f4d3"; }
.fa-novidades-ajuda-proctec:before { content: "\f059"; }
.fa-posicao-financeira:before { content: "\f688"; }
.fa-configurações:before { content: "\f085"; }
.fa-cadastros:before { content: "\f15c"; }
.fa-movimentações:before { content: "\f047"; }
.fa-nfe:before, .fa-nfse:before, .fa-cobrança-cnab:before { content: "\f571"; }
.fa-boletos:before { content: "\f570"; }
.fa-origem-produto:before { content: "\f466"; }
.fa-marca-cilindro:before { content: "\f15b" }
.fa-status-cilindro:before { content: "\f15c" }
.fa-previsao-compra:before { content: "\f274" }
.fa-posicao-produto:before { content: "\f478" }
.fa-acessorios:before { content: "\f51e" }
.fa-ajuste-estoque:before { content: "\f0e8" }
.fa-classe-despesa:before { content: "\f4c0" }
.fa-estrutura-produto:before { content: "\f6ff" }
.fa-explosao-necessidade:before { content: "\f6ff" }
.fa-centro-custo:before { content: "\f4d3" }
.fa-transferencia-valores:before { content: "\f651" }
.fa-baixa-planilha-excel:before { content: "\f1c3" }
.fa-movimentacao-barril:before { content: "\f422" }
.fa-recebimento-acessorios:before { content: "\f48b" }
.fa-saida-acessorios:before { content: "\f01c" }
.fa-integracoes-excel-prospeccao:before { content: "\f1c3" }
.fa-paineis:before, .fa-painéis:before { content: "\f5ba" }
.fa-painel:before { content: "\f51b" }
.fa-controle-painel:before { content: "\f51c" }
.fa-controle-cobranca:before { content: "\f653" }
.fa-pedido-venda-separacao:before { content: "\f248" }
.fa-pi:before, .fa-controle-pi:before { content: "\f1de" }
.fa-meios:before { content: "\f0cb" }
.fa-periodo:before { content: "\f073" }
.fa-praca:before { content: "\f21d" }
.fa-periodo-veiculacao:before { content: "\f5e4" }
.fa-grafico-power-bi:before { content: "\f201" }
.fa-pagamento-aluguel-painel:before { content: "\f571" }
.fa-texto-onu:before { content: "\f11c" }
.fa-tamanho-cilindro:before { content: "\f424" }
.fa-limpeza:before { content: "\f51a" }
.fa-tipo-ambiente:before { content: "\f5fd" }
.fa-tipo-limpeza:before { content: "\f0ae" }
.fa-cliente-x-ambiente:before { content: "\f0ae" }
.fa-operador-x-limpeza:before { content: "\f0ae" }
.fa-controle-grupo-tela:before { content: "\f2a1" }
.fa-entrega-equipamento:before { content: "\f4bd" }
.fa-importar-mdb:before { content: "\f56f" }
.fa-ordem-fabricacao:before { content: "\f162" }
.fa-tipos-procedimentos-analiticos:before { content: "\f0ae" }
.fa-caixa:before { content: "\e528" }
.fa-movimentacao-cilindro:before { content: "\f422" }
.fa-sigla-unidade:before { content: "\f0fd" }
.fa-tipo-embalagem:before { content: "\e4c7" }
.fa-historico-cliente-pedido-venda:before { content: "\f1da" }
.fa-rede:before { content: "\f6ff" }
.fa-importacao-pdf-nf:before { content: "\f56f" }
.fa-pedido-venda-status:before { content: "\f2f1"; }
.fa-motivo-status-venda:before { content: "\f4ad"; }
.fa-marca-produto:before { content: "\f5bf"; }
.fa-historico-pedido-compra:before { content: "\f1da"; }
.fa-historico-onu-miscelania:before { content: "\f1da"; }
.fa-relatorios:before, .fa-relatórios:before, .fa-relatórios-contas-a-receber:before,
.fa-relatorios-cr-dt-vencimento:before, .fa-relatorios-cr-dt-recebimento:before,
.fa-relatorios-fat-dt-emissao:before, .fa-relatorios-rm-fornecedor-dt-entrada:before,
.fa-relatorios-cp-dt-pagamento:before, .fa-relatorios-cp-dt-vencimento:before,
.fa-relatorios-cp-dt-entrada:before, .fa-relatorios-os-dt-lancamento:before,
.fa-relatorios-pv-dt-lancamento:before, .fa-relatorios-pvl-dt-lancamento:before,
.fa-relatorios-pc-dt-lancamento:before, .fa-relatorios-pcl-dt-lancamento:before,
.fa-relatorios-fat-linha-dt-emissao:before, .fa-relatorios-rmp-dt-lancamento:before,
.fa-relatorios-osl-dt-lancamento:before, .fa-relatorios-inventario-dt-inventario:before,
.fa-relatorios-saldo-inicial-dt-inicial:before, .fa-relatorios-nfse-dt-emissao:before,
.fa-relatorios-nfse-linha-dt-emissao:before, .fa-relatorios-estoque-produto:before,
.fa-relatorio-fluxo-caixa:before, .fa-relatorios-produto-ultimas-movimentacoes:before,
.fa-relatorio-posicao-financeira-produto:before, .fa-relatorio-extrato-bancario:before,
.fa-relatorio-separacao-produto:before, .fa-relatorio-separacao:before,
.fa-relatorio-lista-produto-inventario:before, .fa-relatorios-inconsistencia-nf-transferencia:before,
.fa-relatorio-classe-despesa:before, .fa-relatorio-inadimplencia:before, .fa-relatorio-tabela-separacao:before,
.fa-relatorio-tabela-preco:before, .fa-relatorio-requisicao-produto-linha:before, .fa-relatorio-entrada-saida-produto:before,
.fa-relatorio-plataforma-externa:before, .fa-relatorio-plataforma-interna:before, .fa-relatorio-controle-quantidade-cilindro:before,
.fa-relatorio-remessa-cia:before, .fa-relatorio-retorno-cia:before, .fa-relatorios-transferencia-valores:before,
.fa-relatorios-transferencia-valores:before, .fa-relatorios-cr-resumo-cliente-dt-emissao:before,
.fa-relatorios-cr-dt-recebimento-tx:before, .fa-relatorios-resumo-cliente:before,
.fa-relatorio-requisicao-produto:before {
    content: "\f56c"
}
.fa-mapa-cliente:before, .fa-mapa-representante:before, .fa-mapa-produto:before {
    content: "\f15c"
}

.fa-cadastro-banco::before{
    content: "\f19c";
}

.fa-dados-bancarios-produtor::before{
    content: "\f19c";
}

@media only screen and (max-width: 1024px) {
    .number-status-comercial .status-box, .number-status .status-box, .number-status-single .status-box { font-size: 11px; }
}

@media only screen and (max-width: 992px) {
    .ultimas-movimentacoes-wrapper {
        margin: 5px;
    }
    .page-wrapper .page-content > .container { max-width: 100%; }

    .filters { display: none !important; }
    .table-responsive .dataTables_filter { display: block !important; margin-top: 10px; }
    .perfil-menus-opt .list-group-item-grandchild { flex-direction: column; gap: 5px; }
    .perfil-menus-opt .list-group-grandchild .checkbox-menu-item { width: 100%; }
    .perfil-menus-opt .list-group-grandchild .checkbox-menu-actions {
        width: 100%;
        flex-wrap: wrap;
        gap: 10px;
    }
    .menu-actions-section { grid-template-columns: repeat(4, 1fr); }
}

@media only screen and (min-width: 768px) and (max-width: 992px) {
    .checkbox-filter-grafico-mes { grid-template-columns: repeat(3, 1fr); }
}

@media only screen and (max-width: 767px) {
    .custom-row-duplicatas { grid-template-columns: repeat(4, 1fr); grid-gap: 0 15px; }
    .number-status-comercial { grid-template-columns: repeat(2, 1fr); }

    .grid-row-nf, .grid-row-nf.grid-row-outros {
        grid-template-columns: auto;
        grid-gap: 0;
    }

    .mapa-financeiro-grafico { padding: 15px 0; }
    .menu-actions-section { grid-template-columns: repeat(4, 1fr); }

    .btn-additional-mobile .form-control, .btn-additional-mobile .form-select {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .btn-mobile-only { display: block !important; }
}

@media only screen and (max-width: 480px) {
    .common-header-page-title { flex-direction: column; gap: 10px; }
    .common-header-page-title .common-page-title-section h3:after { left: 50%; transform: translate(-50%, 0); }

    #loading-bar-section .loading-bar-element { width: 300px; }

    .form-group.form-group-button button { margin-top: 0px; }

    .card .card-header .button-group {
        flex-direction: column;
        gap: 10px;
    }

    .inventario-index-btns {
        flex-direction: column;
        gap: 5px;
    }
    .inventario-index-btns button {
        width: 100%;
        text-align: center !important;
    }

    .btns-filtros {
        flex-direction: column;
        gap: 20px;
    }
    .btns-filtros .limpar-filtros-relatorio button {
        width: 100%;
    }
    .btns-filtros .btns-relatorio {
        grid-template-columns: auto;
    }

    .duplicatas-vencidas-section {
        flex-direction: column;
        gap: 15px;
        margin: 10px 0 20px;
    }

    .grid-semana {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 5px;
    }

    .custom-row-duplicatas { grid-template-columns: repeat(2, 1fr); }
    .custom-row-duplicatas-melling { grid-template-columns: repeat(2, 1fr); grid-gap: 5px;  }
    .custom-pv-impostos-row { grid-template-columns: auto; grid-gap: 0; }
    .tipos-carteiras-grid { grid-template-columns: repeat(2, 1fr); }
    .checkbox-filter-grafico-mes { grid-template-columns: repeat(3, 1fr); }

    .perfil-menus-opt .list-group-item-grandchild { margin: 10px 0; }
    .perfil-menus-opt .list-group-grandchild .checkbox-menu-actions {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 0px;
    }
    .menu-actions-section { grid-template-columns: repeat(2, 1fr); }

    .advanced-options-section-custom {
        display: grid !important;
        grid-template-columns: auto;
        grid-gap: 5px;
        justify-content: unset;
    }
    .advanced-search-section .advanced-search-section-columns-1 {
        display: grid !important;
        grid-template-columns: repeat(1, 1fr);
        width: 100%;
    }
    .historico-section button { width: 100%; }

    #whatsapp-help {
        position: fixed;
        bottom: 5px;
        right: 10px;
    }

    #status-validacao-cilindro-section { grid-template-columns: auto; }
}

@media only screen and (min-width: 1200px) {
    #datatable-total-result { font-size: 12px; }
}

@media only screen and (min-width: 768px) {
    .btn-group-no-label {
        margin-top: 23px;
    }
}
