/*
	INICIO HEADER
*/

/* Garante que o header principal permaneça realmente fixo ao rolar a página
   (evita o pequeno deslocamento observado ao scrollar). */
.nk-body .nk-header.nk-header-fixed {
	position: fixed !important;
	top: 0 !important;
}

.nk-block-head-content{
    align-content: center;
}
.nk-block-head-content .nk-menu-icon{
	width: auto;
    margin-right: 10px;
    display: flex;
    align-items: flex-start;
    height: 100%;
}
.nk-block-head-content .nk-menu-icon .icon{
	color: var(--color-principal);
    font-size: 2.8rem;
}
.header-page{
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
/* Dropdown de ações em tabelas: impede a quebra do texto das opções (ex.: "Ver candidatos").
   Sobrepõe o cap fixo de 120px do .dropdown-menu-xs. */
.dropdown-menu-xs.dropdown-menu-tabela,
.dropdown-menu-tabela {
    width: auto;
    min-width: max-content;
    max-width: none;
}
.dropdown-menu-tabela .link-list-opt a {
    white-space: nowrap;
}
/* Padronização global dos dropdowns de ação das DataTables: a lista de opções
   (.link-list-opt.no-bdr) tem os paddings zerados para colar no menu. Antes cada
   módulo repetia essa regra localmente — agora é única e global. */
.link-list-opt.no-bdr {
    padding: 0;
}
.nk-block-head-content .btn{
    width: 100%;
    display: flex;
    justify-content: center;
}
#Senha .nk-block-head .nk-block-between .nk-block-head-content .btn-trigger{
	justify-content: flex-end;
}
.nk-block-head-content > .btn > .icon{
	margin-left: 0.25rem;
}
@media (max-width: 900px){
	.nk-block-head-content .btn span{
	    display: none;
	}
	.nk-block-head-content .btn .icon{
		margin: 0;
	}
}
@media (max-width: 721px){
	.nk-block-head-content{
		width: 100%; 
		padding-left: 10px;
	}
	.nk-block-head-content .toglle .btn{
		width: 100%; 
	 padding-left: 10px;
 }
	.nk-block-head-content .btn span{
	    display: block;
	}
	/* .nk-block-head-content .btn .icon{
		 margin-right: 0.25em; 
	} */
}
/*
	FIM HEADER
*/

/*
	INICIO DUAL LIST BOX
*/

.dual-listbox .dual-listbox__search{
	min-width: 100%;
	height: calc(2.625rem + 2px);
	min-height: calc(2.125rem + 2px);
	padding: 0.6875rem 1rem;
    font-size: 0.9375rem;
    border-radius: 5px;
}
.dual-listbox .dual-listbox__container{
	justify-content: space-between;
}
.dual-listbox .dual-listbox__container div{
	flex-basis: 43% !important;
}
.dual-listbox .dual-listbox__container .dual-listbox__buttons{
	flex-basis: 14% !important;
	margin: 0;
}
.dual-listbox .dual-listbox__container .dual-listbox__available, .dual-listbox .dual-listbox__container .dual-listbox__selected{
	width: 100%;
	height: 500px;
}
.dual-listbox .dual-listbox__available::-webkit-scrollbar, .dual-listbox .dual-listbox__selected::-webkit-scrollbar {
  width: 8px;               /* width of the entire scrollbar */
}

/* Mobile: mantém as duas caixas (opções / selecionadas) LADO A LADO, com a
   coluna de botões de mover ao centro — em vez de empilhadas uma sob a outra.
   O flex-wrap:nowrap impede a quebra e o min-width:0 permite que as caixas
   encolham para caber na largura estreita (senão o conteúdo força a quebra). */
@media (max-width: 575.98px) {
	.dual-listbox .dual-listbox__container{
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 6px;
	}
	.dual-listbox .dual-listbox__container div{
		min-width: 0;
	}
	.dual-listbox .dual-listbox__container > div:not(.dual-listbox__buttons){
		flex: 1 1 0 !important;
		flex-basis: 0 !important;
	}
	.dual-listbox .dual-listbox__container .dual-listbox__available,
	.dual-listbox .dual-listbox__container .dual-listbox__selected{
		width: 100%;
		min-width: 0;
		height: 300px;
	}
	.dual-listbox .dual-listbox__container .dual-listbox__buttons{
		flex: 0 0 auto !important;
		flex-basis: auto !important;
		margin: 0;
		padding: 0;
		align-self: center;
	}
	.dual-listbox .dual-listbox__buttons .dual-listbox__button{
		padding-left: 6px;
		padding-right: 6px;
	}
}

/*
	FIM DUAL LIST BOX
*/

.js_carregando{
	display: none;
	position: absolute;
	background: var(--bs-body-bg);
	width: 100%;
	height: 100%;
    z-index: 9;
    text-align: center;
    align-content: center;
} /* div de carregamento */

.js_carregando.active{
	display: block;
}
/*
	IMAGE PREVIEW
*/
.img-preview{
    border-radius: 4px;
    overflow: hidden;
    height: calc(2.125rem + 50px);
    width: calc(2.125rem + 50px);
}
.img-preview .preview-lightbox{
    display: block;
    width: 100%;
    height: 100%;
}
.img-preview .preview-lightbox .preview{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-preview-input .img-preview{
    height: calc(2.125rem + 2px);
    width: calc(2.125rem + 50px);
}
.img-preview-input{
	display: none;
	flex-direction: row;
	gap: 10px;
	margin-left: 10px;
}
.img-preview-modal{
	margin-top: 10px;
    width: 100%;
}
.img-preview-modal .img-preview{
    height: calc(2.125rem + 150px);
    width: 100%;
}
.img-preview-avatar .img-preview{
    height: calc(2.125rem + 70px);
    width: calc(2.125rem + 70px);
}
.btn-remove-img-preview{
	margin-left: 10px;
	display: none;
}

@media  (max-width: 992px) {
	.modal-content .modal-body .card-aside-wrap .card {
		height: 100vh;
	} /* TAMANHO DA MODAL */
}
/*****************
↓↓↓↓↓  GLOBAL ↓↓↓↓↓
*******************/
.select2-selection__choice{
	z-index: 3;
}
select[multiple] .select2-search__field{
	width: 144px !important;
}
.w-70{
	width: 70% !important;
}
.w-20{
	width: 20% !important;
}
.w-25{
	width: 25% !important;
}
.w-30{
	width: 30% !important;
}
.u-100{
	height: 100% !important;
	width: 100% !important;
}
.text-right{
	text-align: right !important;
}
::-webkit-scrollbar {
    background: #12121629;
    width: 8px;
    height: 8px;
}
.nk-kanban{
    display: flex;
    justify-content: center;
    overflow: hidden;
}
::-webkit-scrollbar-thumb {
    background: var(--color-principal);
    border-radius: 4px;
}
.d-flex-normal{
	display: flex;
}
.d-none-normal{
	display: none;
}
table .dropdown{
	position: static;
}
.text-divisor{
	display: flex;
	flex-direction: row;
    align-items: center;
    gap: 12px;
    width: 100%;
}
.text-divisor::after{
	content: "";
	position: relative;
	width: 100%;
	height: 2px;
    border-radius: 4px;
	background: -webkit-gradient(linear, 0 100%, 0 0, from(rgba(var(--color-principal-rgb)), color-stop(0, 0)), color-stop(0.5, rgba(var(--color-principal-rgb)), to(1)));
	background: -webkit-linear-gradient(90deg, rgba(var(--color-principal-rgb), 0) 0%, rgba(var(--color-principal-rgb), 1) 100%);
	background: -moz-linear-gradient(90deg, rgba(var(--color-principal-rgb), 0) 0%, rgba(var(--color-principal-rgb), 1) 100%);
	background: -o-linear-gradient(90deg, rgba(var(--color-principal-rgb), 0) 0%, rgba(var(--color-principal-rgb), 1) 100%);
	background: linear-gradient(90deg, rgba(var(--color-principal-rgb), 0) 0%, rgba(var(--color-principal-rgb), 1) 100%);
}
.dropdown .dropdown-menu{
	z-index: 99999;
}
.nowrap{
	white-space: nowrap; /* EVITA A QUEBRA DE LINHA	NO TEXTO */
}
.cursor-pointer, .cp {
	cursor: pointer;
}
.fade.in {
	opacity: 1;
}
span.badge-toast{
	width: 100%;
	display: flex;
	justify-content: center;
	font-size: 0.75rem;
    padding: 0.75em;
}
.form-file-label::after{
	content: "Selecionar";
}
.d-contents {
	display: contents;
}

/*QUADRO DE HORARIOS*/


.swal2-container .swal2-modal .header-quadro{
	padding: 15px 45px;
	background-color: #f5f5f5;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    padding-left: 20px;
    border-bottom: 1px solid #e5e9f2;
}

.swal2-container .swal2-modal .header-quadro .swal2-close{
	color: #929292;
}

.swal2-container .swal2-modal .header-quadro .swal2-title{
	margin-bottom: 0;
    color: #000000;
    font-size: 1.25rem;
    justify-content: flex-start;
    width: 100%;
    text-align: start;
}

.swal2-container .swal2-modal .swal2-content{
	/*padding: 20px;*/
}

.swal2-container .swal2-modal .swal2-content .swal2-html-container .inner-header{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;
	padding-top: 20px;
	position: relative;
}

.swal2-container .swal2-modal .swal2-content .swal2-html-container .inner-header:before{
	content: "";
	position: absolute;
    bottom: -10px;
    width: 50px;
    height: 3px;
    background: #0fac81;
    left: 20px;
    border-radius: 10px;
}

.swal2-container .swal2-modal .swal2-content .swal2-html-container .inner-header h5{
	display: none;
}
.swal2-container .swal2-modal .swal2-content .swal2-html-container .membros{
	display: flex;
	flex-direction: column;
}
.swal2-container .swal2-modal .swal2-content .swal2-html-container .membros-text{
	color: #999999;
}

.swal2-container .swal2-modal .swal2-content .swal2-html-container .footer-swal2{
	padding: 20px;
	border-top: 1px solid #e5e9f2;
	background-color: #f8f8f8;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
}

.swal2-container .swal2-modal .swal2-content .swal2-html-container .descricao{
	padding: 0 20px;
	margin-top: 10px;
}


.swal2-container .swal2-modal .swal2-content .swal2-html-container .inner-tools{
	gap: 10px;
}

/*********************************
↓↓↓↓↓  INPUT/SELECT C/ ÍCONE ↓↓↓↓↓
**********************************/

.form-group-icon, .icon-wrapper {
    display: flex;
    align-items: center;
}

.form-group-icon .icon-wrapper {
    width: 40px !important;
    height: 36px;
    justify-content: center;
    border: 1px solid #dbdfea;
    border-right: none;
    border-radius: 5px 0 0 5px;
}

.icon-wrapper em, .icon-wrapper i {
    font-size: 1.2em;
}

.form-group-icon input, .form-group-icon select, .form-group-icon .select2-container--default .select2-selection--single {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

/*** Fim input/select com ícone ***/

/*** Cards Gerenciar Períodos — MOVIDO para public/plataforma/assets/css/rh/rh.css
     (classes .periodo-card-*). Vazava sem escopo para o sistema inteiro; a tela já
     carrega rh.css. Ver contextos/periodos-solicitacao.md. ***/
/* ==========================================================================
   MOBILE - cabecalho de pagina (padrao dos dashboards)
   O cabecalho usa .nk-block-head > .nk-block-between (titulo a esquerda,
   ferramentas/filtros a direita). Em telas menores isso ficava espremido;
   aqui empilhamos titulo em cima e ferramentas embaixo, ocupando a largura.
   Escopo restrito ao cabecalho de pagina - nao afeta o desktop nem headers
   internos de cards.
   ========================================================================== */
@media (max-width: 767.98px){
    .nk-block-head .nk-block-between{
        flex-direction: column;
        align-items: flex-start;
        gap: .75rem;
    }
    .nk-block-head .nk-block-between > .nk-block-head-content{
        width: 100%;
    }
    .nk-block-head .nk-block-between .nk-block-tools{
        flex-wrap: wrap;
        width: 100%;
    }
}

/* ==========================================================================
   Input datepicker — correcao de "vazamento" em colunas estreitas
   --------------------------------------------------------------------------
   O dashlite.css define `.datepicker { min-width: 240px; padding: 10px }`
   pensando no WIDGET de calendario (div.datepicker-dropdown). Como o proprio
   <input> tambem recebe a classe `.datepicker`, ele herdava esse min-width e,
   em colunas estreitas (ex.: col-sm-4 dentro de um modal-lg ~233px), o campo
   ficava mais largo que a coluna e "vazava" para fora da caixa do modal.
   Aqui restringimos o input a se comportar como um form-control normal, sem
   afetar o dropdown do calendario (div.datepicker), que continua com seu estilo.
   ========================================================================== */
input.datepicker.form-control{
    min-width: 0;
    padding: 0.4375rem 1rem;
}


/* Central de Notificações — item clicável (link nativo) + botão dispensar (X) */
.nk-notification-item, .js_notif_wrap { position: relative; }
a.nk-notification-item.js_notificacao_item { display: flex; color: inherit; text-decoration: none; padding-right: 34px;     border-bottom: 1px solid #d0d0d040; }
.nk-notification-dismiss {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	color: #8094ae;
	opacity: .55;
	line-height: 1;
	padding: 2px 4px;
	transition: opacity .15s, color .15s;

}
.nk-notification-item:hover .nk-notification-dismiss,
.js_notif_wrap:hover .nk-notification-dismiss { opacity: 1; }
.nk-notification-dismiss:hover { color: #e85347; }
