/*
 * PrimeFaces 15 – compatibilidade tema Castanhal – MODULO NFSA-e.
 * Nao copiar do tributario: la usa abas (ui-tabs), layout #container e cor roxa (#8B49A7).
 * NFSA-e: layout #container2 + panelMenu lateral; cor institucional (#01579B).
 * Carregar por ultimo (_estilosPf15Compat.xhtml no fim do body).
 */

:root {
	--castanhal: #01579B;
	--castanhal-hover: #0B4979;
	--castanhal-dark: #044C86;
	--primary-color: #01579B;
	--table-header: #044C86;
	--input-bg: #ffffff;
	--input-text: #666666;
	--input-border: #abadb3;
}

.bd-radius,
.boxlogin,
.btn-padrao,
.btn-padrao2,
.ui-dialog,
.ui-panel:not(.ui-inputfield) {
	border-radius: 5px !important;
}

/*
 * Layout protocolo (#container2): menu a esquerda, conteudo ao lado.
 * PF15 pode forcar clear no panelMenu e empurrar .centroRestrito2 para baixo do menu.
 */
#container2 {
	display: block !important;
	width: 100% !important;
	overflow: hidden;
	position: relative;
}

#container2::after {
	content: "";
	display: table;
	clear: both;
}

#container2 .esquerda2,
#container2 .esquerda3 {
	float: left !important;
	clear: none !important;
	width: 15% !important;
	min-width: 190px;
	max-width: 220px;
	margin-bottom: 20px;
	border-radius: 3px;
	overflow: hidden;
}

#container2 .centroRestrito2 {
	float: left !important;
	clear: none !important;
	width: 83% !important;
	margin-left: 2% !important;
	min-height: 0 !important;
	margin-bottom: 20px;
}

#container2 .centroRestrito-inner {
	min-height: 0 !important;
}

.esquerda2 form,
.esquerda3 form,
.esquerda2 .myDiv,
.esquerda3 .myDiv,
.esquerda2 .ui-panelmenu,
.esquerda3 .ui-panelmenu {
	clear: none !important;
	float: none !important;
	max-width: 100%;
}

.ui-panelmenu {
	clear: none !important;
}

/* PanelMenu lateral */
.ui-panelmenu {
	width: 100% !important;
	max-width: 190px;
	border-radius: 5px !important;
	overflow: hidden;
}

.ui-panelmenu .ui-panelmenu-panel {
	padding: 0 !important;
}

.ui-panelmenu .ui-panelmenu-header,
.ui-panelmenu .ui-panelmenu-header.ui-state-default,
.ui-panelmenu .ui-panelmenu-header.ui-state-active,
.ui-panelmenu .ui-panelmenu-header.ui-state-hover {
	cursor: pointer;
	background: var(--castanhal) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--castanhal-dark) !important;
}

.ui-panelmenu .ui-panelmenu-header a,
.ui-panelmenu .ui-panelmenu-header.ui-state-default a,
.ui-panelmenu .ui-panelmenu-header.ui-state-active a {
	display: block !important;
	font-size: 14px !important;
	padding: 10px 10px 10px 27px !important;
	color: #fff !important;
	text-shadow: none !important;
}

.ui-panelmenu .ui-panelmenu-header .ui-icon,
.ui-panelmenu .ui-panelmenu-header .ui-icon-triangle-1-e,
.ui-panelmenu .ui-panelmenu-header .ui-icon-triangle-1-s {
	position: absolute !important;
	left: 0.5em !important;
	top: 50% !important;
	margin-top: -8px !important;
	color: #fff !important;
	filter: none !important;
}

.ui-panelmenu .ui-panelmenu-content {
	padding: 0 !important;
	border-top: 0 !important;
	margin: -1px 0 1px 0 !important;
	background: #ccc !important;
	border-radius: 0 !important;
}

.ui-panelmenu .ui-menuitem {
	width: 100% !important;
	float: left !important;
	clear: both !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #ECECEC !important;
}

.ui-panelmenu .ui-menuitem-link,
.ui-panelmenu .ui-menuitem-link.ui-state-default,
.ui-panelmenu .ui-menuitem .ui-state-default {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 8px 10px !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	color: #666 !important;
	border: 0 !important;
	float: left !important;
	line-height: 16px !important;
	font-weight: 400 !important;
	background: transparent !important;
	text-shadow: none !important;
}

.ui-panelmenu .ui-menuitem-link:hover,
.ui-panelmenu .ui-menuitem-link.ui-state-hover {
	background: #BBBBBB !important;
	color: #666 !important;
}

.ui-panelmenu .ui-menuitem-text {
	float: left !important;
}

/* Menubar publico (PF15) */
.ui-menubar {
	width: auto !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.ui-menubar .ui-menubar-root-list,
.ui-menubar > .ui-menu-list {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ui-menubar .ui-menuitem {
	width: auto !important;
	clear: none !important;
	float: none !important;
	position: relative !important;
	display: block !important;
}

.ui-menubar .ui-menu-parent > .ui-menu-child,
.ui-menubar ul.ui-menu-child {
	display: none !important;
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	min-width: 220px !important;
	padding: 6px 0 !important;
	margin: 0 !important;
	z-index: 1200 !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
}

.ui-menubar .ui-menu-parent:hover > .ui-menu-child,
.ui-menubar .ui-menu-parent.ui-menuitem-active > .ui-menu-child {
	display: block !important;
}

.ui-menubar .ui-menu-child .ui-menuitem {
	width: 100% !important;
	clear: both !important;
	float: none !important;
	display: block !important;
}

.ui-menubar .ui-menu-child .ui-menuitem-link,
.ui-menubar .ui-menu-child .ui-menuitem-link.ui-state-default {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 10px 16px !important;
	background: #fff !important;
	color: var(--castanhal) !important;
	font-weight: normal !important;
	text-align: left !important;
	border-radius: 0 !important;
}

.ui-menubar .ui-menu-child .ui-menuitem-link:hover,
.ui-menubar .ui-menu-child .ui-menuitem-link.ui-state-hover {
	background: #e8f1f8 !important;
	color: var(--castanhal-hover) !important;
}

.menu-topo .ui-menubar,
.menu-topo form {
	overflow: visible !important;
}

/* Campos: fundo branco (PF15 aplica ui-state-default roxo em inputs) */
.ui-inputfield.ui-state-default,
.ui-widget-content .ui-inputfield.ui-state-default,
.ui-inputtextarea.ui-state-default,
.ui-selectonemenu .ui-selectonemenu-label,
.ui-selectonemenu label.ui-selectonemenu-label,
.ui-selectonemenu input.ui-selectonemenu-label,
.ui-autocomplete-input.ui-state-default,
input.ui-inputfield,
textarea.ui-inputfield {
	background: var(--input-bg) !important;
	color: var(--input-text) !important;
	border: 1px solid var(--input-border) !important;
	box-shadow: none !important;
	font-weight: normal !important;
	border-radius: 5px !important;
}

.ui-inputfield.ui-state-hover,
.ui-inputfield.ui-state-focus,
.ui-selectonemenu .ui-selectonemenu-label.ui-state-hover,
.ui-selectonemenu .ui-selectonemenu-label.ui-state-focus {
	background: var(--input-bg) !important;
	color: var(--input-text) !important;
	border: 1px solid var(--input-border) !important;
}

.ui-selectonemenu {
	background: transparent !important;
}

.ui-selectonemenu .ui-selectonemenu-trigger.ui-state-default,
.ui-selectonemenu .ui-selectonemenu-trigger {
	background: var(--castanhal) !important;
	border: 0 !important;
	color: #fff !important;
	border-radius: 0 5px 5px 0 !important;
}

/*
 * p:spinner – setas integradas à direita do input (theme.css legado; PF15 quebrava com border-radius dos botoes).
 */
.ui-spinner.ui-widget,
.ui-spinner {
	display: inline-block !important;
	overflow: hidden !important;
	padding: 0 1.6em 0 0 !important;
	position: relative !important;
	vertical-align: middle !important;
	border-radius: 5px !important;
	border: 1px solid #abadb3 !important;
	box-sizing: border-box !important;
	background: #fff !important;
	width: auto !important;
	min-width: 5.5em !important;
	min-height: 2em !important;
}

.ui-spinner .ui-spinner-input,
.ui-spinner input.ui-spinner-input,
.ui-spinner .ui-inputfield.ui-spinner-input {
	vertical-align: middle !important;
	text-align: left !important;
	padding: 4px 6px !important;
	border: 0 !important;
	border-radius: 5px 0 0 5px !important;
	background: #fff !important;
	color: #666 !important;
	box-shadow: none !important;
	font-weight: normal !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 3em !important;
	min-height: 1.8em !important;
}

.ui-spinner .ui-spinner-button,
.ui-spinner a.ui-spinner-button,
.ui-spinner button.ui-spinner-button,
.ui-spinner .ui-spinner-button.ui-button,
.ui-spinner .ui-spinner-button.ui-state-default,
.ui-spinner .ui-spinner-button.ui-button-text-only {
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: inherit !important;
	width: 1.6em !important;
	min-width: 1.6em !important;
	max-width: 1.6em !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	right: 0 !important;
	left: auto !important;
	z-index: 2 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--castanhal, var(--primary-color, #8B49A7)) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-weight: normal !important;
	line-height: 1 !important;
}

.ui-spinner .ui-spinner-button.ui-spinner-up,
.ui-spinner a.ui-spinner-up,
.ui-spinner button.ui-spinner-up {
	top: 0 !important;
	bottom: 50% !important;
	height: auto !important;
	border-radius: 0 5px 0 0 !important;
}

.ui-spinner .ui-spinner-button.ui-spinner-down,
.ui-spinner a.ui-spinner-down,
.ui-spinner button.ui-spinner-down {
	top: 50% !important;
	bottom: 0 !important;
	height: auto !important;
	border-radius: 0 0 5px 0 !important;
}

.ui-spinner .ui-spinner-button.ui-state-hover,
.ui-spinner a.ui-spinner-button.ui-state-hover,
.ui-spinner button.ui-spinner-button.ui-state-hover {
	background: var(--castanhal-hover, #6B3682) !important;
	color: #fff !important;
}

/* PF15: icone fica dentro de .ui-button-text — nao ocultar o wrapper */
.ui-spinner .ui-spinner-button .ui-button-text {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	height: 100% !important;
	line-height: 1 !important;
	overflow: visible !important;
	text-indent: 0 !important;
}

.ui-spinner .ui-spinner-button .ui-icon,
.ui-spinner .ui-spinner-button .ui-button-icon-left,
.ui-spinner .ui-icon {
	display: inline-block !important;
	position: static !important;
	left: auto !important;
	top: auto !important;
	margin: 0 !important;
	transform: none !important;
	width: auto !important;
	height: auto !important;
	text-indent: 0 !important;
	overflow: visible !important;
	background: none !important;
	background-image: none !important;
	color: #fff !important;
	font: normal normal normal 10px/1 FontAwesome !important;
	font-size: 10px !important;
	line-height: 1 !important;
}

.ui-spinner .ui-spinner-up .ui-icon::before,
.ui-spinner .ui-spinner-up .ui-button-icon-left::before,
.ui-spinner .ui-icon-triangle-1-n::before {
	content: "\f0d8" !important;
}

.ui-spinner .ui-spinner-down .ui-icon::before,
.ui-spinner .ui-spinner-down .ui-button-icon-left::before,
.ui-spinner .ui-icon-triangle-1-s::before {
	content: "\f0d7" !important;
}


.ui-selectonemenu .ui-selectonemenu-trigger .ui-icon {
	color: #fff !important;
}

.ui-selectonemenu .ui-selectonemenu-trigger.ui-state-hover {
	background: var(--castanhal-hover) !important;
}


/*
 * p:calendar — botao roxo com icone ao lado do input (PF15 / tema legado sem sprites ui-icons).
 */
.ui-calendar.ui-trigger-calendar,
.ui-calendar:has(> .ui-datepicker-trigger) {
	display: inline-flex !important;
	align-items: stretch !important;
	vertical-align: middle !important;
	position: relative !important;
	white-space: nowrap !important;
}

.ui-calendar.ui-trigger-calendar > .ui-inputfield,
.ui-calendar.ui-trigger-calendar > input.hasDatepicker,
.ui-calendar:has(> .ui-datepicker-trigger) > .ui-inputfield,
.ui-calendar:has(> .ui-datepicker-trigger) > input.hasDatepicker {
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	flex: 0 1 auto !important;
}

.ui-calendar .ui-datepicker-trigger,
.ui-calendar .ui-datepicker-trigger.ui-button,
.ui-datepicker-trigger.ui-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 2.4em !important;
	min-width: 2.4em !important;
	min-height: 1.8em !important;
	padding: 0 !important;
	margin: 0 0 0 -1px !important;
	vertical-align: middle !important;
	background: var(--castanhal) !important;
	border: 0 !important;
	color: #fff !important;
	border-radius: 0 5px 5px 0 !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
	position: static !important;
	overflow: visible !important;
}

.ui-fluid .ui-calendar.ui-trigger-calendar,
.ui-fluid .ui-calendar:has(> .ui-datepicker-trigger) {
	display: block !important;
	width: 100% !important;
}

.ui-fluid .ui-calendar.ui-trigger-calendar > .ui-inputfield,
.ui-fluid .ui-calendar.ui-trigger-calendar > input.hasDatepicker,
.ui-fluid .ui-calendar:has(> .ui-datepicker-trigger) > .ui-inputfield,
.ui-fluid .ui-calendar:has(> .ui-datepicker-trigger) > input.hasDatepicker {
	width: 100% !important;
	padding-right: 2.6em !important;
	box-sizing: border-box !important;
}

.ui-fluid .ui-calendar .ui-datepicker-trigger.ui-button,
.ui-fluid .ui-calendar .ui-datepicker-trigger {
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	height: auto !important;
	margin: 0 !important;
}

.ui-calendar .ui-datepicker-trigger .ui-button-text {
	display: none !important;
}

.ui-calendar .ui-datepicker-trigger .ui-icon,
.ui-calendar .ui-datepicker-trigger .ui-button-icon-left {
	display: inline-block !important;
	position: static !important;
	width: 14px !important;
	height: 14px !important;
	margin: 0 !important;
	left: auto !important;
	top: auto !important;
	text-indent: 0 !important;
	overflow: visible !important;
	background: none !important;
	background-image: none !important;
	font: normal normal normal 14px/1 FontAwesome !important;
	font-size: 14px !important;
	line-height: 1 !important;
	color: #fff !important;
}

.ui-calendar .ui-datepicker-trigger .ui-icon::before,
.ui-calendar .ui-datepicker-trigger .ui-button-icon-left::before {
	content: "\f073" !important;
}

.ui-calendar .ui-datepicker-trigger.ui-state-hover,
.ui-calendar .ui-datepicker-trigger.ui-button.ui-state-hover,
.ui-datepicker-trigger.ui-button.ui-state-hover {
	background: var(--castanhal-hover, #6B3682) !important;
	color: #fff !important;
}

.ui-fieldset .ui-fieldset-legend {
	background: #ccc !important;
	color: #666 !important;
	border: 1px solid #ccc !important;
}

/*
 * Checkboxes (PF15 + tema sem sprites ui-icons_*.png): caixa visivel e marcacao via CSS.
 */
.ui-chkbox {
	display: inline-block !important;
	vertical-align: middle !important;
}

.ui-chkbox .ui-chkbox-box {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	min-height: 16px !important;
	display: inline-block !important;
	background: #fff !important;
	border: 1px solid #888 !important;
	border-radius: 3px !important;
	position: relative !important;
	box-sizing: border-box !important;
}

.ui-chkbox .ui-chkbox-box.ui-state-default,
.ui-chkbox .ui-chkbox-box.ui-state-active,
.ui-chkbox .ui-chkbox-box.ui-state-hover,
.ui-chkbox .ui-chkbox-box.ui-state-focus {
	background: #fff !important;
	border: 1px solid #888 !important;
	color: inherit !important;
}

.ui-datatable .ui-selection-column {
	width: 32px !important;
	min-width: 32px !important;
	text-align: center !important;
	overflow: visible !important;
}

.ui-datatable .ui-selection-column .ui-chkbox,
.ui-datatable .ui-selection-column .ui-chkbox-all {
	display: inline-block !important;
	margin: 0 auto !important;
}

.ui-datatable .ui-chkbox .ui-chkbox-icon,
.ui-datatable .ui-chkbox .ui-icon,
.ui-datatable .ui-chkbox .ui-icon-blank,
.ui-datatable .ui-chkbox .ui-icon-check {
	text-indent: 0 !important;
	overflow: visible !important;
	width: 14px !important;
	height: 14px !important;
	background: none !important;
	background-image: none !important;
	display: inline-block !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	margin: 0 !important;
}

.ui-datatable .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon::before,
.ui-datatable .ui-chkbox .ui-chkbox-box.ui-state-active .ui-icon-check::before {
	content: '\2713' !important;
	color: var(--castanhal) !important;
	font-size: 14px !important;
	font-weight: bold !important;
	line-height: 1 !important;
}

.ui-datatable .ui-chkbox .ui-chkbox-box:not(.ui-state-active) .ui-icon-check,
.ui-datatable .ui-chkbox .ui-chkbox-box:not(.ui-state-active) .ui-chkbox-icon.ui-icon-check {
	display: none !important;
}

/* Botoes e titulos de panel/dialog (vermelho Castanhal) */
.ui-button.ui-state-default,
.ui-datepicker-trigger.ui-button,
.ui-buttonset .ui-button.ui-state-default,
.ui-fileupload-buttonbar .ui-button.ui-state-default,
.ui-menubar .ui-menuitem-link.ui-state-default {
	border: 0 !important;
	background: var(--castanhal) !important;
	color: #fff !important;
	border-radius: 5px !important;
}

.ui-button.ui-state-hover,
.ui-button.ui-state-focus,
.ui-selectonemenu .ui-selectonemenu-trigger.ui-state-hover,
.ui-calendar .ui-datepicker-trigger.ui-button.ui-state-hover {
	background: var(--castanhal-hover) !important;
	color: #fff !important;
}

.ui-button.ui-state-active,
.ui-paginator .ui-paginator-page.ui-state-active {
	background: var(--castanhal-dark) !important;
	color: #fff !important;
}

.btn-padrao.ui-button,
.btn-padrao,
.btn-padrao2.ui-button,
.btn-padrao2 {
	background: var(--castanhal) !important;
	border: 0 !important;
	color: #fff !important;
}

.ui-panel .ui-panel-titlebar,
.ui-dialog .ui-dialog-titlebar {
	background: var(--castanhal) !important;
	color: #fff !important;
	border: 0 !important;
}

.ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon,
.ui-dialog .ui-dialog-titlebar-icon {
	color: #fff !important;
}

/*
 * DataTable – alinhar a producao (fundo #ccc nas linhas, texto escuro legivel).
 * theme.css aplica ui-state-default com color:#fff nos filhos – texto some no fundo claro.
 */
.ui-datatable thead th,
.ui-datatable tbody td,
.ui-datatable-tablewrapper > table > thead > tr > th,
.ui-datatable-tablewrapper > table > tbody > tr > td {
	overflow: hidden !important;
	white-space: normal !important;
	word-wrap: break-word !important;
	overflow-wrap: anywhere !important;
}

.ui-datatable thead th:has(.ui-calendar),
.ui-datatable tbody td:has(.ui-calendar),
.ui-datatable thead th:has(.ui-column-filter),
.ui-datatable tbody td:has(.ui-column-filter) {
	overflow: visible !important;
}

.ui-datatable-tablewrapper > table > thead > tr > th,
.ui-datatable > .ui-datatable-tablewrapper > table > thead > tr > th,
.ui-datatable thead th.tabela-table-header,
.ui-datatable thead th.ui-state-default,
.ui-datatable-tablewrapper > table > thead > tr > th.ui-state-default {
	border-radius: 0 !important;
	background: var(--table-header, var(--castanhal-dark, #044C86)) !important;
	font-weight: bold !important;
	color: #fff !important;
	text-shadow: none !important;
	vertical-align: top !important;
	line-height: 1.25 !important;
	font-size: 11px !important;
}

.ui-datatable .ui-datatable-data > tr > td,
.ui-datatable-tablewrapper > table > tbody.ui-datatable-data > tr > td,
.ui-datatable-tablewrapper > table > tbody > tr > td {
	background: #ccc !important;
	color: #333 !important;
	border: 1px solid #f4f4f4 !important;
	vertical-align: top !important;
}

/* Selecao: texto vermelho, sem pintar a linha de vermelho (theme ui-state-highlight) */
.ui-datatable .ui-datatable-data > tr.ui-state-highlight,
.ui-datatable-tablewrapper > table > tbody > tr.ui-state-highlight {
	background: transparent !important;
}

.ui-datatable-tablewrapper > table > tbody > tr > td.colSelected,
.ui-datatable-tablewrapper > table > tbody > tr.ui-state-highlight > td,
.ui-datatable > .ui-datatable-tablewrapper > table > tbody > .ui-state-highlight > td {
	background: #ccc !important;
	color: var(--castanhal) !important;
	font-weight: bold !important;
}

/* Conteudo das celulas: nao herdar botao/input ui-state-default (branco sobre cinza) */
.ui-datatable tbody td .ui-outputlabel,
.ui-datatable tbody td .ui-outputlabel.ui-state-default,
.ui-datatable tbody td label,
.ui-datatable tbody td span:not(.ui-button-text),
.ui-datatable tbody td .ui-widget-content,
.ui-datatable tbody td .ui-state-default:not(.ui-button):not(.ui-chkbox-box):not(.ui-commandlink):not(.ui-separator) {
	color: #333 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-weight: inherit !important;
	text-shadow: none !important;
}

.ui-datatable thead th .ui-outputlabel,
.ui-datatable thead th span:not(.ui-icon),
.ui-datatable thead th label,
.ui-datatable thead th .ui-widget-content,
.ui-datatable thead th .ui-state-default:not(.ui-column-filter):not(input) {
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-weight: bold !important;
	text-shadow: none !important;
}

.ui-datatable-tablewrapper > table > tbody > tr.ui-state-highlight > td .ui-outputlabel,
.ui-datatable-tablewrapper > table > tbody > tr.ui-state-highlight > td label,
.ui-datatable-tablewrapper > table > tbody > tr.ui-state-highlight > td span:not(.ui-button-text) {
	color: var(--castanhal) !important;
	font-weight: bold !important;
}

/* Colunas duplas (Origem/Destino, datas) – recebimento e consultas */
.tramite-th-dupla,
.tramite-cel-dupla {
	display: block;
	width: 100%;
	text-align: center;
	line-height: 1.35;
}

.tramite-cel-dupla {
	text-align: left;
}

.tramite-th-dupla span,
.tramite-cel-dupla > .ui-outputlabel,
.tramite-cel-dupla > div {
	display: block;
}

hr.tramite-sep-verde,
.tramite-sep-verde {
	display: block;
	width: 100%;
	height: 0;
	border: 0;
	border-top: 1px solid #006400;
	margin: 4px 0;
	padding: 0;
	background: none;
}


.ui-datatable .ui-column-filter,
.ui-datatable input.ui-column-filter,
.ui-datatable .ui-inputfield.ui-column-filter {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	min-height: 1.6em !important;
	height: auto !important;
	background: #fff !important;
	color: var(--input-text) !important;
	border: 1px solid var(--input-border) !important;
	margin: 4px 0 0 !important;
}

.ui-datatable tbody td i.fa {
	font-family: FontAwesome !important;
	font-size: 16px !important;
	color: #333 !important;
	text-indent: 0 !important;
}

/* Paginator (rodape das tabelas) – theme.css: fundo #ddd; nav com icone, nao pílula roxa */
.ui-datatable .ui-paginator,
.ui-datagrid .ui-paginator {
	text-align: center !important;
	padding: 2px !important;
	margin: 0 !important;
	background: #ddd !important;
	border: 0 !important;
}

.ui-paginator .ui-paginator-first,
.ui-paginator .ui-paginator-prev,
.ui-paginator .ui-paginator-next,
.ui-paginator .ui-paginator-last,
.ui-paginator .ui-paginator-page {
	display: inline-block !important;
	width: auto !important;
	min-width: 32px !important;
	min-height: 32px !important;
	line-height: 20px !important;
	padding: 6px 10px !important;
	margin: 5px 2px !important;
	border-radius: 5px !important;
	border: 0 !important;
	vertical-align: middle !important;
	box-sizing: border-box !important;
	text-align: center !important;
	cursor: pointer !important;
}

.ui-paginator .ui-paginator-first,
.ui-paginator .ui-paginator-prev,
.ui-paginator .ui-paginator-next,
.ui-paginator .ui-paginator-last,
.ui-paginator .ui-paginator-page.ui-state-default {
	background: var(--castanhal) !important;
	color: #fff !important;
	font-weight: normal !important;
}

.ui-paginator .ui-paginator-page.ui-state-active {
	background: var(--castanhal-dark) !important;
	color: #fff !important;
}

.ui-paginator .ui-paginator-first:hover,
.ui-paginator .ui-paginator-prev:hover,
.ui-paginator .ui-paginator-next:hover,
.ui-paginator .ui-paginator-last:hover {
	background: rgba(139, 73, 167, 0.12) !important;
	color: var(--castanhal-hover, #6B3682) !important;
}

.ui-paginator .ui-paginator-page.ui-state-hover {
	background: var(--castanhal-hover, #6B3682) !important;
	color: #fff !important;
}

/* Icones do paginador: FontAwesome (sprites PF15 ausentes no tema legado) */
.ui-paginator .ui-paginator-first .ui-icon,
.ui-paginator .ui-paginator-prev .ui-icon,
.ui-paginator .ui-paginator-next .ui-icon,
.ui-paginator .ui-paginator-last .ui-icon {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	min-width: 1em !important;
	text-indent: 0 !important;
	overflow: visible !important;
	background: none !important;
	background-image: none !important;
	position: static !important;
	margin: 0 !important;
	color: var(--castanhal) !important;
	font: normal normal normal 14px/1 FontAwesome !important;
	font-size: 14px !important;
	font-weight: normal !important;
	line-height: 1 !important;
	vertical-align: middle !important;
}

.ui-paginator .ui-paginator-first .ui-icon::before,
.ui-paginator .ui-icon-seek-first::before,
.ui-paginator .ui-icon-seek-start::before {
	content: "100" !important;
}

.ui-paginator .ui-paginator-prev .ui-icon::before,
.ui-paginator .ui-icon-seek-prev::before {
	content: "104" !important;
}

.ui-paginator .ui-paginator-next .ui-icon::before,
.ui-paginator .ui-icon-seek-next::before {
	content: "105" !important;
}

.ui-paginator .ui-paginator-last .ui-icon::before,
.ui-paginator .ui-icon-seek-end::before,
.ui-paginator .ui-icon-seek-last::before {
	content: "101" !important;
}


/* panelGrid dentro de cabecalho/celula da DataTable (ex.: Protocolo / Inscricao) */
.ui-datatable th .ui-panelgrid,
.ui-datatable td .ui-panelgrid,
.ui-datatable th .ui-panelgrid-content,
.ui-datatable td .ui-panelgrid-content {
	background: transparent !important;
	border: none !important;
	width: 100% !important;
	display: block !important;
}

.ui-datatable th .ui-panelgrid-content,
.ui-datatable td .ui-panelgrid-content {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 2px !important;
}

.ui-datatable th .ui-panelgrid table,
.ui-datatable th .ui-panelgrid tbody,
.ui-datatable th .ui-panelgrid tr,
.ui-datatable td .ui-panelgrid table,
.ui-datatable td .ui-panelgrid tbody,
.ui-datatable td .ui-panelgrid tr {
	display: block !important;
	width: 100% !important;
}

.ui-datatable th .ui-panelgrid-cell,
.ui-datatable td .ui-panelgrid-cell,
.ui-datatable thead th .ui-panelgrid .ui-state-default:not(.ui-column-filter):not(input),
.ui-datatable thead th .ui-panelgrid-cell.ui-state-default {
	background: transparent !important;
	border: none !important;
	padding: 2px 4px !important;
	color: #fff !important;
	text-align: center !important;
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	float: none !important;
	box-shadow: none !important;
}

.ui-panelgrid > * > tr,
.ui-panelgrid .ui-panelgrid-cell {
	border: none;
}

/* TabView (Trâmite e demais telas com abas) – PF15 */
.ui-tabs.ui-tabs-top,
.ui-tabs.ui-tabs-scrollable {
	padding: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ui-tabs .ui-tabs-navscroller {
	overflow: hidden !important;
	background-color: #ccc !important;
	border-radius: 5px 5px 0 0 !important;
	padding-left: 18px !important;
	position: relative !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ui-tabs .ui-tabs-nav {
	margin: 0 !important;
	padding: 4px 18px !important;
	height: auto !important;
	white-space: nowrap !important;
	border-bottom: 5px solid var(--castanhal-dark) !important;
}

.ui-tabs .ui-tabs-nav li,
.ui-tabs.ui-tabs-scrollable .ui-tabs-nav li,
.ui-tabs.ui-tabs-top > .ui-tabs-nav li {
	display: inline-block !important;
	float: none !important;
	position: relative !important;
	vertical-align: top !important;
	background: var(--castanhal) !important;
	border: 1px solid var(--castanhal) !important;
	border-radius: 5px 5px 0 0 !important;
	margin: 0 2px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ui-tabs .ui-tabs-nav li.ui-tabs-selected,
.ui-tabs .ui-tabs-nav li.ui-state-active,
.ui-tabs.ui-tabs-scrollable .ui-tabs-nav li.ui-tabs-selected,
.ui-tabs.ui-tabs-scrollable .ui-tabs-nav li.ui-state-active {
	background: var(--castanhal) !important;
	border-color: var(--castanhal) !important;
}

.ui-tabs .ui-tabs-nav li .ui-tabs-header,
.ui-tabs .ui-tabs-nav li a.ui-tabs-header,
.ui-tabs .ui-tabs-nav li a.ui-state-default,
.ui-tabs .ui-tabs-nav li a {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	float: none !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	font-weight: normal !important;
	padding: 0.5em 1em !important;
	text-decoration: none !important;
	cursor: pointer !important;
	white-space: nowrap !important;
}

.ui-tabs .ui-tabs-nav li .ui-tabs-header *,
.ui-tabs .ui-tabs-nav li .ui-tabs-header .ui-outputlabel,
.ui-tabs .ui-tabs-nav li .ui-tabs-header span {
	color: #fff !important;
	background: transparent !important;
}

.ui-tabs-panels,
.ui-tabs .ui-tabs-panel {
	padding: 15px !important;
	background: #fff !important;
	border: 1px solid #ccc !important;
	border-radius: 0 0 5px 5px !important;
	border-top: 5px solid var(--castanhal-dark) !important;
	width: 100% !important;
	box-sizing: border-box !important;
	clear: both !important;
	float: none !important;
}

#formCadastroTramite .ui-tabs,
#formCadastroTramite .ui-tabs-panels,
#formCadastroTramite .ui-tabs-panel {
	width: 100% !important;
	max-width: 100% !important;
}

#formCadastroTramite .ui-datatable {
	width: 100% !important;
	clear: both !important;
}

#formCadastroTramite .ui-datatable-tablewrapper {
	width: 100% !important;
	overflow-x: auto !important;
}

#formCadastroTramite .ui-datatable-tablewrapper > table {
	width: 100% !important;
	table-layout: auto !important;
}

.tramite-acoes-topo {
	width: 100% !important;
	margin: 0 0 10px 0 !important;
	border: 0 !important;
}

.tramite-acoes-topo td {
	text-align: right !important;
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.ui-datatable div.ui-dt-c {
	position: static !important;
	overflow: visible !important;
}

.ui-datatable .ui-datatable-header.ui-widget-header {
	background: var(--castanhal) !important;
	color: #fff !important;
	border: 0 !important;
	text-transform: uppercase;
	font-weight: bold !important;
}

.ui-datatable .ui-datatable-header.ui-widget-header .ui-outputlabel,
.ui-datatable .ui-datatable-header.ui-widget-header span {
	color: #fff !important;
	background: transparent !important;
}

.ui-datatable .ui-datatable-header,
.ui-datatable .ui-datatable-footer {
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Cabecalho usuario + botao SAIR (icones FA) – nao sobrescrever topo restrito (default.css) */
.info-em .fa {
	font-family: FontAwesome !important;
}

#topo .new-banner:not(.cabecalho-restrito-banner) .info-em .sair,
#topo .new-banner:not(.cabecalho-restrito-banner) a.sair {
	display: inline-block !important;
	float: right !important;
	position: relative !important;
	background: #fff !important;
	color: var(--castanhal) !important;
	width: 100px !important;
	height: 40px !important;
	line-height: 40px !important;
	text-align: center !important;
	border-radius: 5px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	font-weight: bold !important;
	z-index: 2 !important;
}

/* Topo restrito legado (cabecalhoRestrito.xhtml: bg-new-banner + info-em 98%) */
#topo .new-banner:not(.cabecalho-restrito-banner) {
	position: relative !important;
	background: linear-gradient(to bottom, #00579A, #044C86) !important;
	background-color: #00579A !important;
	height: 86px !important;
	min-height: 86px !important;
	padding: 0 !important;
	overflow: visible !important;
	clear: both !important;
}

#topo .new-banner:not(.cabecalho-restrito-banner) .bg-new-banner {
	background: transparent !important;
	height: 100% !important;
	box-sizing: border-box !important;
}

/* .img-bg-bn no portal e flex/centrado/max-940 – no topo restrito tem que ser bloco full width */
#topo .new-banner:not(.cabecalho-restrito-banner) .img-bg-bn,
#topo .new-banner:not(.cabecalho-restrito-banner) .img-bg-bn > div {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	text-align: left !important;
	justify-content: flex-start !important;
	align-items: stretch !important;
}

#topo .new-banner:not(.cabecalho-restrito-banner) .info-em {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	bottom: auto !important;
	left: auto !important;
	padding: 12px 20px !important;
	margin: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	overflow: visible !important;
	text-align: left !important;
}

#topo .new-banner:not(.cabecalho-restrito-banner) .info-em .campos {
	float: left !important;
	width: auto !important;
	margin: 0 !important;
}

#topo .new-banner:not(.cabecalho-restrito-banner) .info-em .campos label,
#topo .new-banner:not(.cabecalho-restrito-banner) .info-em .campos span,
#topo .new-banner:not(.cabecalho-restrito-banner) .info-em .fa,
#topo .new-banner:not(.cabecalho-restrito-banner) .info-em .ui-outputlabel {
	color: #fff !important;
	background: transparent !important;
}

#topo .new-topo2 .menu-topo {
	float: right !important;
}

#topo .new-topo2 .menu-topo p {
	text-align: right !important;
	color: #555 !important;
	font-size: 11px !important;
	font-weight: bold !important;
	text-transform: uppercase !important;
}

#topo .new-topo2 > a {
	float: left !important;
	display: block !important;
	position: relative !important;
	z-index: 3 !important;
	margin-bottom: -22px !important;
}

#topo .new-topo2 > a > img:not(.ui-icon):not(.ui-chkbox-icon) {
	height: 48px !important;
	width: auto !important;
	max-width: none !important;
}

/*
 * Portal (portal.xhtml / cabecalho): logo, brasao e imagens do banner.
 * PF15/theme.css aplica ui-state-default (#0B4979) em wrappers e pode ocultar img
 * (text-indent em .ui-icon, display em .nivoSlider antes do JS init).
 * Nao aplicar transparent no .new-banner do topo restrito (faixa azul usuario/SAIR).
 */
.logo-restrito form,
.logo-restrito .new-topo2,
.logo-restrito .bg-newBn,
#topo .new-topo:not(.new-topo-publico),
#topo .bg-newBn {
	background-color: transparent !important;
}

#topo .cabecalho-restrito,
#topo .cabecalho-restrito .new-topo2 {
	background: #fff !important;
}

#topo .cabecalho-restrito-banner {
	background: linear-gradient(to bottom, #00579A, #044C86) !important;
	background-color: #00579A !important;
}

.new-topo,
.new-topo2 {
	overflow: visible !important;
	min-height: 55px;
}

.new-topo > a > img,
.new-topo-publico .topo-logo > img,
.new-topo2 > a > img,
.logo-restrito .new-topo2 > a > img,
.logo-restrito > form > div > a > img,
#topo img:not(.ui-icon):not(.ui-chkbox-icon) {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	text-indent: 0 !important;
	overflow: visible !important;
	max-width: none !important;
	width: auto !important;
	height: auto !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.logo-restrito .new-topo2 > a > img,
.logo-restrito > form > div > a > img,
.cabecalho-restrito .new-topo2 > a > img {
	height: 72px !important;
	margin-top: 0;
	margin-bottom: -22px;
}

.new-topo-publico .topo-logo > img {
	height: 55px !important;
	width: auto !important;
}

.img-bg-bn .banner-logo-nfsd,
.img-bg-bn .banner-brasao,
.new-banner img {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	text-indent: 0 !important;
	object-fit: contain;
}

.img-bg-bn .banner-logo-nfsd {
	position: static !important;
	height: 72px !important;
	width: auto !important;
	max-width: 220px !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

.bg-newBn,
.new-banner,
.new-banner2 {
	overflow: visible !important;
	min-height: 80px;
}

.nivoSlider img,
#slider img,
.box-home img,
.icon-sistema img {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	text-indent: 0 !important;
	max-width: 100% !important;
}

.nivoSlider img:first-child,
#slider img:first-child {
	display: block !important;
}

/* Login publico (Castanhal) */
.login-page .boxlogin,
.login-page .title-login {
	float: none !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

.login-page .login-card {
	border-radius: 5px !important;
	overflow: hidden;
}

.login-page .div-btLogin input,
.login-page .div-btLogin .ui-button {
	background: #00579A !important;
	color: #fff !important;
	text-transform: uppercase;
	min-width: 110px;
}

/* Login publico */
.login-page .boxlogin,
.login-page .title-login {
	float: none !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

.login-page .login-card {
	border-radius: 5px !important;
	overflow: hidden;
}

.login-page .div-btLogin input,
.login-page .div-btLogin .ui-button {
	background: #00579A !important;
	color: #fff !important;
	text-transform: uppercase;
	min-width: 110px;
}

.img-bg-bn .banner-logo-nfsd,
.img-bg-bn .banner-brasao,
.new-banner img {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	text-indent: 0 !important;
	object-fit: contain;
}

.img-bg-bn .banner-logo-nfsd {
	position: static !important;
	height: 72px !important;
	width: auto !important;
	max-width: 220px !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}


/* Area restrita: wizard, botoes e paineis em azul (#01579B); tabela cabecalho azul institucional */
.ui-wizard > .ui-wizard-step-titles {
	background: #ccc !important;
	padding: 5px !important;
	margin: 0 !important;
}

.ui-wizard > .ui-wizard-step-titles > li,
.ui-wizard > .ui-wizard-step-titles > li.ui-wizard-step-title {
	background: #999 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 5px !important;
}

.ui-wizard > .ui-wizard-step-titles > li.ui-state-highlight,
.ui-wizard > .ui-wizard-step-titles > li.ui-wizard-step-title.ui-state-highlight {
	background: #044C86 !important;
	color: #fff !important;
}

.ui-wizard > .ui-wizard-step-titles > li .ui-wizard-step-title,
.ui-wizard > .ui-wizard-step-titles > li.ui-state-default {
	color: #fff !important;
	background: transparent !important;
}

.ui-wizard-nav-back.ui-button,
.ui-wizard-nav-next.ui-button,
.ui-wizard .ui-wizard-navbar .ui-button {
	background: var(--castanhal) !important;
	color: #fff !important;
}

.ui-paginator .ui-paginator-first:hover,
.ui-paginator .ui-paginator-prev:hover,
.ui-paginator .ui-paginator-next:hover,
.ui-paginator .ui-paginator-last:hover {
	background: rgba(1, 87, 155, 0.12) !important;
	color: var(--castanhal-hover) !important;
}

.info-em-restrito .campos label,
.info-em-restrito .campos span,
.info-em-restrito .fa {
	color: #fff !important;
}

.info-em-restrito .sair,
.info-em-restrito a.sair {
	text-transform: uppercase;
	text-decoration: none !important;
	font-weight: bold;
}

/* Formularios: label ao lado do campo (panelGrid tabular / panelGrid legado) */
.ui-panelgrid.grid,
table.grid {
	width: auto !important;
	max-width: 100%;
}

.ui-panelgrid.grid .ui-panelgrid-cell.label,
.ui-panelgrid.grid td.label,
table.grid td.label {
	width: 1% !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
	padding: 4px 12px 4px 0 !important;
	text-align: left !important;
	background: transparent !important;
}

.ui-panelgrid.grid .ui-panelgrid-cell.value,
.ui-panelgrid.grid td.value,
table.grid td.value {
	width: auto !important;
	vertical-align: middle !important;
	padding: 4px 0 !important;
	text-align: left !important;
	background: transparent !important;
}

.ui-panel .ui-panelgrid.grid .ui-outputlabel,
.ui-panel table.grid .ui-outputlabel,
.ui-panel .ui-panelgrid.grid label,
.ui-panel table.grid label {
	color: #666 !important;
	background: transparent !important;
}

/*
 * Topo interno restrito (cabecalhoRestrito.xhtml).
 * SAIR fica dentro de .info-em; com position:relative no pai o absolute
 * ancora no bloco do usuario (centro) e nao na faixa azul – usar static no .info-em.
 */
#topo {
	overflow: visible !important;
}

#topo .cabecalho-restrito form {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

#topo .cabecalho-restrito .new-topo2 {
	display: block !important;
	overflow: visible !important;
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 6px 20px 0 !important;
}

#topo .cabecalho-restrito .new-topo2::after {
	content: "";
	display: table;
	clear: both;
}

#topo .cabecalho-restrito .new-topo2 > a {
	float: left !important;
	display: block !important;
	position: relative !important;
	z-index: 3 !important;
	margin-bottom: -22px !important;
}

#topo .cabecalho-restrito .menu-topo {
	float: right !important;
	margin-top: 14px !important;
}

#topo .cabecalho-restrito .new-topo2 > .clear {
	display: none !important;
}

#topo .cabecalho-restrito-banner,
#topo .cabecalho-restrito .cabecalho-restrito-banner {
	width: 100% !important;
	clear: both !important;
}

#topo .cabecalho-restrito-banner-inner {
	position: relative !important;
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 14px 20px 10px !important;
	min-height: 92px !important;
	box-sizing: border-box !important;
}

#topo .cabecalho-restrito .info-em {
	display: block !important;
	position: relative !important;
	float: none !important;
	width: calc(100% - 340px) !important;
	min-width: 280px !important;
	max-width: none !important;
	margin: 0 130px 0 210px !important;
	padding: 8px 0 4px !important;
	bottom: auto !important;
	left: auto !important;
	background: transparent !important;
	border-radius: 0 !important;
	text-align: left !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

#topo .cabecalho-restrito .info-em .ui-panelgrid,
#topo .cabecalho-restrito .info-em .campos,
#topo .cabecalho-restrito .info-em .ui-panelgrid .ui-panelgrid-cell {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: block !important;
}

#topo .cabecalho-restrito .info-em .sair,
#topo .cabecalho-restrito .info-em a.sair {
	display: inline-block !important;
	float: none !important;
	position: absolute !important;
	top: 14px !important;
	right: 20px !important;
	left: auto !important;
	bottom: auto !important;
	transform: none !important;
	margin: 0 !important;
	width: 100px !important;
	height: 40px !important;
	line-height: 40px !important;
	text-align: center !important;
	background: #fff !important;
	color: var(--castanhal) !important;
	border-radius: 5px !important;
	text-decoration: none !important;
	font-weight: bold !important;
	text-transform: uppercase !important;
	z-index: 2 !important;
}

#topo .cabecalho-restrito .info-em .campos label,
#topo .cabecalho-restrito .info-em .campos span,
#topo .cabecalho-restrito .info-em .fa,
#topo .cabecalho-restrito .info-em .ui-outputlabel {
	color: #fff !important;
	background: transparent !important;
	font-size: 11px !important;
	line-height: 1.45 !important;
}

/*
 * Mascara modal (statusDialog / p:dialog) – theme.css legado forca position:absolute + height:100%
 * relativos ao body (height:100% = viewport). Em paginas longas ou com scroll, cobre so parte da tela.
 * PF15 gera ui-dialog-mask com position:fixed; restauramos isso aqui.
 */
.ui-widget-overlay.ui-dialog-mask,
.ui-dialog-mask {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: auto !important;
	height: auto !important;
}



/*
 * p:panelGrid (migracao h:panelGrid JSF4) – PF15 aplica ui-widget-content branco.
 * h:panelGrid era tabela simples sem fundo; restaurar transparencia.
 */
.ui-panelgrid.ui-widget-content,
.ui-panelgrid.ui-widget.ui-widget-content,
.ui-panelgrid .ui-panelgrid-cell,
.ui-panelgrid .ui-panelgrid-cell.ui-widget-content {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.ui-panel .ui-panelgrid,
.ui-panel .ui-panelgrid .ui-panelgrid-cell,
.ui-panel .ui-panelgrid table,
.ui-panel .ui-panelgrid tbody,
.ui-panel .ui-panelgrid tr,
.ui-panel .ui-panelgrid td {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
}

.ui-panel .ui-panelgrid .ui-outputlabel,
.ui-panel .ui-panelgrid label,
.ui-panel .ui-panelgrid span:not(.ui-button-text):not(.ui-icon) {
	color: #666 !important;
	background: transparent !important;
}


/* PF15 checkbox fix (global) */
/*
 * theme.css legado aplica text-indent:-99999px em .ui-icon, ocultando o check.
 * Corrige chkbox em formularios, dataTable, selectCheckboxMenu, tree e treetable.
 */
.ui-chkbox .ui-chkbox-box {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	min-height: 16px !important;
	border: 1px solid #888 !important;
	border-radius: 3px !important;
	position: relative !important;
	box-sizing: border-box !important;
}

.ui-chkbox .ui-chkbox-box.ui-state-default,
.ui-chkbox .ui-chkbox-box.ui-state-active,
.ui-chkbox .ui-chkbox-box.ui-state-hover,
.ui-chkbox .ui-chkbox-box.ui-state-focus {
	background: #fff !important;
	border: 1px solid #888 !important;
	color: inherit !important;
}

.ui-chkbox .ui-chkbox-icon,
.ui-chkbox .ui-icon,
.ui-chkbox .ui-icon-blank,
.ui-chkbox .ui-icon-check,
.ui-treetable .ui-chkbox .ui-chkbox-icon,
.ui-treetable .ui-chkbox .ui-icon-check,
.ui-selectcheckboxmenu-panel .ui-chkbox .ui-chkbox-icon,
.ui-selectcheckboxmenu-panel .ui-chkbox .ui-icon-check,
.ui-tree .ui-chkbox .ui-chkbox-icon,
.ui-tree .ui-chkbox .ui-icon-check {
	text-indent: 0 !important;
	overflow: visible !important;
	width: 14px !important;
	height: 14px !important;
	background: none !important;
	background-image: none !important;
	display: inline-block !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	margin: 0 !important;
}

.ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon::before,
.ui-chkbox .ui-chkbox-box.ui-state-active .ui-icon-check::before,
.ui-treetable .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon::before,
.ui-treetable .ui-chkbox .ui-chkbox-box.ui-state-active .ui-icon-check::before,
.ui-selectcheckboxmenu-panel .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon::before,
.ui-selectcheckboxmenu-panel .ui-chkbox .ui-chkbox-box.ui-state-active .ui-icon-check::before,
.ui-tree .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon::before,
.ui-tree .ui-chkbox .ui-chkbox-box.ui-state-active .ui-icon-check::before {
	content: '\2713' !important;
	color: var(--castanhal, #8B49A7) !important;
	font-size: 14px !important;
	font-weight: bold !important;
	line-height: 1 !important;
}

.ui-chkbox .ui-chkbox-box:not(.ui-state-active) .ui-icon-check,
.ui-chkbox .ui-chkbox-box:not(.ui-state-active) .ui-chkbox-icon.ui-icon-check {
	display: none !important;
}

.ui-datatable thead th.ui-selection-column,
.ui-datatable tbody td.ui-selection-column,
.ui-datatable .ui-selection-column {
	width: 18px !important;
	max-width: 18px !important;
	min-width: 18px !important;
	padding: 1px 2px !important;
	text-align: center !important;
	overflow: visible !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
}

.ui-datatable colgroup col.ui-selection-column {
	width: 18px !important;
}

.ui-datatable .ui-selection-column .ui-chkbox-box {
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	min-height: 14px !important;
}

.ui-datatable .ui-selection-column .ui-chkbox-all {
	width: 14px !important;
	height: 14px !important;
}

.ui-datatable.tabela-table > .ui-datatable-tablewrapper > table {
	table-layout: fixed;
	width: 100%;
}

.ui-datatable .ui-selection-column .ui-chkbox,
.ui-datatable .ui-selection-column .ui-chkbox-all {
	display: inline-block !important;
	margin: 0 auto !important;
}

/* PF15 multi-label header fix (global) – linha fina entre labels empilhados no header */
.ui-datatable thead th:has(.ui-panelgrid),
.ui-datatable th:has(.ui-panelgrid) {
	overflow: visible !important;
}

.ui-datatable thead th .ui-panelgrid tbody tr > td.ui-panelgrid-cell:not(:last-child):not(:has(hr.ui-separator)):not(:has(.ui-separator)),
.ui-datatable thead th .ui-panelgrid tbody tr:not(:last-child) > td.ui-panelgrid-cell:not(:has(hr.ui-separator)):not(:has(.ui-separator)) {
	border-bottom: 1px solid rgba(60, 60, 60, 0.65) !important;
	padding-bottom: 3px !important;
}

.ui-datatable thead th .ui-panelgrid td.ui-panelgrid-cell:has(> hr.ui-separator),
.ui-datatable thead th .ui-panelgrid td.ui-panelgrid-cell:has(> .ui-separator) {
	display: none !important;
}
