/*
 * p:datePicker popup (PF15) – layout/estrutura compartilhados.
 * Cores: herdam pf15-compat.css de cada portal (--castanhal, --primary-color, etc.).
 */
:root {
	--pf-datepicker-primary: var(--castanhal, var(--primary-color, #8B49A7));
	--pf-datepicker-primary-dark: var(--castanhal-hover, var(--castanhal-dark, var(--primary-dark-color, #6B3682)));
	--pf-datepicker-primary-light: var(--castanhal-light, #f5f5f5);
}
.ui-datepicker .ui-icon {
	display: inline-block !important;
	text-indent: 0 !important;
	overflow: visible !important;
	background-image: none !important;
}

.ui-datepicker,
.ui-datepicker.p-datepicker-panel {
	width: 21em !important;
	padding: 0 !important;
	background: #f4f4f4 !important;
	box-shadow: 3px 3px 8px #777 !important;
	border: 0 !important;
	border-radius: 0 !important;
}

.ui-datepicker.ui-datepicker-timeonly {
	width: auto !important;
	/*min-width: 0 !important;*/
	min-width: 10em !important;
}

.ui-datepicker .ui-datepicker-group,
.ui-datepicker .ui-datepicker-group.ui-widget-content {
	background: #f4f4f4 !important;
	border: 0 !important;
	padding: 0 !important;
}

.ui-datepicker .ui-datepicker-header,
.ui-datepicker .ui-datepicker-header.ui-widget-header {
	position: relative !important;
	padding: 5px 0 !important;
	background: var(--pf-datepicker-primary) !important;
	color: #fff !important;
	border: 0 !important;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	position: absolute !important;
	top: 6px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 1.9em !important;
	height: 1.9em !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
	background: var(--pf-datepicker-primary-light) !important;
}

.ui-datepicker .ui-datepicker-prev {
	left: 3px !important;
}

.ui-datepicker .ui-datepicker-next {
	right: 3px !important;
}

.ui-datepicker .ui-datepicker-title {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 4px !important;
	margin: 0 2.4em !important;
	line-height: 1.8em !important;
	text-align: center !important;
}

.ui-datepicker .ui-datepicker-title select,
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
	font-size: 1em !important;
	margin: 1px 0 !important;
	padding: 1px 2px !important;
	color: #333 !important;
	background: #fff !important;
	border: 1px solid #ccc !important;
	border-radius: 2px !important;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
	flex: 0 1 auto !important;
	width: auto !important;
	max-width: 48% !important;
}

.ui-datepicker table,
.ui-datepicker .ui-datepicker-calendar {
	width: 100% !important;
	font-size: 0.9em !important;
	border-collapse: collapse !important;
	margin: 0 0 0.4em !important;
	background: #f4f4f4 !important;
}

.ui-datepicker th {
	padding: 4px 0 !important;
	text-align: center !important;
	font-weight: bold !important;
	border: 2px solid #ccc !important;
	background: #999 !important;
	color: #fff !important;
}

.ui-datepicker td {
	border: 0 !important;
	padding: 1px !important;
}

.ui-datepicker td span,
.ui-datepicker td a {
	display: block !important;
	padding: 0.2em !important;
	text-align: right !important;
	text-decoration: none !important;
}

.ui-datepicker .ui-datepicker-calendar .ui-state-default {
	background: #ccc !important;
	border: none !important;
	color: #666 !important;
	margin: 0 !important;
	text-shadow: none !important;
	border-radius: 0 !important;
}

.ui-datepicker .ui-datepicker-calendar .ui-state-hover {
	background: #b8b8b8 !important;
	color: #333 !important;
}

.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a.ui-state-default {
	background: #ddd !important;
	color: #333 !important;
	font-weight: bold !important;
}

.ui-datepicker .ui-datepicker-calendar .ui-state-active,
.ui-datepicker .ui-datepicker-calendar a.ui-state-active {
	background: var(--pf-datepicker-primary-dark) !important;
	color: #fff !important;
	border: none !important;
	font-weight: bold !important;
}

.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a.ui-state-active {
	background: var(--pf-datepicker-primary-dark) !important;
	color: #fff !important;
}

.ui-datepicker .ui-datepicker-buttonbar,
.ui-datepicker .ui-datepicker-buttonpane,
.ui-datepicker .ui-datepicker-buttonbar.ui-widget-header {
	background: var(--pf-datepicker-primary) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #ccc !important;
	border-top: 1px solid #ccc !important;
	min-height: 35px !important;
	height: auto !important;
}

.ui-datepicker .ui-datepicker-buttonbar .ui-g,
.ui-datepicker .ui-datepicker-buttonbar .grid {
	display: flex !important;
	width: 100% !important;
	margin: 0 !important;
	align-items: center !important;
}

.ui-datepicker .ui-datepicker-buttonbar .ui-g-6,
.ui-datepicker .ui-datepicker-buttonbar .col-6 {
	flex: 1 1 50% !important;
	width: 50% !important;
	padding: 0 0.4em !important;
	box-sizing: border-box !important;
}

.ui-datepicker .ui-datepicker-buttonbar .ui-g-6:first-child,
.ui-datepicker .ui-datepicker-buttonbar .col-6.text-left {
	text-align: left !important;
}

.ui-datepicker .ui-datepicker-buttonbar .ui-g-6:last-child,
.ui-datepicker .ui-datepicker-buttonbar .col-6.text-right {
	text-align: right !important;
}

.ui-datepicker .ui-datepicker-buttonbar .ui-today-button,
.ui-datepicker .ui-datepicker-buttonbar .ui-clear-button,
.ui-datepicker .ui-datepicker-buttonpane button {
	float: none !important;
	display: inline-block !important;
	background: #fff !important;
	color: var(--pf-datepicker-primary) !important;
	border: 0 !important;
	border-radius: 3px !important;
	padding: 0.25em 0.75em !important;
	margin: 0.45em 0.2em !important;
	width: auto !important;
	min-width: 5.5em !important;
	overflow: visible !important;
	cursor: pointer !important;
	font-weight: normal !important;
	font-size: 0.95em !important;
	box-shadow: none !important;
}

.ui-datepicker .ui-datepicker-buttonbar .ui-today-button .ui-button-text,
.ui-datepicker .ui-datepicker-buttonbar .ui-clear-button .ui-button-text,
.ui-datepicker .ui-datepicker-buttonpane button .ui-button-text {
	color: var(--pf-datepicker-primary) !important;
	padding: 0 !important;
}

.ui-datepicker .ui-datepicker-buttonbar .ui-today-button:hover,
.ui-datepicker .ui-datepicker-buttonbar .ui-clear-button:hover,
.ui-datepicker .ui-datepicker-buttonpane button:hover {
	background: var(--pf-datepicker-primary-light) !important;
	color: var(--pf-datepicker-primary-dark) !important;
}

/* timeOnly / showTime */
.ui-datepicker.ui-datepicker-timeonly,
.ui-datepicker.ui-datepicker-timeonly .ui-timepicker {
	width: auto !important;
	min-width: 0 !important;
	padding: 0 !important;
	background: var(--pf-datepicker-primary) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: 3px 3px 8px #777 !important;
	color: #fff !important;
	overflow: hidden !important;
}

.ui-datepicker .ui-timepicker,
.ui-datepicker .ui-timepicker.ui-widget-header {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
	gap: 0.35em !important;
	text-align: center !important;
	padding: 0.55em 0.75em !important;
	background: var(--pf-datepicker-primary) !important;
	background-image: none !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-shadow: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.ui-datepicker.ui-datepicker-timeonly .ui-timepicker,
.ui-datepicker.ui-datepicker-timeonly .ui-timepicker.ui-widget-header {
	width: 100% !important;
}

.ui-datepicker .ui-timepicker > div:not(.ui-separator) {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.15em !important;
	min-width: 2em !important;
	vertical-align: middle !important;
	margin: 0 !important;
}

.ui-datepicker .ui-timepicker > .ui-separator {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	min-width: 0.45em !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ui-datepicker .ui-timepicker > .ui-separator span {
	color: #fff !important;
	font-size: 1.1em !important;
	font-weight: bold !important;
	line-height: 1 !important;
}

.ui-datepicker .ui-timepicker .ui-hour-picker span,
.ui-datepicker .ui-timepicker .ui-minute-picker span,
.ui-datepicker .ui-timepicker .ui-second-picker span,
.ui-datepicker .ui-timepicker span:not(.ui-icon) {
	color: #fff !important;
	font-size: 1.05em !important;
	font-weight: normal !important;
	line-height: 1.2 !important;
	min-width: 1.5em !important;
	text-align: center !important;
}

.ui-datepicker .ui-timepicker .ui-picker-up,
.ui-datepicker .ui-timepicker .ui-picker-down {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 18px !important;
	min-width: 22px !important;
	min-height: 18px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 3px !important;
	background: #fff !important;
	color: var(--pf-datepicker-primary) !important;
	cursor: pointer !important;
	box-shadow: none !important;
	flex-shrink: 0 !important;
}

.ui-datepicker .ui-timepicker .ui-picker-up:hover,
.ui-datepicker .ui-timepicker .ui-picker-down:hover {
	background: var(--pf-datepicker-primary-light) !important;
	color: var(--pf-datepicker-primary-dark) !important;
}

.ui-datepicker .ui-timepicker .ui-picker-up .ui-icon,
.ui-datepicker .ui-timepicker .ui-picker-down .ui-icon,
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .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;
	font: normal normal normal 11px/1 FontAwesome !important;
	font-size: 11px !important;
	line-height: 1 !important;
}

.ui-datepicker .ui-timepicker .ui-icon-carat-1-n::before {
	content: '\f077' !important;
}

.ui-datepicker .ui-timepicker .ui-icon-carat-1-s::before {
	content: '\f078' !important;
}

.ui-datepicker .ui-datepicker-prev .ui-icon-circle-triangle-w::before {
	content: '\f053' !important;
}

.ui-datepicker .ui-datepicker-next .ui-icon-circle-triangle-e::before {
	content: '\f054' !important;
}

.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon {
	color: var(--pf-datepicker-primary-dark) !important;
	font-size: 13px !important;
}

.ui-datepicker .ui-timepicker .ui-picker-up .ui-icon,
.ui-datepicker .ui-timepicker .ui-picker-down .ui-icon {
	color: var(--pf-datepicker-primary) !important;
}

/*
 * PF15: botoes com icone + texto — theme.css posiciona .ui-icon com absolute/top:50%,
 * o que deixa o icone desalinhado para baixo quando o icone fica dentro de .ui-button-text.
 */
.ui-button.ui-button-text-icon-left:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next),
.ui-button.ui-button-text-icon-right:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next),
.ui-button.ui-button-text-icons:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.35em !important;
}

.ui-button:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) .ui-button-text {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.35em !important;
	line-height: 1.2 !important;
	vertical-align: middle !important;
}

.ui-button.ui-button-text-icon-left:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) .ui-button-text {
	padding: 0.45em 1em !important;
}

.ui-button:not(.ui-button-icon-only) .ui-button-text .ui-icon,
.ui-button:not(.ui-button-icon-only) .ui-button-text .ui-button-icon-left,
.ui-button:not(.ui-button-icon-only) .ui-button-text .ui-button-icon-right,
.ui-button:not(.ui-button-icon-only) .ui-button-text .pi,
.ui-button.ui-button-text-icon-left:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) > .ui-icon,
.ui-button.ui-button-text-icon-left:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) > .ui-button-icon-left,
.ui-button.ui-button-text-icon-left:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) > .pi,
.ui-button.ui-button-text-icon-right:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) > .ui-icon,
.ui-button.ui-button-text-icon-right:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) > .ui-button-icon-right,
.ui-button.ui-button-text-icon-right:not(.ui-button-icon-only):not(.ui-wizard-nav-back):not(.ui-wizard-nav-next) > .pi {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	margin: 0 !important;
	transform: translate(4px, -1px) !important;
	vertical-align: middle !important;
	float: none !important;
}

/*
 * PF15: padronizacao global de botoes — estrutura e icones FontAwesome.
 * Carregado apos pf15-compat.css de cada tema; cores de fundo ficam no tema.
 */

.ui-button .ui-icon,
.ui-button-icon-only .ui-icon,
.ui-datatable .ui-button .ui-icon,
.ui-datatable .ui-commandlink .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;
	margin: 0 !important;
	color: inherit !important;
	font: normal normal normal 14px/1 FontAwesome !important;
	font-size: 14px !important;
	line-height: 1 !important;
	vertical-align: middle !important;
}

.ui-button.ui-state-disabled .ui-icon,
.ui-button.ui-state-disabled.ui-state-hover .ui-icon {
	opacity: 0.65 !important;
}

.ui-button-icon-only:not(.ui-datepicker-trigger) {
	width: 2.2em !important;
	height: 2.2em !important;
	min-width: 2.2em !important;
	min-height: 2.2em !important;
	max-height: 2.2em !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	position: relative !important;
}

.ui-button-icon-only:not(.ui-datepicker-trigger) .ui-button-text {
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	text-indent: -9999px !important;
}

.ui-button-icon-only:not(.ui-datepicker-trigger) .ui-icon,
.ui-button-icon-only:not(.ui-datepicker-trigger) .ui-button-icon-left {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	margin: 0 !important;
	transform: translate(-50%, -50%) !important;
}

.ui-datatable tbody td .ui-button.ui-button-icon-only,
.ui-datatable tbody td button.ui-button-icon-only,
.ui-datatable tbody td .ui-button.ui-button-icon-only.ui-state-default,
.ui-datatable tbody td .ui-button.ui-button-icon-only.ui-state-disabled,
.ui-datatable tbody td button.ui-button.ui-button-icon-only {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	max-width: 32px !important;
	max-height: 32px !important;
	padding: 0 !important;
	margin: 0 2px !important;
	box-sizing: border-box !important;
	vertical-align: middle !important;
	flex: 0 0 auto !important;
	align-self: center !important;
	overflow: hidden !important;
	position: relative !important;
	white-space: nowrap !important;
}

.ui-datatable tbody td .ui-button.ui-button-icon-only .ui-button-text,
.ui-datatable tbody td button.ui-button.ui-button-icon-only .ui-button-text {
	display: none !important;
	padding: 0 !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

.ui-datatable tbody td .ui-button.ui-button-icon-only .ui-icon,
.ui-datatable tbody td .ui-button.ui-button-icon-only .ui-button-icon-left,
.ui-datatable tbody td button.ui-button.ui-button-icon-only .ui-icon,
.ui-datatable tbody td button.ui-button.ui-button-icon-only .ui-button-icon-left {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	margin: 0 !important;
	transform: translate(-50%, -50%) !important;
	float: none !important;
	background: none !important;
	background-image: none !important;
	text-indent: 0 !important;
	font-family: FontAwesome !important;
	font-size: 14px !important;
	-webkit-font-smoothing: antialiased !important;
}

.ui-datatable tbody td:has(.ui-button.ui-button-icon-only),
.ui-datatable tbody td:has(button.ui-button.ui-button-icon-only) {
	white-space: nowrap !important;
	text-align: center !important;
	vertical-align: middle !important;
}

.ui-icon-pencil::before { content: "\f040" !important; }
.ui-icon-trash::before { content: "\f1f8" !important; }
.ui-icon-print::before { content: "\f02f" !important; }
.ui-icon-locked::before { content: "\f023" !important; }
.ui-icon-search::before { content: "\f002" !important; }
.ui-icon-document::before { content: "\f016" !important; }
.ui-icon-disk::before,
.ui-icon-save::before { content: "\f0c7" !important; }
.ui-icon-check::before { content: "\f00c" !important; }
.ui-icon-plus::before { content: "\f067" !important; }
.ui-icon-gear::before { content: "\f013" !important; }
.ui-icon-refresh::before { content: "\f021" !important; }
.ui-icon-alert::before { content: "\f071" !important; }
.ui-icon-closethick::before,
.ui-icon-close::before,
.ui-icon-circle-close::before,
.ui-icon-times::before,
.ui-icon-cancel::before { content: "\f00d" !important; }
.ui-icon-arrowthick-1-w::before,
.ui-icon-arrowreturnthick-1-w::before { content: "\f060" !important; }
.ui-icon-arrowreturnthick-1-e::before { content: "\f061" !important; }
.ui-icon-arrowthickstop-1-s::before { content: "\f04e" !important; }
.ui-icon-arrowstop-1-n::before { content: "\f051" !important; }
.ui-icon-calendar::before { content: "\f073" !important; }

.btn-padrao > .ui-button-text,
.btn-padrao > span.ui-button-text {
	font-weight: 500 !important;
	font-size: 13px !important;
}

.btn-padrao2 > .ui-button-text,
.btn-padrao2 > span.ui-button-text {
	font-weight: 500 !important;
	font-size: 11px !important;
	padding: 6px 10px !important;
}

/*
 * PF15: panelGrid dentro de p:dataGrid (aba Lancamento imobiliario) – colunas alinhadas.
 */
.ui-datagrid .ui-panelgrid {
	width: 100% !important;
	table-layout: fixed !important;
}

.ui-datagrid .ui-panelgrid .ui-panelgrid-cell {
	vertical-align: middle !important;
	padding: 4px 8px !important;
	white-space: normal !important;
}

.ui-datagrid .ui-panelgrid .ui-panelgrid-cell label,
.ui-datagrid .ui-panelgrid .ui-panelgrid-cell .ui-outputlabel {
	display: inline-block !important;
	margin-right: 0.35em !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

.ui-datagrid .ui-panelgrid .ui-panelgrid-cell input,
.ui-datagrid .ui-panelgrid .ui-panelgrid-cell .ui-inputfield {
	vertical-align: middle !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.ui-datagrid .ui-panelgrid .destaque-verde,
.ui-datagrid .ui-panelgrid .destaque-vermelho {
	display: inline-block !important;
	float: none !important;
	vertical-align: middle !important;
}

/*
 * PF15: Lote Lanc. – label colado ao valor (coluna estreita + campo largo).
 */
.ui-datagrid .ui-panelgrid.pg-lancamento-lote {
	table-layout: auto !important;
}

.ui-datagrid .ui-panelgrid.pg-lancamento-lote > tbody > tr > td:first-child,
.ui-datagrid .ui-panelgrid.pg-lancamento-lote .ui-panelgrid-cell:first-child {
	width: 1% !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
	padding-right: 0.35em !important;
}

.ui-datagrid .ui-panelgrid.pg-lancamento-lote > tbody > tr > td:last-child,
.ui-datagrid .ui-panelgrid.pg-lancamento-lote .ui-panelgrid-cell:last-child {
	width: auto !important;
	vertical-align: middle !important;
	padding-left: 0 !important;
}

.ui-datagrid .ui-panelgrid.pg-lancamento-lote input {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/*
 * PF15: tabela de parcelas (Cadastro Imobiliario > Lancamento) – colunas proporcionais.
 */
.ui-datatable.tabela-parcelas > .ui-datatable-tablewrapper > table {
	table-layout: auto !important;
	width: 100% !important;
}

.ui-datatable.tabela-parcelas thead th,
.ui-datatable.tabela-parcelas tbody td {
	width: auto !important;
	max-width: none !important;
}

.ui-datatable.tabela-parcelas tbody td .destaque-verde,
.ui-datatable.tabela-parcelas tbody td .destaque-vermelho {
	float: none !important;
	display: inline-block !important;
}

.ui-datatable.tabela-parcelas tbody td .btn-padrao2.ui-button {
	min-width: 4.5em !important;
}

/*
 * PF15 p:datePicker – botao calendario ao lado do input (ui-button-icon-left + FontAwesome).
 * Regra final: prevalece sobre theme.css (text-indent nos .ui-icon) e .ui-button-icon-only generico.
 */
.ui-calendar.ui-trigger-calendar,
.ui-calendar:has(> button.ui-datepicker-trigger),
span.ui-calendar:has(> .ui-datepicker-trigger) {
	display: inline-flex !important;
	align-items: stretch !important;
	position: relative !important;
	overflow: visible !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

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

button.ui-datepicker-trigger.ui-button.ui-button-icon-only,
.ui-calendar 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;
	height: auto !important;
	padding: 0 !important;
	margin: 0 0 0 -1px !important;
	background: var(--pf-datepicker-primary) !important;
	border: 0 !important;
	color: #fff !important;
	border-radius: 0 5px 5px 0 !important;
	cursor: pointer !important;
	overflow: visible !important;
	flex-shrink: 0 !important;
	position: static !important;
	box-sizing: border-box !important;
	z-index: 1 !important;
}

button.ui-datepicker-trigger.ui-button-icon-only > .ui-button-text,
.ui-calendar button.ui-datepicker-trigger .ui-button-text {
	display: none !important;
	padding: 0 !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
	text-indent: -9999px !important;
	border: 0 !important;
}

button.ui-datepicker-trigger.ui-button-icon-only > .ui-button-icon-left,
button.ui-datepicker-trigger.ui-button-icon-only > .ui-icon,
.ui-calendar button.ui-datepicker-trigger > .ui-button-icon-left,
.ui-fieldset button.ui-datepicker-trigger > .ui-button-icon-left,
td button.ui-datepicker-trigger > .ui-button-icon-left {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	min-height: 14px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	float: none !important;
	text-indent: 0 !important;
	overflow: visible !important;
	background: none !important;
	background-image: none !important;
	font: normal normal normal 14px/1 FontAwesome !important;
	font-family: FontAwesome !important;
	font-size: 14px !important;
	line-height: 1 !important;
	color: #fff !important;
	-webkit-font-smoothing: antialiased !important;
}

button.ui-datepicker-trigger.ui-button-icon-only > .ui-button-icon-left::before,
button.ui-datepicker-trigger.ui-button-icon-only > .ui-icon.ui-icon-calendar::before,
.ui-calendar button.ui-datepicker-trigger > .ui-button-icon-left::before,
.ui-fieldset button.ui-datepicker-trigger > .ui-button-icon-left::before,
td button.ui-datepicker-trigger > .ui-button-icon-left::before {
	content: "\f073" !important;
	display: inline-block !important;
}

button.ui-datepicker-trigger.ui-button-icon-only.ui-state-hover,
.ui-calendar button.ui-datepicker-trigger.ui-state-hover {
	background: var(--pf-datepicker-primary-dark) !important;
	color: #fff !important;
}

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

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

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