:root {
    --cor-principal: #8b0000;
    --cor-principal-escura: #450000;
    --cor-principal-clara: #fcd0d4;

    --bs-primary: var(--cor-principal);
    --bs-aside-menu-icon-bg-color-active: var(--cor-principal);
    --bs-component-hover-color: var(--cor-principal);
    --bs-component-active-bg: var(--cor-principal);
    --bs-header-general-bg-color: var(--cor-principal-escura);
    --bs-primary-active: var(--cor-principal-escura);

    --bs-blockui-overlay-bg: rgb(13 12 12 / 83%);
}

/* Helpers de cor da identidade visual */
.bg-principal {
    background-color: var(--cor-principal) !important;
}

.bg-principal-clara {
    background-color: var(--cor-principal-clara) !important;
}

.bg-principal-escura {
    background-color: var(--cor-principal-escura) !important;
}

.color-principal {
    color: var(--cor-principal) !important;
}

.color-principal-clara {
    color: var(--cor-principal-clara) !important;
}

.color-principal-escura {
    color: var(--cor-principal-escura) !important;
}

.logo {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 40px;
    width: auto;
    padding-right: calc((194 / 62) * 40px);
}

.daterangepicker {
    z-index: 1055;
}

#kt_aside {
    z-index: 1020;
}

.drawer-overlay {
    z-index: 1019;
}

body[data-kt-sticky-header="on"] #header-fixar-mobile {
    z-index: 1055 !important;
    position: fixed;
    width: -webkit-fill-available;
}

.select2-dropdown {
    z-index: 1055;
}

@media (min-width: 992px) {
    #header-fixar-mobile {
        z-index: 0 !important;
    }
    #kt_header {
        position: unset !important;
    }
}

#header-fixar-mobile {
    position: unset;
    top: 0;
    z-index: 1009;
}

@media (max-width: 992px) {
    #header-fixar-mobile {
        position: sticky;
        width: 100%;
    }
}

.animacao {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.animacao-aparecer-descendo {
    -webkit-animation-name: animacao-aparecer-descendo;
    animation-name: animacao-aparecer-descendo;
}
@keyframes animacao-aparecer-descendo {
    from {
        opacity: 0;
        height: 0;
        max-height: 0;
    }
  
    to {
        opacity: 1;
        height: auto;
        max-height: 100vh;
    }
}
@-webkit-keyframes animacao-aparecer-descendo {
    from {
        opacity: 0;
        height: 0;
        max-height: 0;
    }
  
    to {
        opacity: 1;
        height: auto;
        max-height: 100vh;
    }
}

.animacao-desaparecer-subindo-menu {
    -webkit-animation-name: animacao-desaparecer-subindo-menu;
    animation-name: animacao-desaparecer-subindo-menu;
}

@keyframes animacao-desaparecer-subindo-menu {
    from {
        opacity: 1;
        height: auto;
        max-height: 52px;
    }
  
    to {
        opacity: 0;
        height: 0;
        max-height: 0;
    }
}
@-webkit-keyframes animacao-desaparecer-subindo-menu {
    from {
        opacity: 1;
        height: auto;
        max-height: 52px;
    }
  
    to {
        opacity: 0;
        height: 0;
        max-height: 0;
    }
}

.animacao-desaparecer-subindo-menu-dados {
    -webkit-animation-name: animacao-desaparecer-subindo-menu-dados;
    animation-name: animacao-desaparecer-subindo-menu-dados;
}

@keyframes animacao-desaparecer-subindo-menu-dados {
    from {
        opacity: 1;
        height: auto;
        max-height: 83px;
    }
  
    to {
        opacity: 0;
        height: 0;
        max-height: 0;
    }
}
@-webkit-keyframes animacao-desaparecer-subindo-menu-dados {
    from {
        opacity: 1;
        height: auto;
        max-height: 83px;
    }
  
    to {
        opacity: 0;
        height: 0;
        max-height: 0;
    }
}

.animacao-aparecer-descendo-menu-dados {
    -webkit-animation-name: animacao-aparecer-descendo-menu-dados;
    animation-name: animacao-aparecer-descendo-menu-dados;
}
@keyframes animacao-aparecer-descendo-menu-dados {
    from {
        opacity: 0;
        height: 0;
        max-height: 0;
    }
  
    to {
        opacity: 1;
        height: 83px;
    }
}
@-webkit-keyframes animacao-aparecer-descendo-menu-dados {
    from {
        opacity: 0;
        height: 0;
        max-height: 0;
    }
  
    to {
        opacity: 1;
        height: 83px;
    }
}

table.dataTable {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (min-width: 992px) {
    .card-meta-apresentacao {
        height: 270px !important;
    }
}

.h-105px {
    height: 105px !important;
}

.daterangepicker .ranges ul {
    max-height: none !important;
}

.daterangepicker.show-calendar .ranges {
    height: 320px !important;
}

.daterangepicker .drp-calendar {
    max-width: none !important;
}

@media (min-width: 992px) {
    .header-fixed[data-kt-sticky-header=on] .header {
        height: 125px !important;
    }
}

.btn-principal {
    background-color: var(--cor-principal) !important;
    color: white !important;
}

.bg-principal {
    background-color: var(--cor-principal) !important;
    color: #fff !important;
}

.btn-principal > * {
    color: white;
}

.btn-principal:hover {
    background-color: var(--cor-principal-clara) !important;
    color: var(--cor-principal-escura) !important;
}

.btn-principal:hover > * {
    color: var(--cor-principal-escura) !important;
}

.link-principal {
    color: var(--cor-principal-escura) !important;
}

.form-check-input:checked {
    background-color: var(--cor-principal);
}

.daterangepicker.show-calendar .ranges {
    border-radius: .95rem;
}

.daterangepicker .drp-buttons .btn {
    margin-left: 0px;
}

.daterangepicker .drp-selected {
    font-size: 12px;
    padding-right: 0px;
}

.select2-container {
    min-width: 150px !important;
}

ul.select2-selection__rendered {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blockui .blockui-message {
    color: #9d9d9d;
}

.blockui .blockui-overlay {
    position: fixed;
}

.jquery-validate-error {
    color: red;
}

/* IA */
#ia-resposta div{
    padding: 10px 0 20px;
    margin-bottom: 10px;
    border-bottom: 1px solid #dadada;
}
#ia-resposta div:first-child{
    padding-top: 0;
}
#ia-resposta div:last-child{
    border-bottom: none;
}

.form-check.form-check-solid .form-check-input:not(:checked) {
    background-color: var(--bs-gray-400);
}

.menu-sub-ativo {
    z-index: 1021;
    position: fixed;
    inset: 0px auto auto 0px;
    margin: 0px;
}

/* Busca (live search) no dropdown de empresas do cabeçalho */
.select2-dropdown-empresas {
    padding: 0 !important;
}

.select2-dropdown-empresas .select2-busca-empresas {
    border-bottom: 1px solid var(--bs-gray-200);
}

.aside .aside-menu .menu>.menu-item>.menu-link .menu-icon {
    width: 45px;
    height: 45px;
    border-radius: 10px;
}