// Bootstrap
// @import "bootstrap/scss/bootstrap.scss";

// fontawesome
@import '@fortawesome/fontawesome-free/scss/fontawesome.scss';
/* @import 'bootstrap/dist/css/bootstrap.min.css'; */
/* @import '@fortawesome/fontawesome-free/css/all.min.css'; */

.cursor-pointer {
    cursor: pointer !important;
}

.hide {
    display: none !important;
}

.table-responsive {
    min-height: 270px !important;
}

/* SCROLL BAR */
.scroll::-webkit-scrollbar,
.modal-body::-webkit-scrollbar {
    -webkit-appearance: none
}

.scroll::-webkit-scrollbar:vertical,
.modal-body::-webkit-scrollbar:vertical {
    width: 10px
}

.scroll::-webkit-scrollbar:horizontal,
.modal-body::-webkit-scrollbar:horizontal {
    height: 10px
}

.scroll::-webkit-scrollbar-thumb,
.modal-body::-webkit-scrollbar-thumb {
    background-color: rgba(var(--tb-dark-rgb), .1);
    border-radius: 10px;
    border: 2px solid var(--tb-light)
}

.scroll::-webkit-scrollbar-track,
.modal-body::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: var(--tb-light)
}

/* .ts-control */
.form-select-sm .ts-control {
    height: auto !important;
    /* Sobrescreve a altura padrão */
    padding: .25rem .5rem !important;
    /* Ajusta o padding */
    font-size: .79rem !important;
    /* Tamanho da fonte padrão para form-select-sm */
    line-height: 1.5 !important;
}

.form-select-sm .ts-control {
    border-radius: .2rem !important;
    /* Raio padrão do form-select-sm */
}

.min-width-0 {
    min-width: 0 !important;
}

/* Margens negativas */

/* Margens Negativas para Todos os Lados */
.m-n1 {
    margin: -0.25rem !important;
}

.m-n2 {
    margin: -0.5rem !important;
}

.m-n3 {
    margin: -1rem !important;
}

.m-n4 {
    margin: -1.5rem !important;
}

.m-n5 {
    margin: -3rem !important;
}

/* Margens Negativas para o Topo */
.mt-n1 {
    margin-top: -0.25rem !important;
}

.mt-n2 {
    margin-top: -0.5rem !important;
}

.mt-n3 {
    margin-top: -1rem !important;
}

.mt-n4 {
    margin-top: -1.5rem !important;
}

.mt-n5 {
    margin-top: -3rem !important;
}

/* Margens Negativas para a Base */
.mb-n1 {
    margin-bottom: -0.25rem !important;
}

.mb-n2 {
    margin-bottom: -0.5rem !important;
}

.mb-n3 {
    margin-bottom: -1rem !important;
}

.mb-n4 {
    margin-bottom: -1.5rem !important;
}

.mb-n5 {
    margin-bottom: -3rem !important;
}

/* Margens Negativas para a Esquerda */
.ms-n1 {
    margin-left: -0.25rem !important;
}

.ms-n2 {
    margin-left: -0.5rem !important;
}

.ms-n3 {
    margin-left: -1rem !important;
}

.ms-n4 {
    margin-left: -1.5rem !important;
}

.ms-n5 {
    margin-left: -3rem !important;
}

/* Margens Negativas para a Direita */
.me-n1 {
    margin-right: -0.25rem !important;
}

.me-n2 {
    margin-right: -0.5rem !important;
}

.me-n3 {
    margin-right: -1rem !important;
}

.me-n4 {
    margin-right: -1.5rem !important;
}

.me-n5 {
    margin-right: -3rem !important;
}

/* Margens Negativas para os Eixos X (Esquerda e Direita) */
.mx-n1 {
    margin-left: -0.25rem !important;
    margin-right: -0.25rem !important;
}

.mx-n2 {
    margin-left: -0.5rem !important;
    margin-right: -0.5rem !important;
}

.mx-n3 {
    margin-left: -1rem !important;
    margin-right: -1rem !important;
}

.mx-n4 {
    margin-left: -1.5rem !important;
    margin-right: -1.5rem !important;
}

.mx-n5 {
    margin-left: -3rem !important;
    margin-right: -3rem !important;
}

/* Margens Negativas para os Eixos Y (Topo e Base) */
.my-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
}

.my-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
}

.my-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
}

.my-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
}

.my-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
}


/* Margens personalizadas */
.mt-6 {
    margin-top: 4rem;
    /* 64px */
}

.mt-7 {
    margin-top: 5rem;
    /* 80px */
}

.mt-8 {
    margin-top: 6rem;
    /* 96px */
}

.mt-9 {
    margin-top: 7rem;
    /* 112px */
}

.mt-10 {
    margin-top: 8rem;
    /* 128px */
}

.mt-11 {
    margin-top: 9rem;
    /* 144px */
}

.mt-12 {
    margin-top: 10rem;
    /* 160px */
}

.mt-13 {
    margin-top: 11rem;
    /* 176px */
}

.mt-14 {
    margin-top: 12rem;
    /* 192px */
}

.mt-15 {
    margin-top: 13rem;
    /* 208px */
}

/* Card de Módulo - Página Inicial */
.module-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.module-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.15) !important;
}

.module-card:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

.module-icon-wrapper {
    transition: transform 0.3s ease;
}

.module-card:hover .module-icon-wrapper {
    transform: scale(1.15);
}

/* Seletor de Convenção */
.select-convencao {
    max-width: 350px;
}

/* Página de Módulos */
.welcome-header {
    background: linear-gradient(135deg, var(--bs-primary) 0%, #0d6efddd 100%);
    border-radius: 0.75rem;
    margin-bottom: 1.5rem;
}

.welcome-header h4 {
    margin-bottom: 0.25rem;
}

.module-section {
    background: var(--bs-body-bg);
    border-radius: 0.5rem;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}

.download-section {
    background: var(--bs-tertiary-bg);
    border-radius: 0.5rem;
    border-left: 3px solid var(--bs-primary);
}

.download-item {
    transition: padding-left 0.15s ease;
}

.download-item:hover {
    padding-left: 0.25rem;
}

/* Responsividade */
@media (max-width: 768px) {
    .welcome-header {
        padding: 1rem 1.25rem;
    }

    .module-section {
        padding: 1rem;
    }

    .select-convencao {
        max-width: 100%;
    }
}

/* Menu - Cores por módulo */
.navbar-menu .nav-item>.nav-link {
    text-decoration: none !important;
}

.navbar-menu .nav-item>.nav-link.active {
    background-color: var(--bs-primary-bg-subtle);
    border-left: 3px solid var(--bs-primary);
}

.navbar-menu .nav-item>.nav-link.active .text-primary {
    color: var(--bs-primary) !important;
}

.navbar-menu .nav-item>.nav-link.active .text-success {
    color: var(--bs-success) !important;
}

.navbar-menu .nav-item>.nav-link.active .text-secondary {
    color: var(--bs-secondary) !important;
}

.navbar-menu .nav-item>.nav-link.active .text-warning {
    color: var(--bs-warning) !important;
}

/* Menu hover states - apenas transition que Bootstrap não tem nativamente */
.navbar-menu .nav-link {
    transition: padding-left 0.2s ease;
}

/* Sub-item hover — fundo sutil */
.navbar-menu .menu-dropdown .nav-link:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.04);
    padding-left: 28px;
}

/* Sub-item active — borda esquerda fina */
.navbar-menu .menu-dropdown .nav-link.active {
    background-color: rgba(var(--bs-primary-rgb), 0.06);
    border-left: 2px solid var(--bs-primary);
    padding-left: 26px;
}

/* Sub-item fonte um pouco menor pra hierarquia visual */
.navbar-menu .menu-dropdown .nav-item {
    font-size: 0.875rem;
    padding-left: 30px;
}

/* Sub-item level 2 (sub-sub-itens) — indentação extra */
.navbar-menu .menu-dropdown .menu-dropdown .nav-item {
    padding-left: 0px;
}

/* Collapsed sidebar (sm-hover) — texto visível no hover */
[data-layout=vertical][data-sidebar-size=sm-hover] .navbar-menu:hover .navbar-nav .nav-link span {
    display: inline-block !important;
}

/* Collapsed sidebar (sm-hover) — submenus visíveis no hover */
[data-layout=vertical][data-sidebar-size=sm-hover] .navbar-menu:hover .navbar-nav .menu-dropdown {
    display: block !important;
}

/* Collapsed sidebar (sm) — garante texto visível no item pai ao hover */
[data-layout=vertical][data-sidebar-size=sm] .navbar-menu .navbar-nav .nav-item:hover>a.menu-link span {
    display: inline-block !important;
    padding-left: 25px !important;
}

/* Collapsed sidebar (sm) — submenus visíveis no hover */
[data-layout=vertical][data-sidebar-size=sm] .navbar-menu .navbar-nav .nav-item:hover>.menu-dropdown {
    display: block !important;
}

/* ==========================================================================
   FIX PARA COMPATIBILIDADE: FORM-FLOATING + CHOICES.JS
   ========================================================================== */

/* Força a label a ficar na posição flutuante quando o Choices.js está presente */
.form-floating:has(.choices) label,
.form-floating:has([data-choices]) label {
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
    opacity: 0.65;
    pointer-events: none;
    z-index: 5;
}

.form-floating>.choices {
    margin-bottom: 0;
}

.form-floating>.choices .choices__inner {
    padding: 1.625rem 0 0.625rem 0 !important;
    min-height: calc(3.5rem + 2px) !important;
    border: 1px solid #ced4da !important;
    background-color: var(--bs-body-bg);
    border-radius: 0.25rem;
}

.form-floating>.choices .choices__list--single {
    padding-left: 0.75rem !important;
    /* Margem lateral padrão do Bootstrap */
    padding-top: 0px;
}

.form-floating>.choices .choices__item {
    color: #212529 !important;
    /* Cor preta para o item selecionado */
    font-weight: 400;
}

/* Ajuste para o componente não sobrepor a label ao abrir */
.form-floating>.choices.is-open {
    z-index: 10;
}

/* Thumbnail de anexos */
.anexo-thumb-container {
    width: 100%;
    height: 100px;
    overflow: hidden;
    border-radius: 4px;
    background-color: var(--bs-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.anexo-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s ease;
}

.anexo-thumb-container:hover .anexo-thumb {
    transform: scale(1.08);
}

/*# sourceMappingURL=custom.min.css.map */

#imageProfile{
    object-fit: cover;
    object-position: top;
}

/** LOADING **/
#loading{
	z-index:9999 !important;
	background-color:rgba(255, 255, 255, 0.8);
	position:fixed;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
	display: none;
/* 	transition: 1s background-color; */
}

#loading button{
	z-index:9999 !important;
	position:absolute;
	top:50%;
	left:50%;
}

/* Table Lotes */
#tabContribuicoesContent,
#tabDespesasContent,
#tabRemessasContent {
	max-height: 490px; /* Define a altura máxima desejada */
	overflow-y: auto; /* Permite a rolagem vertical */
}

#tabContribuicoesContent thead,
#tabDespesasContent thead,
#tabRemessasContent thead {
	position: sticky;
	top: -10px;
	background-color: white; /* Para garantir que o cabeçalho tenha um fundo */
	z-index: 1; /* Garante que o cabeçalho fique sobre o conteúdo da tabela */
}