
@CHARSET "UTF-8";

/*
* {
	margin: 0;
	padding: 0;
	outline: 0;
	box-sizing: border-box;
}
*/

/*html, body, #root {*/
/*	font-family: "Open Sans", "Helvetica Neue", sans-serif, -apple-system,*/
/*		BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,*/
/*		"Noto Sans", sans-serif, "Apple Color Emoji", Segoe UI Emoji,*/
/*		"Segoe UI Symbol", "Noto Color Emoji" !important;*/
/*	font-size: 14px !important;*/
/*	height: 100%;*/
/*}*/

/*.ui-widget {*/
/*	font-family: "Open Sans", "Helvetica Neue", sans-serif, -apple-system,*/
/*		BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,*/
/*		"Noto Sans", sans-serif, "Apple Color Emoji", Segoe UI Emoji,*/
/*		"Segoe UI Symbol", "Noto Color Emoji" !important;*/
/*	font-size: 14px !important;*/
/*}*/

/*
Movido para os arquivos primefaces_light/primefaces_dark para ajustar as cores 
a:-webkit-any-link {
	color: #007ad9;
	cursor: pointer;
	text-decoration: none;
}
*/

button {
	outline: 0 !important;
}

.description_field {
	font-weight: bold;
}

.texto_size_10 {
	font-family: "Open Sans", "Helvetica Neue", sans-serif, -apple-system,
		BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
		"Noto Sans", sans-serif, "Apple Color Emoji", Segoe UI Emoji,
		"Segoe UI Symbol", "Noto Color Emoji" !important;
	font-size: 10px !important;
}

.texto_size_12 {
	font-family: "Open Sans", "Helvetica Neue", sans-serif, -apple-system,
		BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
		"Noto Sans", sans-serif, "Apple Color Emoji", Segoe UI Emoji,
		"Segoe UI Symbol", "Noto Color Emoji" !important;
	font-size: 12px !important;
}

.texto_size_13 {
	font-family: "Open Sans", "Helvetica Neue", sans-serif, -apple-system,
		BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
		"Noto Sans", sans-serif, "Apple Color Emoji", Segoe UI Emoji,
		"Segoe UI Symbol", "Noto Color Emoji" !important;
	font-size: 13px !important;
}

.texto_size_14 {
	font-family: "Open Sans", "Helvetica Neue", sans-serif, -apple-system,
		BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
		"Noto Sans", sans-serif, "Apple Color Emoji", Segoe UI Emoji,
		"Segoe UI Symbol", "Noto Color Emoji" !important;
	font-size: 14px !important;
}

.texto_size_15 {
	font-family: "Open Sans", "Helvetica Neue", sans-serif, -apple-system,
		BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
		"Noto Sans", sans-serif, "Apple Color Emoji", Segoe UI Emoji,
		"Segoe UI Symbol", "Noto Color Emoji" !important;
	font-size: 15px !important;
}

.texto_20 {
	font-family: "Open Sans", "Helvetica Neue", sans-serif, -apple-system,
		BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
		"Noto Sans", sans-serif, "Apple Color Emoji", Segoe UI Emoji,
		"Segoe UI Symbol", "Noto Color Emoji" !important;
	font-size: 20px !important;
}

.texto_destaque {
	font-weight: bold;
	color: blue;
}

.texto_destaque_warning {
	font-weight: bold;
	color: red !important;
}

button.not_so_importante_button, span.not_so_importante_button button {
	background: none;
	color: #007ad9;
	opacity: .9
}

button.not_so_importante_button:hover, span.not_so_importante_button button:hover,
	button.not_so_importante_button:focus, span.not_so_importante_button button:focus
	{
	color: #007ad9;
	background: none;
	opacity: 1;
}

.mobile_only {
	display: none !important;
}

.desktop_only {
	display: initial !important;
}

.page_logo_wrapper {
	text-align: center;
}

.page_logo {
	width: 150px;
}

@media ( max-width : 767px ) {
	.mobile_only {
		display: initial !important;
	}
	.desktop_only {
		display: none !important;
	}
}

/* Botão selecionado de p:selectOneButton / p:selectManyButton: no PrimeFaces 16 o texto interno
   (.ui-button-text) não herdava a cor do botão e ficava de cor parecida com o fundo (quase ilegível).
   Texto branco pleno, em todas as telas. */
body .ui-selectonebutton .ui-button.ui-state-active,
body .ui-selectonebutton .ui-button.ui-state-active .ui-button-text,
body .ui-selectonebutton .ui-button.ui-state-active .ui-icon,
body .ui-selectmanybutton .ui-button.ui-state-active,
body .ui-selectmanybutton .ui-button.ui-state-active .ui-button-text,
body .ui-selectmanybutton .ui-button.ui-state-active .ui-icon {
	color: #fff;
	opacity: 1;
}

/* Cabeçalho de tabela cujo único conteúdo é a busca global (.ds-busca): campo à DIREITA, como no padrão
   das telas novas. Vale para tabelas que não usam .ds-card-table (ex.: .products-table das telas de
   pesquisa antigas já convertidas para o filtro global). */
body .ui-datatable > .ui-datatable-header:has(> .ds-busca) {
	display: flex;
	justify-content: flex-end;
}

/* Sem o contorno azul nas células das tabelas. No PrimeFaces 16 a célula de p:dataTable virou focável
   (td role="gridcell" tabindex="0", para navegar por teclado) e o PrimeFaces desenha
   ".ui-datatable-data td[role=gridcell]:focus { outline: 2px solid var(--primary-color) }" - então
   cada clique numa coluna deixava um retângulo azul em volta dela. O "body" na frente sobe a força
   sobre a regra do core, que tem a mesma especificidade. */
body .ui-datatable-data td[role="gridcell"]:focus,
body .ui-datatable-data td[role="gridcell"]:focus-visible,
body .ui-datatable-data td[role="grid"] [tabindex="0"]:focus {
	outline: none;
}

/* "X" que limpa o campo de pesquisa das grades - ver resources/js/filtro_tabela.js. Nasce
   escondido e o JS mostra/esconde conforme o campo tem texto. Funciona nos dois tipos de
   "caixinha de filtro" usados no projeto: os wrappers flex próprios de algumas telas
   (.tabpad-global-search, .sup-global-search, .analise-global-search, ...) e o "ui-input-icon-left"
   do tema. */
/* O primeicons.css do Rain (carregado DEPOIS deste arquivo) tem ".pi { display: inline-block }", com a
   MESMA força de ".filtro-tabela-limpar" - e vencia por vir depois: o X aparecia com o campo vazio e, sem ser flex, o
   "x" caía no canto da caixa de 20px. ".pi" junto sobe a força e não depende da ordem dos CSS. */
.filtro-tabela-limpar.pi {
	display: none;
}

.filtro-tabela-limpar {
	display: none;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	border-radius: 50%;
	font-size: .8rem;
	color: var(--text-color-secondary, #6c757d);
	cursor: pointer;
}

.filtro-tabela-limpar:hover {
	background: var(--surface-border, #dee2e6);
	color: var(--text-color, #212529);
}

/* No "ui-input-icon-left" o tema posiciona TODO <i> filho do span à esquerda, absoluto
   (body .ui-input-icon-left > i { left: .5rem }) - sem estas duas regras o X cairia em cima da
   lupa, e o texto digitado passaria por baixo dele. */
body .ui-input-icon-left > i.filtro-tabela-limpar {
	left: auto;
	right: .5rem;
	margin-top: -10px;
}

body .ui-input-icon-left:has(> .filtro-tabela-limpar) > input.ui-inputtext {
	padding-right: 2rem;
}

.ui-message.remove-estilo-mensagem {
	background: none !important;
	border: none !important;
	padding: 0px !important;
	margin: 0px !important;
}

.ui-growl {
	top: 50px !important;
}

/* ═══ Aviso de falha AJAX no growl global (praticAvisarFalhaAjax, WEB-INF/templates/notifications.xhtml).
   Aqui e não no design_system.css porque aquele arquivo não é carregado em todas as páginas, e este
   aviso aparece no sistema inteiro. ═══ */
.pratic-erro-ajax-resumo {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
	font-size: .85rem;
}

.pratic-erro-ajax-codigo {
	font-family: monospace;
	font-weight: 700;
	user-select: all;
}

.pratic-erro-ajax-detalhes {
	margin-top: 8px;
}

.pratic-erro-ajax-detalhes > summary {
	cursor: pointer;
	font-weight: 600;
	text-decoration: underline;
}

.pratic-erro-ajax-linha {
	display: flex;
	gap: 6px;
	margin-top: 4px;
	font-size: .85rem;
}

.pratic-erro-ajax-rotulo {
	flex: 0 0 auto;
	font-weight: 600;
	margin-top: 4px;
	font-size: .85rem;
}

.pratic-erro-ajax-linha .pratic-erro-ajax-rotulo {
	margin-top: 0;
}

.pratic-erro-ajax-rotulo::after {
	content: ":";
}

.pratic-erro-ajax-valor {
	word-break: break-word;
}

.pratic-erro-ajax-tecnico {
	font-family: monospace;
	font-size: .78rem;
	background: rgba(0, 0, 0, .06);
	border-radius: 6px;
	padding: 6px 8px;
	margin-top: 4px;
	white-space: pre-wrap;
	word-break: break-word;
	max-height: 160px;
	overflow: auto;
}

.pratic-erro-ajax-copiar {
	margin-top: 8px;
	padding: 4px 10px;
	border: 1px solid currentColor;
	border-radius: 6px;
	background: transparent;
	color: inherit;
	font-size: .8rem;
	cursor: pointer;
}

.pratic-erro-ajax-copiar:hover {
	background: rgba(0, 0, 0, .06);
}