 :root,
[data-bs-theme=light] {
  --falcon-card-gradient: linear-gradient(-45deg, #C7CBD1, #F6F8FA); 
  --falcon-card-gradient: linear-gradient(45deg, #F6F8FA, #C7CBD1);
  --falcon-link-color: #B3B6B9;
  --falcon-link-color-rgb: 116, 129, 151;
  --falcon-link-hover-color-rgb: 137, 142, 147;
  --falcon-bg-navbar-glass: rgba(255, 255, 255, 0.96);  /* Fundo menu */
  --falcon-success-rgb: 0, 210, 122;
  --falcon-secondary-rgb: 255, 215, 194; /* 255, 182, 143;*/
  --falcon-custom1-rgb: 255, 244, 163; 
  --falcon-custom2-rgb: 45, 122, 215; /* Texto azul */
  --falcon-custom3-rgb: 226, 79, 0; /* Texto laranja */
  --falcon-gray-300-rgb: 199, 203, 209; /* Fundo do cabeçalho das tabelas */
  --falcon-dropdown-link-hover-bg-global: rgba(226, 79, 0, 0.1);  /* Cor do fundo do item do menu */
  --falcon-border-color: #F6E2EF;
  --falcon-input-focus-border-color-global: #F3AB52; /* Cor da borda do input quando recebe o foco */
  --falcon-primary: #E24F00; /* Cor da letra da aba ativa */
  --falcon-novo-menu-rgb: rgba(65, 200, 127, 0.1);
}



/*------ Cor degrade do login -------------------------*/
.bg-card-gradient {
  background-image: var(--falcon-card-gradient);
  background-position: center;
}
/*-----------------------------------------------------*/

/*------- badge-soft-azul ---------------------------*/
.badge-soft-azul {
  color: rgba(0, 0, 0, 0.5) !important;
  background-color: rgba(45, 122, 215, 0.15) !important;
}
/*------------------------------------------------------*/

/*------- badge-soft-azul-2 ---------------------------*/
.badge-soft-azul-2 {
  color: rgba(0, 0, 0, 0.5) !important;
  background-color: rgba(45, 122, 215, 0.25) !important;
}
/*------------------------------------------------------*/

/*------- badge-soft-success ---------------------------*/
.badge-soft-success {
  color: rgba(0, 0, 0, 0.5) !important;
  background-color: #ccf6e4 !important;
}
/*------------------------------------------------------*/

/*------- badge-soft-warning ---------------------------*/
.badge-soft-warning {
  color: rgba(0, 0, 0, 0.5) !important;
  background-color: rgba(252, 0, 0, 0.25) !important;
}
/*------------------------------------------------------*/

/*------- badge-soft-laranja ---------------------------*/
.badge-soft-laranja {
  color: rgba(0, 0, 0, 0.5) !important;
  background-color: rgba(255, 145, 0, 0.25) !important;
}
/*------------------------------------------------------*/

/*------- badge-soft-cinza ---------------------------*/
.badge-soft-cinza {
  color: rgba(0, 0, 0, 0.5) !important;
  background-color: rgba(114, 120, 126, 0.15) !important;
}
/*------------------------------------------------------*/

/*------ Cor do fundo Limpa Filtro --------------------*/
.text-bg-custom-1 {  
  background-color: RGBA(var(--falcon-custom1-rgb), var(--falcon-bg-opacity, 1)) !important;
}
/*-----------------------------------------------------*/

/*------ Cor do fundo "novo" no menu --------------------*/
.text-bg-success {
  
  background-color: rgba(204, 246, 228, 1) !important; !important;
}
/*-----------------------------------------------------*/

/*------ Cor do fundo "novo" no menu --------------------*/
.text-bg-breve {
  
  background-color: rgba(199, 203, 209, 1) !important; !important;
}
/*-----------------------------------------------------*/

/*------ Cor do texto Azul ----------------------------*/
.text-azul {
  --falcon-text-opacity: 1;
  color: rgba(var(--falcon-custom2-rgb), var(--falcon-text-opacity)) !important;
}
/*-----------------------------------------------------*/

/*------ Cor do text-laranja ----------------------------*/
.text-laranja {
  --falcon-text-opacity: 1;
  color: rgba(var(--falcon-custom3-rgb), var(--falcon-text-opacity)) !important;
}
/*--------------------------------------------------------*/

/*------ Cor do text-amarelo ----------------------------*/
.text-amarelo {
  color: rgba(255, 173, 0, 0.8) !important;  
}
/*--------------------------------------------------------*/

/*------ Cor do text-vermelha ----------------------------*/
.text-vermelha {
  color: rgba(255, 0, 0, 0.6) !important;  
}
/*--------------------------------------------------------*/

.text-azul-claro {
  color: rgb(39, 188, 253) !important;
}






/*-------Definição de cores dos input e botão ------------------------------*/
.btn-primary, .tox .tox-menu__footer .tox-button:last-child,
.tox .tox-dialog__footer .tox-button:last-child {
  --falcon-btn-color: #fff;
  --falcon-btn-bg: #E24F00; /*     #898E93; */
  --falcon-btn-border-color: #E24F00;
  --falcon-btn-hover-color: #fff;
  --falcon-btn-hover-bg: rgba(226, 79, 0, 0.65); /* #B3B6B9; */ 
  --falcon-btn-hover-border-color: rgba(226, 79, 0, 0.65); /* #898E93; */
  --falcon-btn-focus-shadow-rgb: 76, 143, 233;
  --falcon-btn-active-color: #fff;
  --falcon-btn-active-bg: #E24F00;
  --falcon-btn-active-border-color: #E24F00;
  --falcon-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --falcon-btn-disabled-color: #fff;
  --falcon-btn-disabled-bg: #2c7be5;
  --falcon-btn-disabled-border-color: #2c7be5;

}

.form-control:focus {
  color: var(--falcon-gray-900);
  background-color: var(--falcon-quaternary-bg);
  border-color: var(--falcon-input-focus-border-color-global);
  outline: 0;
  -webkit-box-shadow: var(--falcon-box-shadow-inset), 0 0 0 0.25rem rgba(224, 79, 1, 0.25);
  box-shadow: var(--falcon-box-shadow-inset), 0 0 0 0.25rem rgba(137, 142, 147, 0.25);  /* Cor do foco */ 
}
/*---------------------------------------------------------------------------*/



/*------ Definição o container principal (Tela padrão para todo o sistema) ---*/
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --falcon-gutter-x: 2rem;
  --falcon-gutter-y: 0;
  width: 100%; 
  padding-right: calc(var(--falcon-gutter-x) * 0.3);
  padding-left: calc(var(--falcon-gutter-x) * 0.3);
  margin-right: auto;
  margin-left: auto;  

}
/*---------------------------------------------------------------------------*/

/*------- Card padrão do sistema (Tela Principal de fundo) ------------------*/
/*.card {
  --falcon-card-spacer-y: 2.5rem;
  --falcon-card-spacer-x: 0.5rem;
  --falcon-card-title-spacer-y: 0.5rem;
  --falcon-card-title-color: var(--falcon-secondary-color);
  --falcon-card-subtitle-color: ;
  --falcon-card-border-width: 0px;
  --falcon-card-border-color: rgba(var(--falcon-emphasis-color-rgb), 0.125);
  --falcon-card-border-radius: 0.375rem;
  --falcon-card-box-shadow: rgba(0, 0, 0, 0.4);
  --falcon-card-inner-border-radius: calc(0.375rem - 0px);
  --falcon-card-cap-padding-y: 1rem;
  --falcon-card-cap-padding-x: 1.25rem;
  --falcon-card-cap-bg: rgba(0, 0, 0, 0);
  --falcon-card-cap-color: ;
  --falcon-card-height: ;
  --falcon-card-color: ;
  --falcon-card-bg: #fff;
  --falcon-card-img-overlay-padding: 1rem;
  --falcon-card-group-margin: 1rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  height: var(--falcon-card-height);
  color: var(--falcon-body-color);
  word-wrap: break-word;
  background-color: var(--falcon-card-bg);
  background-clip: border-box;
  border: var(--falcon-card-border-width) solid var(--falcon-card-border-color);
  border-radius: var(--falcon-card-border-radius);
  -webkit-box-shadow: var(--falcon-card-box-shadow);
  box-shadow: var(--falcon-card-box-shadow);
 
}*/

.card-body {
  overflow: auto;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: var(--falcon-card-spacer-y) var(--falcon-card-spacer-x);
  color: var(--falcon-card-color);  
  padding-top: 1.3rem;
  padding-bottom: 1.0rem;
}

.card-title {
  margin-bottom: var(--falcon-card-title-spacer-y);
  color: var(--falcon-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--falcon-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--falcon-card-subtitle-color);
}
/*-----------------------------------------------------------*/

/*-----------------------------------------------
|   Chat Page
-----------------------------------------------*/
.card-chat {
  height: calc(100vh - var(--falcon-top-nav-height) - 2.225rem);
    
}

.card-chat .card-body {
  position: relative;
  overflow: hidden;
  overflow-y: auto;
}

.card-chat-pane {
  height: calc(100% - 2.063rem);
  position: relative;
  overflow: hidden;
  overflow-y: auto;
}

.card-chat-content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  max-width: 100%;
  height: 100%;
  font-size: 0.8333333333rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow-y: auto;
}
 
.footer {
  position: sticky;
  bottom: 4px;  
  width: 100%;
}
/*-----------------------------------------------------------*/

/*---------- Ativa o menu apenas passando o mouse -----------*/
.dropdown:hover>.dropdown-menu {
 display: block;
}
/*-----------------------------------------------------------*/



/*---------- Parametros de controle de rolagem da tela do Dashboard -----------*/
.scrollable-graficos {
  max-height: calc(100vh - var(--falcon-top-nav-height) - 7.555rem);  /*Altura máxima para iniciar a rolagem */
  overflow-y: auto; /* Habilita rolagem vertical se o conteúdo exceder a altura máxima */
  overflow-x: hidden; /* Esconde a barra de rolagem horizontal */
}

/* Estilos para a barra de rolagem */
.scrollable-graficos::-webkit-scrollbar {
  width: 6px; /* Largura da barra de rolagem vertical */
  height: 8px; /* Altura da barra de rolagem horizontal, se necessária */
}

.scrollable-graficos::-webkit-scrollbar-track {
  background: #f1f1f1; /* Cor de fundo da trilha */
}

.scrollable-graficos::-webkit-scrollbar-thumb {
  background: #D7DDE6; /* Cor do manipulador da barra de rolagem */
  border-radius: 5px; /* Arredonda os cantos do manipulador da barra de rolagem */
}

.scrollable-graficos::-webkit-scrollbar-thumb:hover {
  background: #D7DDE6; /* Cor do manipulador ao passar o mouse */
}
/*-----------------------------------------------------------------------------*/


/*--------- Spinner ----------------------------*/
#no-freeze-spinner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: all 0.1s linear;
  opacity: 0;
  height: 100vh;
  transform: scale(10);
  z-index: -1;
  /*background: #000;*/   /* Escurece o fundo */
}
.no-freeze-spinner #no-freeze-spinner {
  z-index: 9999;
  opacity: 0.5;
  transform: scale(3);      /* Tamanho */
}
#no-freeze-spinner > div > div {
  animation-play-state: paused;
  border: 2px solid rgba(77, 126, 154, 1);
  border-radius: 50%;
  animation: rotate 1s infinite linear;
  border-left-color: rgba(77, 126, 154, 0.4);
  width: 100%;
  height: 100%;
}
#no-freeze-spinner > div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border-radius: 50%;
  /*box-shadow: 0 0 0 2000px #000;*/  /* Escurece o fundo */
  width: 60px;
  height: 60px;
  padding: 5px;
}
.no-freeze-spinner #no-freeze-spinner div div {
  animation-play-state: running;
}
@keyframes loadicons {
  0% {
    transform: scale(0) translate3d(0, 0, 0);
  }
  11% {
    transform: scale(1.2) translate3d(0, 0, 0);
  }
  22% {
    transform: scale(1) translate3d(0, 0, 0);
  }
  33% {
    transform: scale(0) translate3d(0, 0, 0);
  }
}
@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
.no-freeze-spinner #no-freeze-spinner i {
  font-size: 24px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  color: rgba(77, 126, 154, 1);
  width: 24px;
  height: 24px;
  line-height: 1;
  transform: scale(0) translate3d(0, 0, 0);
}
.no-freeze-spinner #no-freeze-spinner i:nth-of-type(1) {
  animation: loadicons 3s infinite ease-in-out;
}
.no-freeze-spinner #no-freeze-spinner i:nth-of-type(2) {
  animation: loadicons 3s 1s infinite ease-in-out;
}
.no-freeze-spinner #no-freeze-spinner i:nth-of-type(3) {
  animation: loadicons 3s 2s infinite ease-in-out;
}
/*-------- FIM Spinner --------------------------------*/


/*---------Botão padrão --------------------------*/
.btn-sm, [data-list] .page, .table-list .page, .btn-group-sm > .btn, .falcon-data-table .paging_full_numbers .btn-group-sm > .page-link,
.falcon-data-table .paging_first_last_numbers .btn-group-sm > .page-link,
.falcon-data-table .paging_full .btn-group-sm > .page-link,
.falcon-data-table .paging_numbers .btn-group-sm > .page-link,
.falcon-data-table .paging_simple_numbers .btn-group-sm > .page-link, .tox .tox-menu__footer .btn-group-sm > .tox-button:last-child,
.tox .tox-dialog__footer .btn-group-sm > .tox-button:last-child, .tox .tox-menu__footer .btn-group-sm > .tox-button--secondary,
.tox .tox-dialog__footer .btn-group-sm > .tox-button--secondary {
  --falcon-btn-padding-y: 0.1788rem;
  --falcon-btn-padding-x: 0.775rem;
  --falcon-btn-font-size: 0.775rem;
  --falcon-btn-border-radius: var(--falcon-border-radius-sm);
}

/*---- Tamanho da fonte --------------------------------------*/
.fs-11 {
  font-size: 0.755555555rem !important;
}
/*------------------------------------------------------------*/


/*--------- Parametros da datatable --------------------------------*/

/*--- Botões de paginação --------------*/
.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 5px 12px;
    margin-top: 0em;
    margin-right: 0.5em;
    border: 1px solid #ddd;
    background-color: #fff;
    cursor: pointer;
    border-radius: 5px;
    font-size: 0.7333333333rem !important;
    font-weight: 600; /* Fonte semi-bold */
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1); /* Adiciona sombra */
    color: rgba(0, 0, 0, 0.7);

}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background-color: #fff;
    text-decoration: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    color: #C7CBD1;
    border-color: #ddd;
    background-color: #f7f7f7;
    cursor: not-allowed;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:active {
    background-color: #ECECEC; /* Nova cor de fundo ao clicar */
    box-shadow: none; /* Remove a sombra */
    transform: translateY(2px); /* simula o pressionamento */
}

.dataTables_wrapper tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.90); /* Cor da linha selecionada (ao passar o mouse) */
}
/*----------------------------------------------------------------------------*/


/*-------- Ajusta a altura da página principal (card) ------*/
.content {
  padding-bottom: 0.9875rem;
}
/*----------------------------------------------------------*/


/*---- Check Box --------------------------------------------*/
.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.34375rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-input {
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid rgba(226, 79, 0, 0.25);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  cursor: pointer;

}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  -webkit-filter: brightness(90%);
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #E24F00;
  outline: 0;
  -webkit-box-shadow: 0 0 0 0.25rem rgba(226, 79, 0, 0.25); /*rgba(44, 123, 229, 0.25);*/
  box-shadow: 0 0 0 0.25rem rgba(226, 79, 0, 0.25); /* rgba(44, 123, 229, 0.25); */
}
.form-check-input:checked {
  background-color: #E24F00; /* #2c7be5; */
  border-color: #E24F00;
}
.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #E24F00; /* #2c7be5; */
  border-color: #E24F00;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  -webkit-filter: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  width: 2em;
  margin-left: -2.5em;checkboxe
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%239da9bb'/%3e%3c/svg%3e");
  background-position: left center;
  border-radius: 2em;
  -webkit-transition: background-position 0.15s ease-in-out;
  -o-transition: background-position 0.15s ease-in-out;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-inputcheckboxe {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='var%28--falcon-input-focus-border-color%29'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, [data-list] .btn-check[disabled] + .page, .tox .tox-menu__footer .btn-check[disabled] + .tox-button:last-child,
.tox .tox-dialog__footer .btn-check[disabled] + .tox-button:last-child, .tox .tox-menu__footer .btn-check[disabled] + .tox-button--secondary,
.tox .tox-dialog__footer .btn-check[disabled] + .tox-button--secondary, .btn-check:disabled + .btn, [data-list] .btn-check:disabled + .page, .tox .tox-menu__footer .btn-check:disabled + .tox-button:last-child,
.tox .tox-dialog__footer .btn-check:disabled + .tox-button:last-child, .tox .tox-menu__footer .btn-check:disabled + .tox-button--secondary,
.tox .tox-dialog__footer .btn-check:disabled + .tox-button--secondary {
  pointer-events: none;
  -webkit-filter: none;
  filter: none;
  opacity: 0.65;
}


.input-group-70 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 70%;
}
.input-group-70 > .form-control,
.input-group-70 > .form-select {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group-70 > .form-control:focus,
.input-group-70 > .form-select:focus {
  z-index: 3;
}

.input-group-80 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
}
.input-group-80 > .form-control,
.input-group-80 > .form-select {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group-80 > .form-control:focus,
.input-group-80 > .form-select:focus {
  z-index: 3;
}

/* Oculta o input de arquivo mas mantém acessível para scripts */
.fileUpload {
    position: relative;
    overflow: hidden;
    margin: 0px;
}
.fileUpload input.upload {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    filter: alpha(opacity=0);
}


/* PERSONALIZAÇÃO DO TOUR */
/* Altera o fundo e a cor do texto do tooltip */
.introjs-tooltip {
  background-color: rgba(248, 249, 250, 0.9);  /* fundo claro com transparência */
  color: #212529;
  font-size: 15px;
  font-family: 'Segoe UI', sans-serif;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}


/* Altera o botão de 'Próximo' */
.introjs-nextbutton {
  background-color: #6c757d;   /* verde Bootstrap */
  color: white;
  font-weight: bold;
  border-radius: 5px;
  padding: 6px 16px;
}

/* Botão 'Voltar' */
.introjs-prevbutton {
  background-color: #6c757d;   /* cinza Bootstrap */
  color: white;
  font-weight: bold;
  border-radius: 5px;
  padding: 6px 16px;
}

/* Botão 'Finalizar' */
.introjs-donebutton {
  background-color: #6c757d;   /* azul Bootstrap */
  color: white;
  font-weight: bold;
  border-radius: 5px;
  padding: 6px 16px;
}

/* Destaca o elemento selecionado (borda, sombra, etc) */
.introjs-helperLayer {
  border: 0px dashed #0d6efd;
  box-shadow: 0 0 20px rgba(13, 110, 253, 0.1);
}

.introjs-helperLayer,
.introjs-highlight {
  display: none !important;
}

.introjs-showElement {
  pointer-events: auto !important;
  z-index: 9999 !important;
  position: relative !important;
}

table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
  cursor: pointer;
}

/*-----------------------------------------------
|   Notification
-----------------------------------------------*/
.notification {
  color: var(--falcon-gray-1000);
  text-decoration: none;
  background-color: var(--falcon-notification-bg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8333333333rem;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.notification:not(.notification-flush) {
  border: 1px solid var(--falcon-border-color);
  -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  border-radius: 0.375rem;
  padding: 1rem;
}
.notification:hover, .notification:focus {
  color: var(--falcon-gray-1100);
  text-decoration: none;
}

.notification-body {
  margin-bottom: 0.25rem;
}

.notification-time {
  margin-bottom: 0;
  color: var(--falcon-gray-600);
  font-size: 0.8333333333rem;
}

.notification-unread {
  background-color: var(--falcon-notification-unread-bg) !important;
}
.notification-unread:hover, .notification-unread:focus {
  background-color: var(--falcon-notification-unread-hover-bg) !important;
}

.notification-indicator {
  position: relative;
}
.notification-indicator::before {
  position: absolute;
  content: "";
  right: 0.125rem;
  top: 0.5rem;
  height: 1.3rem;
  width: 1.3rem;
  border-radius: 50%;
  border: 10px solid var(--falcon-notification-indicator-border-color);
}
.notification-indicator-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  right: 0.125rem;
  top: 0.505rem;
  height: 1.3rem;
  width: 1.3rem;
  font-size: 0.67rem;
  color: #fff;
  font-weight: 700;
}
.notification-indicator-primary::before {
  background-color: var(--falcon-primary);
}
.notification-indicator-secondary::before {
  background-color: var(--falcon-secondary);
}
.notification-indicator-success::before {
  background-color: var(--falcon-success);
}
.notification-indicator-info::before {
  background-color: var(--falcon-info);
}
.notification-indicator-warning::before {
  background-color: var(--falcon-warning);
}
.notification-indicator-danger::before {
  background-color: var(--falcon-danger);
}
.notification-indicator-light::before {
  background-color: var(--falcon-light);
}
.notification-indicator-dark::before {
  background-color: var(--falcon-dark);
}
.notification-indicator-fill::before {
  border: 0;
}

.dropdown-menu-notification {
  min-width: 16rem;
  max-width: 5rem;
}
.dropdown-menu-notification .card-header,
.dropdown-menu-notification .card-footer {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.dropdown-menu-notification .list-group-flush .list-group-item {
  padding: 0;
}
.dropdown-menu-notification .list-group-flush .list-group-item .notification-flush {
  padding: 0.5rem 1rem;
}
.dropdown-menu-notification .list-group-flush .list-group-title {
  background-color: var(--falcon-notification-title-bg);
  font-weight: 600;
  font-size: 0.6944444444rem;
  color: var(--falcon-gray-600);
  padding: 0.25rem 1.25rem;
}
@media (min-width: 576px) {
  .dropdown-menu-notification {
    min-width: 20rem;
  }
}

/* Adicione este bloco de código ao final do seu arquivo user.css */

/* ===============================================*/
/* Estilos para o Dropdown de Filtro de Coluna */
/* ===============================================*/
.filter-dropdown {
    display: none; /* Oculto por padrão */
    position: absolute;
    width: 300px;
    background-color: var(--falcon-card-bg, white);
    border: 1px solid var(--falcon-border-color, #ddd);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 1050; /* Z-index alto para ficar sobre outros elementos */
    border-radius: 0.375rem; /* Usando o padrão do card */
    font-size: 0.833rem;
}

.filter-dropdown .dropdown-header {
    padding: 10px;
    border-bottom: 1px solid var(--falcon-border-color, #ddd);
}

.filter-dropdown .dropdown-list {
    max-height: 250px;
    overflow-y: auto;
    padding: 5px 0;
}

.filter-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

.filter-dropdown .dropdown-item:hover {
    background-color: var(--falcon-dropdown-link-hover-bg-global, #f0f0f0);
}

.filter-dropdown .dropdown-item input[type="checkbox"] {
    margin-right: 10px;
}

.filter-dropdown .dropdown-item label {
    flex-grow: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    margin-bottom: 0; /* Reseta margem do bootstrap */
}

.filter-dropdown .item-count {
    margin-left: 10px;
    font-size: 12px;
    color: var(--falcon-gray-600, #777);
    background-color: var(--falcon-gray-200, #eee);
    padding: 2px 6px;
    border-radius: 10px;
}

.filter-dropdown .dropdown-footer {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    border-top: 1px solid var(--falcon-border-color, #ddd);
    background-image: var(--falcon-card-gradient);
}

/* reserva espaço à direita para a imagem */
#atualizacoesModal .conteudo-versoes {
  padding-right: 70%; /* ajuste conforme a imagem ocupar (40% ~ 45%) */
}

/* itens transparentes */
#atualizacoesModal .list-group,
#atualizacoesModal .list-group-item {
  background-color: transparent !important;
}

#atualizacoesModal .list-group-item {
  border-color: rgba(0,0,0,0.06); /* linha bem leve */
}

/* Reserva espaço à direita para a imagem de fundo */
#atualizacoesModal .conteudo-versao {
  padding-right: 35%; /* ajuste este valor conforme o tamanho da imagem */
}

/* Fundo transparente para manter estilo */
#atualizacoesModal .list-group,
#atualizacoesModal .list-group-item,
#atualizacoesModal .conteudo-versao {
  background-color: transparent !important;
}







/*--------------TABELA MALHA FISCAL -------------------*/
.table-compact{
  --cell-x: .45rem;  /* espaçamento horizontal */
  --cell-y: .35rem;  /* espaçamento vertical  */
  border-collapse: collapse;   /* garante zero gap entre células */
}
.table-compact > :not(caption) > * > *{
  padding: var(--cell-y) var(--cell-x);
}

/* Aparência do cabeçalho e sticky em duas linhas */
#tabelaMalhaFiscal thead th {
  background: #F9FAFD;
  font-weight:600;
  line-height:20px;
  z-index:2;
  border-bottom:1px solid rgba(0,0,0,.05);
}


/* Primeira linha do thead “gruda” no topo */
#tabelaMalhaFiscal thead th.sticky-1 {
  position:sticky; top:0; z-index:3; /* acima da linha 2 */
  font-size: .8rem;
  text-align: left !important;

}

/* Segunda linha do thead gruda logo abaixo da primeira */
#tabelaMalhaFiscal thead th.sticky-2 {
  position:sticky; top:32px; z-index:2;
  font-size: .7rem;
}

/* Empilha ícone acima do texto nas subcolunas (linha sticky-2) */
#tabelaMalhaFiscal thead th.sticky-2 i{
  display:block;          /* ícone ocupa a linha inteira */
  margin:0 auto .2rem;    /* centraliza e dá espaço abaixo */
}

/* Evita margem lateral do me-1 nos ícones do thead */
#tabelaMalhaFiscal thead th.sticky-2 i.me-1{
  margin-right:0 !important;
}

/* Garante que o texto pode quebrar e centraliza */
#tabelaMalhaFiscal thead th.sticky-2{
  white-space:normal;
  text-align:center;
}

/* não deixa quebrar a linha */
#tabelaMalhaFiscal td.valor-total { 
  white-space: nowrap;   
}


/* Fina linha superior (como no mock) */
.table-wrapper-malfiscal { border-top:1px solid rgba(214, 51, 132, 0.15); }

/* Listras suaves e tipografia das células */
#tabelaMalhaFiscal tbody td {
  font-size:1rem; color:#3F3F46; 
  padding-top:.75rem; 
  padding-bottom:.75rem;
  
}
#tabelaMalhaFiscal tbody tr:nth-of-type(odd){ background-color: transparent !important; }
#tabelaMalhaFiscal tbody tr:nth-of-type(even){ background-color: transparent !important; }

/* Remove listras default muito fortes do .table-striped do bootstrap */
.table.table-striped>tbody>tr:nth-of-type(odd)>* { --bs-table-accent-bg: transparent !important; }
.table.table-striped>tbody>tr:nth-of-type(even)>* { --bs-table-accent-bg: transparent !important; }







/* Cores de fundo dos grupos  */
:root{
  --bg-principal: transparent;   
  --bg-acessorias: transparent;       
  --divisor: rgba(0,0,0,.06);
}

/* Centraliza os títulos de grupo (1ª linha) */
#tabelaMalhaFiscal thead th.sticky-1.group-principal,
#tabelaMalhaFiscal thead th.sticky-1.group-acessorias{
  text-align:center !important;
}

/* Fundo nas células do cabeçalho (2ª linha) por grupo */
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(2),
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(3),
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(4){
  background: var(--bg-principal);
}
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(5),
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(6){
  background: var(--bg-acessorias);
}

/* Fundo nas células do corpo por grupo (colunas 2–4 e 5–6) */
#tabelaMalhaFiscal tbody td:nth-child(2),
#tabelaMalhaFiscal tbody td:nth-child(3),
#tabelaMalhaFiscal tbody td:nth-child(4){
  background: var(--bg-principal);
}
#tabelaMalhaFiscal tbody td:nth-child(5),
#tabelaMalhaFiscal tbody td:nth-child(6){
  background: var(--bg-acessorias);
}

/* Mesmo fundo para os títulos de grupo (1ª linha) para dar continuidade visual */
#tabelaMalhaFiscal thead th.group-principal{ background: rgba(199,203,209,0.11); }
#tabelaMalhaFiscal thead th.group-acessorias{ background: rgba(199,203,209,0.11); }

/* Divisor vertical entre os grupos (aplica no header e body) */
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(5),
#tabelaMalhaFiscal tbody td:nth-child(5){
  box-shadow: inset 2px 0 0 var(--divisor);
}
/* Opcional: divisor leve na borda direita do grupo acessórias */
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(6),
#tabelaMalhaFiscal tbody td:nth-child(6){
  box-shadow: inset -1px 0 0 var(--divisor);
}

/* Ícone sobre o texto */
#tabelaMalhaFiscal thead th.sticky-2 i{
  display:block; margin:0 auto .2rem;
}

/* Ajuste do sticky para thead compacto */
#tabelaMalhaFiscal thead th.sticky-1{ z-index:4; }
#tabelaMalhaFiscal thead th.sticky-2{ top:26px; z-index:3; } /* ajuste fino se necessário */









/* Entre os grupos (borda esquerda de Obrigações Acessórias) */
#tabelaMalhaFiscal thead tr:first-child th.group-acessorias{
  /* esquerda (entre os grupos) + direita opcional para fechar o bloco */
  box-shadow: inset 2px 0 0 var(--divisor), inset -1px 0 0 var(--divisor);
}
/* Alinha a borda entre os grupos na 2ª linha (primeira subcoluna das acessórias) */
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(5){
  box-shadow: inset 2px 0 0 var(--divisor);
}
/* (opcional) fecha a borda direita do grupo acessórias na 2ª linha */
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(6){
  box-shadow: inset -1px 0 0 var(--divisor);
}




/* ----- Divisor na 1ª coluna (direita) ----- */

/* BODY: todas as linhas na primeira coluna */
#tabelaMalhaFiscal tbody td:first-child{
  box-shadow: inset -2px 0 0 var(--divisor);
}

/* THEAD: 1ª linha ('Contador') */
#tabelaMalhaFiscal thead tr:first-child th:first-child{
  box-shadow: inset -2px 0 0 var(--divisor);
}

/* THEAD: 2ª linha (célula vazia que alinha a 1ª coluna) */
#tabelaMalhaFiscal thead tr:nth-child(2) th:first-child{
  box-shadow: inset -2px 0 0 var(--divisor);
}

/* 'Contador' mesclado: fica sticky e centralizado verticalmente */
#tabelaMalhaFiscal thead th.th-contador{
  position: sticky; top: 0; z-index: 5;
  vertical-align: middle;              /* centraliza vertical em célula com rowspan */
  /* divisor na direita da 1ª coluna */
  box-shadow: inset -2px 0 0 var(--divisor);
}

/* A segunda linha do cabeçalho continua sticky abaixo da primeira */
#tabelaMalhaFiscal thead th.sticky-2{ top: 32px; } /* ajuste se sua linha 1 tiver outra altura */

/* ATENÇÃO: com a remoção do <th> vazio, os índices mudaram no THEAD (linha 2) */
/* (1–3) = Obrigação Principal, (4–5) = Obrigações Acessórias */
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(4){ /* divisor entre grupos */
  box-shadow: inset 2px 0 0 var(--divisor);
}
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(5){ /* borda direita opcional */
  box-shadow: inset -1px 0 0 var(--divisor);
}




/* Remover divisor indevido na direita de "Valor Total" (1º th da 2ª linha) */
#tabelaMalhaFiscal thead tr:nth-child(2) th:first-child{
  box-shadow: none !important;
}

/* Mantém o divisor correto na direita de "Contador" (rowspan) */
#tabelaMalhaFiscal thead th.th-contador{
  box-shadow: inset -2px 0 0 var(--divisor);
}

/* Divisor entre os grupos na 2ª linha (índices após o rowspan) */
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(4){ /* esquerda de Acessórias */
  box-shadow: inset 2px 0 0 var(--divisor);
}
#tabelaMalhaFiscal thead tr:nth-child(2) th:nth-child(5){ /* direita de Acessórias (opcional) */
  box-shadow: inset -1px 0 0 var(--divisor);
}


.card-disabled { 
  position: relative; 
}

/* apaga o card */
.card-disabled .card {
  opacity: 0.55;
}

/* overlay por cima */
.card-disabled-overlay {
  position: absolute;
  inset: 0;
  z-index: 9999;                 /* bem acima dos sticky */
  background: rgba(255,255,255,0.055);  /* AGORA cobre de verdade */
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: not-allowed;
  border-radius: inherit;
  pointer-events: all;
}

/* bloqueia interação com o conteúdo do card */
.card-disabled .card-header,
.card-disabled .card-body {
  pointer-events: none;
}

/* garante que nada “sticky” passe por cima */
.card-disabled .sticky-1,
.card-disabled .sticky-2 {
  z-index: 1 !important;
}

