:root{
	--ace-blue:        #1775B9;
	--ace-blue-dark:   #125D93;
	--ace-blue-pale:   #EAF3FB;
	--ace-navy:        #1F2044;
	--ace-text-muted:  #64748B;
	--ace-border:      #E1E8F0;
	--ace-danger:      #D64545;
	--ace-danger-pale: #FBEAEA;
	--ace-success:     #1E8E5A;
	--ace-success-pale:#E6F5EC;
	--ace-radius:      14px;
}

/* =====================================================================
   BASE HERDADA DO estilo.css
   ---------------------------------------------------------------------
   Regras copiadas do estilo.css que as paginas nao logadas do Painel
   do Candidato utilizavam. Com este bloco, essas paginas passam a
   depender apenas do bootstrap.css e deste arquivo, podendo dispensar
   o <link> do estilo.css.

   Mantidas no inicio do arquivo, antes das regras proprias das telas,
   para preservar a mesma ordem de cascata que existia quando o
   estilo.css era carregado antes deste arquivo.

   O iziToast e o SweetAlert2 nao entram aqui: possuem arquivos
   proprios (URL_CSS_IZITOAST e URL_CSS_SWEET_ALERT).
   ===================================================================== */

/* --- Tipografia base --- */

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {font-weight: 400;}

b, strong {
    font-weight: 500;
}

label {font-weight: 500; color: #445244; }

.small { font-size: 90%; }

/* --- Utilitarios --- */

.nopadding { padding: 0 }

.text-cinza {color: #777;}

.rodape {text-align: center; margin: 15px 0 20px 0; }

/* --- Mascara de carregamento (div id="loading") --- */

#loading {display: none;position: fixed;top: 0;left: 0;right: 0;bottom: 0;width: 100%;
  background: rgba(0,0,0,0.75) url(../images/loading.gif) no-repeat center center;z-index: 10000; }

/* --- Espacamentos (margin/padding) --- */

.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}

/* =====================================================================
   FIM DA BASE HERDADA DO estilo.css
   ===================================================================== */

/* ---------------------------------------------------------------------
   Base / estrutura da página
   --------------------------------------------------------------------- */

html, body{
	height: 100%;
}

body{
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--ace-blue-pale);
	font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	color: var(--ace-navy);
}

@media (max-width: 768px){
	body{
		display: block;
		min-height: auto;
	}
}

/* Wrapper que centraliza vertical/horizontalmente o conteúdo */
.main-wrapper{
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
}

@media (max-width: 768px){
	.main-wrapper{
		padding: 28px 16px 0 16px;
	}
}

/* Pacote que mantém card + rodapé sempre juntos, empilhados */
.login-stack{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Telas de status simples (acesso bloqueado, manutenção, erro, sucesso...) */
.login-stack.login-stack--sm{
	max-width: 440px;
}

/* Telas com formulário mais alto (login, lembrar senha, recuperar senha) */
.login-stack.login-stack--md{
	max-width: 460px;
}

/* Telas com formulário longo (solicitar login, renovação, termo) */
.login-stack.login-stack--lg{
	max-width: 620px;
}

.login-stack .rodape{
	margin-top: 18px;
	text-align: center;
}

/* ---------------------------------------------------------------------
   Card principal (substitui o antigo .panel .panel-primary)

   Diferente do Painel da Entidade, aqui o card é sempre de coluna
   única: não existe a coluna com a imagem à direita.
   --------------------------------------------------------------------- */

.ace-login-card{
	width: 100%;
	background: #fff;
	border-radius: var(--ace-radius);
	border: 1px solid rgba(31, 32, 68, 0.06);
	box-shadow: 0 20px 45px -18px rgba(31, 32, 68, 0.35);
	overflow: hidden;
}

/* ---------------------------------------------------------------------
   Coluna de dados (formulário ou conteúdo de status)
   --------------------------------------------------------------------- */

.coluna-dados{
	position: relative;
	flex: 1 1 auto;
	width: 100%;
	padding: 40px 42px 44px 38px;
	box-sizing: border-box;
	background-color: #fff;
	background-image:
		radial-gradient(circle at 130% -40%, rgba(23,117,185,0.10) 0%, rgba(23,117,185,0) 38%),
		radial-gradient(circle at -30% 130%, rgba(23,117,185,0.07) 0%, rgba(23,117,185,0) 38%);
}

@media (max-width: 768px){
	.coluna-dados{
		padding: 30px 26px 34px 26px;
	}
}

/* Variante das telas com formulário: um pouco mais compacta */
.coluna-dados.coluna-dados--login{
	padding: 32px 38px;
}

@media (max-width: 768px){
	.coluna-dados.coluna-dados--login{
		padding: 28px 26px;
	}
}

/* Variante da tela de lembrar senha: mais respiro no rodapé para o
   link "Fazer login" não ficar colado na borda do card */
.coluna-dados.coluna-dados--lembrar{
	padding-bottom: 56px;
}

@media (max-width: 768px){
	.coluna-dados.coluna-dados--lembrar{
		padding-bottom: 34px;
	}
}

/* ---------------------------------------------------------------------
   Cabeçalho (logo + nome da entidade + badge do painel)
   --------------------------------------------------------------------- */

.ace-login-header{
	text-align: center;
}

.ace-login-logo{
	max-height: 200px;
	width: auto;
	display: block;
	margin: 0 auto 14px auto;
}

.ace-login-entidade{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ace-navy);
	margin: 0 0 8px 0;
}

.ace-login-painel-badge{
	display: inline-block;
	background: var(--ace-blue-pale);
	color: var(--ace-blue-dark);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 999px;
	margin-bottom: 24px;
}

/* Nas telas com formulário logo abaixo, o espaço antes do próximo
   elemento pode ser um pouco menor */
.ace-login-painel-badge.ace-login-painel-badge--tight{
	margin-bottom: 16px;
}

/* Subtitulo logo abaixo do badge ("Ambiente exclusivo para empresas") */
.ace-login-subtitulo{
	display: block;
	font-size: 12.5px;
	color: var(--ace-text-muted);
	margin: -12px 0 18px 0;
}

/* ---------------------------------------------------------------------
   Aviso informativo (ex.: "Preencha os dados abaixo para acessar")
   --------------------------------------------------------------------- */

.ace-login-intro{
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--ace-blue-dark);
	background: rgba(23, 117, 185, 0.10);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.5;
	margin: 0 0 18px 0;
	border: 1px solid rgba(23, 117, 185, 0.22);
	border-left: 3px solid var(--ace-blue);
	border-radius: 8px;
	padding: 11px 14px;
	text-align: left;
}

.ace-login-intro i{
	margin-top: 2px;
	color: var(--ace-blue);
}

/* ---------------------------------------------------------------------
   Campos de formulário
   --------------------------------------------------------------------- */

.form-group label.small{
	color: var(--ace-navy);
	font-weight: 600;
	margin-bottom: 6px;
}

.ace-login-card .form-group{
	margin-bottom: 12px;
}

.ace-login-card .form-group.mt-3{
	margin-top: 12px;
}

.ace-login-card .input-group-addon{
	background: var(--ace-blue-pale);
	border: 1px solid var(--ace-border);
	border-right: none;
	color: var(--ace-blue-dark);
}

.ace-login-card .form-control{
	border: 1px solid var(--ace-border);
	box-shadow: none;
	height: 40px;
}

.ace-login-card .form-control:focus{
	border-color: var(--ace-blue);
	box-shadow: 0 0 0 3px rgba(23, 117, 185, 0.15);
}

#show-password,
#show-password2{
	background-color: #fff;
	border: 1px solid var(--ace-border);
	border-left: none;
	cursor: pointer;
}

/* Evita que o autofill do navegador (fundo amarelado) conflite com o
   cartão de aviso acima: mantém o campo branco mesmo autopreenchido. */
.ace-login-card .form-control:-webkit-autofill,
.ace-login-card .form-control:-webkit-autofill:hover,
.ace-login-card .form-control:-webkit-autofill:focus{
	-webkit-text-fill-color: var(--ace-navy);
	-webkit-box-shadow: 0 0 0px 1000px #fff inset;
	box-shadow: 0 0 0px 1000px #fff inset;
	transition: background-color 9999s ease-in-out 0s;
}

.ace-login-dica{
	color: var(--ace-text-muted);
	font-size: 12.5px;
	font-style: normal;
	margin-top: 6px;
	text-align: left;
}

/* ---------------------------------------------------------------------
   Botão principal de ação. Todos os botões/links de ação (login,
   recuperar senha, "tente novamente", "fazer login" etc.) usam as
   mesmas classes do Bootstrap que o botão de login já usava:
   btn btn-primary btn-block — assim têm sempre o mesmo visual.

   Escopamos com .ace-login-card na frente para que a especificidade
   (duas classes) sempre vença a regra genérica ".ace-login-card a"
   abaixo — sem isso, o texto do link ficaria escuro em vez de branco.
   --------------------------------------------------------------------- */

.ace-login-card .btn-primary{
	display: block;
	width: 100%;
	box-sizing: border-box;
	background: var(--ace-blue);
	border: 1px solid var(--ace-blue);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .01em;
	text-align: center;
	text-decoration: none;
	height: 42px;
	line-height: 40px;
	padding: 0 16px;
	border-radius: 6px;
	margin-top: 12px;
	transition: background-color .15s ease, border-color .15s ease;
}

.ace-login-card .btn-primary:hover,
.ace-login-card .btn-primary:focus{
	background: var(--ace-blue-dark);
	border-color: var(--ace-blue-dark);
	color: #fff;
	text-decoration: none;
}

.ace-login-card hr{
	border-top: 1px solid var(--ace-border);
	margin-top: 16px;
	margin-bottom: 0;
}

.ace-login-card .col-md-12.nopadding{
	margin-top: 0;
}

.ace-login-card a{
	color: var(--ace-blue-dark);
}

.ace-login-card .col-md-12.mt-3.text-left.nopadding.small{
	margin-top: 16px !important;
	margin-bottom: 20px !important;
}

/* ---------------------------------------------------------------------
   Caixa de destaque (bs-callout)
   ---------------------------------------------------------------------
   Usada no login.php quando o candidato chega a partir de uma vaga, e
   no cadastro.php. As regras vinham do estilo.css; como estas telas
   nao o carregam mais, elas passam a viver aqui.
   --------------------------------------------------------------------- */

.ace-login-card .bs-callout{
	padding: 12px 14px;
	margin: 0 0 14px 0;
	font-size: 13px;
	line-height: 1.5;
	text-align: left;
	background: var(--ace-surface, #F8FAFC);
	border: 1px solid var(--ace-border);
	border-left: 3px solid #94A3B8;
	border-radius: 8px;
}

.ace-login-card .bs-callout h4{
	margin-top: 0;
	margin-bottom: 5px;
	font-size: 15px;
}

.ace-login-card .bs-callout p:last-child{
	margin-bottom: 0;
}

.ace-login-card .bs-callout-primary,
.ace-login-card .bs-callout-info{
	border-left-color: var(--ace-blue);
}

.ace-login-card .bs-callout-success{
	border-left-color: var(--ace-success);
}

.ace-login-card .bs-callout-danger{
	border-left-color: var(--ace-danger);
}

.ace-login-card .bs-callout-warning{
	border-left-color: #D98E04;
}

/* ---------------------------------------------------------------------
   Bloco de status (acesso bloqueado, sucesso, erro, manutenção...)
   --------------------------------------------------------------------- */

.ace-status-block{
	text-align: center;
}

.ace-status-block > img{
	margin-bottom: 18px;
}

.ace-status-title{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--ace-danger-pale);
	color: var(--ace-danger);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 7px 14px;
	border-radius: 999px;
	margin: 0 0 14px 0;
}

/* Variante verde para mensagens de sucesso (e-mail enviado, senha
   atualizada) */
.ace-status-title.ace-status-title--success{
	background: var(--ace-success-pale);
	color: var(--ace-success);
}

.ace-status-desc{
	font-size: 13.5px;
	color: var(--ace-text-muted);
	line-height: 1.55;
	margin: 0 0 24px 0;
}

/* Quando não há botão de ação depois (ex.: conta desativada, você foi
   desconectado), remove a margem inferior extra */
.ace-status-desc.ace-status-desc--last{
	margin-bottom: 0;
}

/* ---------------------------------------------------------------------
   Ajustes para telas com pouca altura
   --------------------------------------------------------------------- */

@media (max-height: 800px) and (min-width: 769px){

	.main-wrapper{
		padding: 16px 20px;
	}

	.coluna-dados.coluna-dados--login{
		padding: 20px 32px;
	}

	.ace-login-entidade{
		font-size: 18px;
		margin-bottom: 5px;
	}

	.ace-login-painel-badge.ace-login-painel-badge--tight{
		margin-bottom: 10px;
	}

	.ace-login-subtitulo{
		margin: -6px 0 10px 0;
	}

	.ace-login-intro{
		padding: 8px 12px;
		margin-bottom: 10px;
	}

	.ace-login-card .form-group.mt-3{
		margin-top: 6px !important;
		margin-bottom: 6px;
	}

	.form-group label.small{
		margin-bottom: 3px;
	}

	.ace-login-card .form-control{
		height: 34px;
	}

	.ace-login-card .btn-primary{
		height: 36px;
		line-height: 34px;
		margin-top: 8px !important;
	}

	.ace-login-card hr.mt-4{
		margin-top: 12px !important;
	}

	.ace-login-card .col-md-12.mt-3.text-left.nopadding.small{
		margin-top: 10px !important;
		margin-bottom: 8px !important;
	}

	.login-stack .rodape{
		margin-top: 10px;
	}

}