body.app-theme-ruby #rodape {
	background-color: #A02214;
	padding: 5px 10px;
	text-align: left;
}

/* Pedido de venda e ordem de faturamento: resumo da aba Itens. */
.app-document-order-items-top {
	display: grid;
	grid-template-columns: minmax(238px, 286px) minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	margin: 0 0 14px;
}

.app-document-order-items-top-without-context {
	grid-template-columns: minmax(0, 1fr);
}

.app-document-order-context-card {
	box-sizing: border-box;
	min-width: 0;
	padding: 10px 11px;
	border: 1px solid #d7e1e8;
	border-top: 3px solid #008fa6;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 3px 9px rgba(6, 29, 65, 0.04);
	color: #061d41;
}

.app-document-order-context-title,
.app-document-order-summary-title {
	color: #061d41;
	font-size: 12px;
	font-weight: bold;
}

.app-document-order-context-metadata {
	width: 100%;
	margin: 5px 0 0;
}

.app-document-order-context-metadata td {
	padding: 4px 0;
	border-bottom: 1px solid #edf0f3;
	color: #263d61;
	font-size: 11px;
	font-weight: bold;
}

.app-document-order-context-metadata tr:last-child td {
	border-bottom: 0;
}

.app-document-order-related-order {
	box-sizing: border-box;
	margin: 7px 0 0;
	padding: 7px 8px;
	border: 1px solid #e0e8ed;
	border-radius: 4px;
	background: #f9fbfc;
}

body.app-theme-ugestor .conteudo input.app-document-order-unlink-action,
body.app-theme-ruby .conteudo input.app-document-order-unlink-action {
	width: 100%;
	height: 29px;
	margin: 7px 0 0;
	padding: 0 10px;
	border: 1px solid #008fa6;
	border-radius: 5px;
	background: #008fa6;
	background-image: none;
	color: #ffffff;
	font-size: 12px;
	font-weight: bold;
	line-height: 27px;
}

.app-document-order-summary {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	color: #061d41;
}

.app-document-order-summary-secondary fieldset {
	box-sizing: border-box;
	min-width: 0;
	min-height: 0;
	height: auto;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid #e2e9ed;
	border-radius: 5px;
	background: #ffffff;
}

.app-document-order-summary-secondary legend {
	padding: 0 6px;
	color: #163356;
	font-size: 12px;
	font-weight: bold;
}

.app-document-order-summary-overview {
	box-sizing: border-box;
	padding: 8px 10px 10px;
	border: 1px solid #d7e1e8;
	border-top: 3px solid #ff5a1f;
	border-radius: 6px;
	background: #ffffff;
}

.app-document-order-summary-header {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-height: 28px;
	margin: 0 0 8px;
}

.app-document-order-summary-header .app-document-order-summary-title {
	margin-right: auto;
}

body.app-theme-ugestor .conteudo input.app-document-order-summary-action,
body.app-theme-ruby .conteudo input.app-document-order-summary-action {
	min-width: 132px !important;
	height: 29px !important;
	min-height: 29px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1px solid #a7c9d2 !important;
	border-radius: 5px !important;
	background: #effbfe !important;
	background-image: none !important;
	color: #006f84 !important;
	font-size: 11px !important;
	font-weight: bold !important;
	line-height: 27px !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .conteudo input.app-document-order-summary-action:hover,
body.app-theme-ruby .conteudo input.app-document-order-summary-action:hover {
	border-color: #008fa6 !important;
	background: #dff7fb !important;
	color: #005f71 !important;
}

.app-document-order-summary-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
}

.app-document-order-summary-metric {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-width: 0;
	min-height: 42px;
	padding: 7px 9px;
	border: 1px solid #e3eaee;
	border-radius: 4px;
	background: #fbfcfd;
	gap: 6px;
}


.app-document-order-summary-metric .app-document-order-summary-value {
	flex: 1 1 auto;
}


.app-document-order-summary-metric .app-document-order-summary-percent {
	justify-content: center;
}

.app-document-order-summary-label {
	color: #061d41;
	font-size: 11px;
	font-weight: bold;
}

.app-document-order-summary-value {
	color: #061d41;
	font-size: 13px;
	font-weight: bold;
	white-space: nowrap;
}

.app-document-order-summary-percent {
	box-sizing: border-box;
	min-width: 46px;
	padding: 4px 6px;
	border-radius: 4px;
	font-size: 10px;
	font-weight: bold;
	text-align: center;
	white-space: nowrap;
}

.app-document-order-summary-percent.is-negative {
	background: #fff0f0;
	color: #e63b2e;
}

.app-document-order-summary-percent.is-positive {
	background: #eef9ee;
	color: #247a39;
}

.app-document-order-summary-secondary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
}

.app-document-order-summary-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 7px;
	min-height: 28px;
	border-bottom: 1px solid #edf0f3;
}

.app-document-order-summary-row:last-child {
	border-bottom: 0;
}

.app-document-order-summary-row .app-document-order-summary-percent {
	justify-self: end;
}

@media screen and (max-width: 1199px) {
	.app-document-order-items-top {
		grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
		gap: 10px;
	}

	.app-document-order-summary-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 767px) {
	.app-document-order-items-top {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		margin-bottom: 10px;
	}

	.app-document-order-summary {
		margin: 0;
	}

	.app-document-order-summary-secondary fieldset {
		padding: 12px;
	}

	.app-document-order-summary-header {
		align-items: stretch;
		flex-wrap: wrap;
	}

	.app-document-order-summary-header .app-document-order-summary-title {
		flex: 1 1 100%;
	}

	.app-document-order-summary-metrics,
	.app-document-order-summary-secondary {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.app-document-order-summary-secondary {
		margin-top: 10px;
	}

	.app-document-order-summary-metric {
		min-height: 50px;
		padding: 9px 10px;
	}

	.app-document-order-summary-value {
		font-size: 14px;
	}
}

/*
 * Estado ativo da navegação. O Seam pode alterar o ID renderizado, por isso
 * este seletor usa a classe estável do template e mantém a área atual tão
 * visível quanto o estado de interação por mouse.
 */
.app-main-navigation .app-main-toolbar td.app-navigation-active,
.app-main-navigation .app-main-toolbar td.app-navigation-active > .rich-menu-item,
.app-main-navigation .app-main-toolbar td.app-navigation-active > .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar td.app-navigation-active .rich-menu-item,
.app-main-navigation .app-main-toolbar td.app-navigation-active .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"],
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"] > .rich-menu-item,
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"] > .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"] .rich-menu-item,
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"] .rich-ddmenu-label {
	background: #17294e !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	box-shadow: inset 0 -3px 0 #ff5a1f !important;
}

td.colunaTexto {
	float: left;
	margin-left: 30px;
}

td.colunaTexto1 {
	width: 81px;
	float: left;
	margin-top: 11px;
}

td.colunaTexto2 {
	width: 117px;
	float: left;
	margin-right: 30px;
}

td.colunaTexto3 {
	float: left;
    margin-right: 30px;
}

td.colunaTexto4 {
	width: 117px;
	float: left;
    margin-right: 30px;
}

td.colunaTexto5 {
	float: left;
}

.historico_rcs {
	width: 125px;
    margin-top: 15px;
    margin-left: 30px;
    float: left;
}

.historico_rcs_output {
	width: 125px;
    margin-top: 12px;
    margin-left: 30px;
    float: left;
}

td.colunaTextoRcs {
	width: 362px;
	float: left;
}

.div_geral {
	width: 740px;
}

body.app-theme-ruby .content-rodape {
	font: 12px arial, sans-serif;
	color: #ce4e38;
	text-align: center;
	position: fixed;
	bottom: 10px;
	width: 80%;
}

#footer {
	width: 100%;
	height: 2px;
	background: url(../img/footer_28.gif) repeat-x;
}

.big {
	width: 600px;
	padding: 10px;
	margin: 10px 0 15px -15px;
}

body.app-theme-ruby legend {
	font: 14px arial, sans-serif;
	color: #CE4E38;
	font-weight: bold;
	padding: 0 5px 0 5px;
}

input[type="submit"], input[type="button"] {
	border-radius: 3px;
	border: 1px solid #007586;
	background-image: linear-gradient(#009db2, #007586);
	color: #FFFFFF;
	font-weight: bold;
	padding: 1px 4px;
	width: 100px;
	height: 30px;
}

input[type="button"].green-button {
	border-radius: 3px;
	background-image: linear-gradient(#009db2, #007586);
	border: 1px solid #007586;
}

input[type="submit"].green-button {
	border-radius: 3px;
	background-image: linear-gradient(#009db2, #007586);
	border: 1px solid #007586;
}

input[type="button"].red-button {
	border-radius: 3px;
	width: 100px;
	height: 30px;
	background-image: url(../img/color_btn.png);
	border: 1px solid #900000;
}

input[type="submit"].red-button {
	border-radius: 3px;
	width: 100px;
	height: 30px;
	background-image: url(../img/color_btn.png);
	border: 1px solid #900000;
}

.message {
	list-style: none;
	list-style-position: inside;
	background: none;
	color: #000000;
	font-size: 12px;
	border: 0;
	top: calc(0 - 10px);
	right: calc(10% - 10px);
	position: fixed;
	z-index: 99999999;
	min-width: 100%;
	min-height: 100%;
}

.rich-panel.message ul {
	margin: 0;
}

.modalPanelMensagem ul {
	margin-left: -8%;
}

.message li {
	background: no-repeat left center;
	padding-top: 1px;
	padding-left: 1px;
	list-style: none;
	min-height: 40px;
	border-left: 1px solid;
	border-bottom: 1px solid;
	border-top: 1px solid;
	border-right: 1px solid;
	line-height: 40px;
	margin: 0;
}

.message li.infomsg {
	background-image: url(../img/msginfo.png);
	background-color: #377120;
	background-position: 2% 50%;
}

.message li.errormsg {
	background-image: url(../img/msgerror.png);
	background-color: antiquewhite;
	background-position: 2% 50%;
}

.message li.warnmsg {
	background-image: url(../img/msgwarn.png);
	background-color: lightyellow;
	background-position: 2% 50%;
}


.messagemodal {
	list-style: none;
	list-style-position: inside;
	background: none;
	color: #000000;
	font-size: 12px;
	border: 0;
	top: calc(0 - 10px);
	z-index: 99999999;
	min-height: auto;
	min-width: auto;
	text-align: center;
}

.rich-panel.messagemodal ul {
	margin: 0;
}

.messagemodal li {
	background: no-repeat left center;
	padding-top: 1px;
	padding-left: 1px;
	list-style: none;
	border-left: 1px solid;
	border-bottom: 1px solid;
	border-top: 1px solid;
	border-right: 1px solid;
	line-height: 20px;
	margin: 0;
}

.messagemodal li.infomsg {
	/*background-image: url(../img/msginfo.png);*/
	background-color: #377120;
	background-position: 2% 50%;
}

.messagemodal li.errormsg {
	/*background-image: url(../img/msgerror.png);*/
	background-color: antiquewhite;
	background-position: 2% 50%;
}

.messagemodal li.warnmsg {
	/*background-image: url(../img/msgwarn.png);*/
	background-color: lightyellow;
	background-position: 2% 50%;
}

div.messagemodal infomessage {
	color: green;
	font-size: 20px;
}

div.messagemodal errormessage {
	color: #CB0707;
	font-size: 30px;
}

div.messagemodal warnmessage {
	color: yellow;
	font-size: 40px;
}

.rich-stglpanel-body {
	overflow: auto;
}

h2.titulo {
	font-size: 16px;
}

h4 {
	color: #666666;
}

h5 {
	color: #006699;
	font-size: 14px;
}

.separatorTitulo {
	background-image: none !important;
	background-color: #666666;
	height: 1px;
}

.separatorSubTitulo {
	background-image: none !important;
	background-color: #006699;
	height: 1px;
}

#Wrapper {
	background-image: none;
}

.actionButton {
	padding: 3px;
}

#mensagemPagina {
	color: #000000;
	font-size: 14px;
}

input[disabled='disabled'] {
	border: 1px !important;
}

table thead tr th.collumnHeaderWrap {
	white-space: normal;
}

.table-white-bg-color {
	background-color: #FFFFFF;
}

*.Clear {
	font-size: 0px;
	line-height: 0px;
	height: 0px;
	clear: both;
}

div.message infomessage {
	color: green;
	font-size: 20px;
}

div.message errormessage {
	color: #CB0707;
	font-size: 30px;
}

div.message warnmessage {
	color: yellow;
	font-size: 40px;
}

.fontesRelatorioValores {
	font-size: 9px;
}

.dr-table .rich-table {
	background-color: #fff;
	border-left: 1px solid #c0c0c0;
	border-top: 1px solid #c0c0c0;
	empty-cells: show;
}

.linkbutton {
	background-image: url(../img/color_btn.png);
	border: 1px solid #900000;
	color: #FFFFFF;
	font-weight: bold;
	padding: 1px 4px;
	text-decoration: none;
}

.labelDestak {
	font-size: 16px;
	font-style: italic;
	font-weight: bold;
}

.coluna1 {
	border: 1px solid;
	padding: 10px;
	width: 50%;
	vertical-align: top;
}

.coluna2 {
	border: 1px solid;
	padding: 10px;
	vertical-align: top;
	width: 50%;
	vertical-align: top;
}

.coluna1-noborder {
	border: 0px solid;
	width: 50%;
	vertical-align: top;
}

.coluna2-noborder {
	border: 0px solid;
	vertical-align: top;
	width: 50%;
}

.coluna2-noborder {
	border: 0px solid;
	vertical-align: top;
	width: 50%;
}

.v-align-top {
	border: 0px;
	vertical-align: top;
}

.iternalTable {
	border-right: 0px;
	border-bottom: 0px;
}

.boolean-checkbox {
	margin-left: 7px;
}

.coluna-40 {
	padding: 10px;
	vertical-align: top;
	width: 40%
}

.coluna-60 {
	padding: 10px;
	vertical-align: top;
	width: 60%
}

.noSemMarcacao {
	text-decoration: none;
}

.noDesabilitado {
	color: gray;
}

.negrito-10 {
	font-size: 10pt;
	font-weight: bold;
}

.negrito-12 {
	font-size: 12pt;
	font-weight: bold;
}

.negrito-12-blue {
	font-size: 12pt;
	font-weight: bold;
	color: blue;
}

.negrito-red {
	font-weight: bold;
	color: red;
}
.negrito-blue {
	font-weight: bold;
	color: blue;
}
.negrito-12-red {
	font-size: 12pt;
	font-weight: bold;
	color: red;
}

.negrito-12-gray {
	font-size: 12pt;
	font-weight: bold;
	color: gray;
}

.label-12 {
	font-size: 12pt;
}

.label-12-blue {
	font-size: 12pt;
	color: blue;
}

.label-12-red {
	font-size: 12pt;
	color: red;
}

.label-12-gray {
	font-size: 12pt;
	color: gray;
}

.label-8-gray {
	font-size: 8pt;
	color: gray;
}

.label-14-gray {
	font-size: 14pt;
	color: gray;
	font-weight: bold;
}

.negrito-10 {
	font-size: 10pt;
	font-weight: bold;
}

.negrito {
	font-weight: bold;
}

.negrito-10-blue {
	font-size: 10pt;
	font-weight: bold;
	color: blue;
}

.negrito-10-red {
	font-size: 10pt;
	font-weight: bold;
	color: red;
}

.negrito-10-gray {
	font-size: 10pt;
	font-weight: bold;
	color: gray;
}

.label-10 {
	font-size: 10pt;
}

.label-10-blue {
	font-size: 10pt;
	color: blue;
}

.label-10-red {
	font-size: 10pt;
	color: red;
}

.label-10-gray {
	font-size: 10pt;
	color: gray;
}


.column-left-width-5 {
	border: 0px;
	padding: 0px;
	text-align: left;
	width: 5%;
}

.column-left-width-25 {
	border: 0px;
	padding: 0px;
	text-align: left;
	width: 25%;
}

.column-center-width-25 {
	border: 0px;
	padding: 0px;
	text-align: center;
	width: 25%;
}

.column-right-width-25 {
	border: 0px;
	padding: 0px;
	width: 25%;
	text-align: right;
}

.column-left-width-50 {
	border: 0px;
	padding: 0px;
	text-align: left;
	width: 50%;
	vertical-align: bottom;
}

.column-right-width-50 {
	border: 0px;
	padding: 0px;
	width: 50%;
	text-align: right;
	vertical-align: bottom;
}

.column-left-content-bottom {
	border: 0px;
	padding: 0px;
	text-align: left;
	vertical-align: bottom;
}

.column-right-content-bottom {
	border: 0px;
	padding: 0px;
	text-align: right;
	vertical-align: bottom;
}

.column-center-content-bottom {
	border: 0px;
	padding: 0px;
	text-align: center;
	vertical-align: bottom;
}

.tooltip {
	border-width: 1px;
	padding: 10px;
}

.tooltipLabel {
	float: right;
	font-size: 10pt;
}

.tooltipLabel-negrito {
	float: right;
	font-size: 10pt;
	font-weight: bold;
}

.tooltipData {
	font-size: 10pt;
}

.tooltipData-blue {
	font-size: 10pt;
	color: blue;
}

.tooltipData-red {
	font-size: 10pt;
	color: red;
}

.tooltipTitle {
	font-size: 10pt;
	color: gray;
	font-weight: bold;
}

.content-right-bottom {
	vertical-align: bottom;
	text-align: right;
}

.content-right-bottom-30 {
	width: 30%;
	vertical-align: bottom;
	text-align: right;
}

.content-left-bottom-30 {
	width: 30%;
	vertical-align: bottom;
	text-align: left;
}

.radio-etiqueta tr>td {
	padding-bottom: 60px;
}

.radio-etiqueta tr ~ tr td {
	padding-bottom: 0px;
}

.analise-cotacao-selecionado {
	text-decoration: underline;
}

.imagem-menu {
	width: 947px;
	height: 257px;
	margin-top: 125px;
	margin-left: 258px;
	opacity: 0.2;
	position: absolute;
}

.analise-cotacao-odd-group {
	background-color: #f0f0f5;
}

.analise-cotacao-even-group {
	background-color: #e0e0eb;
}

.analise-cotacao-odd-group-first {
	background-color: #f0f0f5;
	font-weight: bold;
}

.analise-cotacao-even-group-first {
	font-weight: bold;
	background-color: #e0e0eb;
}

.default-even-row {
	background-color: #f0f0f5;
}

.default-odd-row {
	background-color: #e0e0eb;
}

.campo-pesquisa-requerido {
	background: #ffffcc !important;
}

.circle-button {
	border-radius: 100px;
	font-size: 16px;
	height: 28px;
	width: 28px;
}

.componente-rodape {
	font-weight: bold;
	background-color: #ccc;
	border:#ccc;
}

.alinhamento-direita {
	text-align:right;
}

.alinhamento-esquerda {
	text-align:left;
}

.coluna50PercenteTop {
	width: 50%;
	vertical-align: top;
}

.vertical-middle-horizontal-center {
	text-align: center;
	vertical-align: middle;
}

.vertical-top-horizontal-center {
	text-align: right;
	vertical-align: top;
}

.vertical-middle-horizontal-right {
	text-align: right;
	vertical-align: middle;
}

/* ===== Pagination footer (Pedidos) ===== */
.pager-footer {
	text-align: right;
	padding: 8px 4px;
	white-space: nowrap; /* keep controls on one line */
}
.pager-footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	padding: 6px 0;
}
.pager-summary {
	font-weight: bold;
	margin-right: 8px;
}
.pager-size-selector {
	width: 64px;
	min-width: 64px;
}
.pager-button {
	padding: 2px 6px;
}

.pager-footer .pager-summary {
	margin-right: 10px;
	font-weight: bold;
}

/* Compact buttons for pager (override default wide inputs) */
input.pager-button,
input.pager-button[type="button"],
input.pager-button[type="submit"] {
	width: auto;
	min-width: 72px;
	height: 26px;
	padding: 2px 10px;
	margin-left: 6px;
}

/* Page size selector */
select.pager-size-selector {
	height: 26px;
	font-size: 12px;
	margin: 0 6px;
}

/* Ensure RichFaces table footer doesn't add unexpected spacing */
.rich-table-footer .pager-footer {
	padding: 6px 8px;
}

/* ========================================
   MODAIS DE PEDIDOS - Usando tema padrão
   ======================================== */

/* Layout apenas - sem cores customizadas */
.pedido-info-row {
	display: table;
	width: 100%;
	padding: 4px 0;
	border-bottom: 1px solid #e0e0e0;
}

.pedido-info-row:last-child {
	border-bottom: none;
}

.pedido-info-label {
	display: table-cell;
	width: 120px;
	font-weight: bold;
	font-size: 11px;
	padding-right: 10px;
}

.pedido-info-value {
	display: table-cell;
	font-size: 11px;
}

.pedido-numero-destaque {
	font-size: 14px;
	font-weight: bold;
}

/* Observações */
.pedido-observacao-label {
	display: block;
	font-weight: bold;
	margin: 10px 0 4px 0;
	font-size: 11px;
}

.pedido-observacao-textarea {
	width: 98%;
	min-height: 60px;
	padding: 6px;
	font-size: 11px;
	resize: vertical;
}

/* Nota fiscal */
.pedido-nota-row {
	padding: 4px 0;
}

.pedido-nota-label {
	display: inline-block;
	width: 90px;
	font-weight: bold;
	font-size: 11px;
}

.pedido-nota-input {
	padding: 4px;
	font-size: 11px;
	width: 200px;
}

/* Rodapé */
.pedido-modal-footer {
	padding: 10px;
	text-align: center;
	border-top: 1px solid #cccccc;
	background: #f5f5f5;
}

/* Botões do rodapé - ajuste de largura automática */
.pedido-modal-footer .rich-button,
.pedido-modal-footer input[type="button"],
.pedido-modal-footer button,
.pedido-modal-footer .pedido-modal-link-button {
	min-width: 170px;
	margin: 0 4px;
	white-space: nowrap;
	padding: 6px 12px;
}

body.app-theme-ugestor #rodape {
	background-color: #007c8e;
}

body.app-theme-ugestor .content-rodape {
	color: #007c8e;
}

body.app-theme-ugestor legend {
	color: #007c8e;
}

.pedido-modal-footer .pedido-modal-link-button {
	display: inline-block;
	font: bold 11px Arial;
	text-align: center;
	text-decoration: none;
	background-color: #007586;
	color: #FFFFFF;
	border-top: 1px solid #CCCCCC;
	border-right: 1px solid #333333;
	border-bottom: 1px solid #333333;
	border-left: 1px solid #CCCCCC;
	box-sizing: border-box;
}

/* Ícones informativos */
.pedido-icon {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 6px;
	vertical-align: middle;
}

/* Divisor visual */
.pedido-divider {
	height: 1px;
	background: linear-gradient(to right, transparent, #dee2e6, transparent);
	margin: 16px 0;
}

/* Responsividade para modais */
@media (max-width: 600px) {
	.pedido-info-row {
		flex-direction: column;
	}

	.pedido-info-label {
		margin-bottom: 4px;
	}

	.pedido-modal-footer {
		flex-direction: column;
	}

	.pedido-btn {
		width: 100%;
	}
}

/* Fundação visual comum para telas Seam/JSF e componentes RichFaces 3.3.
 * As cores continuam isoladas pelo tema definido no profile Maven ativo. */
body.app-theme-ugestor .conteudo .rich-panel:not(.message):not(.messagemodal),
body.app-theme-ruby .conteudo .rich-panel:not(.message):not(.messagemodal) {
	margin: 14px 0;
	border: 1px solid #d1e0e6;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(23, 63, 75, .06);
}

body.app-theme-ugestor .conteudo .rich-panel-header,
body.app-theme-ruby .conteudo .rich-panel-header {
	padding: 11px 15px !important;
	border: 0 !important;
	background-image: none !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.3;
}

body.app-theme-ugestor .conteudo .rich-panel-header {
	background-color: #087f8c !important;
}

body.app-theme-ruby .conteudo .rich-panel-header {
	background-color: #a02214 !important;
}

body.app-theme-ugestor .conteudo .rich-panel-body,
body.app-theme-ruby .conteudo .rich-panel-body {
	padding: 18px 20px !important;
	background-color: #fff;
}

body.app-theme-ugestor .conteudo .rich-tabpanel,
body.app-theme-ruby .conteudo .rich-tabpanel {
	margin-top: 14px;
	border: 1px solid #ccdce3;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(23, 63, 75, .05);
}

body.app-theme-ugestor .conteudo .rich-tab-header,
body.app-theme-ruby .conteudo .rich-tab-header {
	min-height: 38px;
	padding: 0 16px !important;
	border-color: #c5d3d9 !important;
	background: #f1f5f7 !important;
	background-image: none !important;
	color: #31505e !important;
	font-size: 13px;
	font-weight: bold;
	line-height: 38px;
}

body.app-theme-ugestor .conteudo .rich-tab-active,
body.app-theme-ruby .conteudo .rich-tab-active {
	border-top-width: 3px !important;
	background: #fff !important;
	background-image: none !important;
}

body.app-theme-ugestor .conteudo .rich-tab-active {
	border-top-color: #0094a7 !important;
	color: #057887 !important;
}

body.app-theme-ruby .conteudo .rich-tab-active {
	border-top-color: #b52418 !important;
	color: #a02214 !important;
}

body.app-theme-ugestor .conteudo .rich-tabhdr-cell,
body.app-theme-ruby .conteudo .rich-tabhdr-cell {
	vertical-align: bottom;
}

body.app-theme-ugestor .conteudo .rich-table,
body.app-theme-ruby .conteudo .rich-table {
	border-color: #cddde4 !important;
	background: #fff;
}

body.app-theme-ugestor .conteudo .rich-table-headercell,
body.app-theme-ruby .conteudo .rich-table-headercell {
	padding: 10px 12px !important;
	border-color: #c5d6de !important;
	background: #edf4f6 !important;
	background-image: none !important;
	color: #214958 !important;
	font-size: 12px;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .rich-table-cell,
body.app-theme-ruby .conteudo .rich-table-cell {
	padding: 9px 12px !important;
	border-color: #d9e4e9 !important;
	color: #294854;
}

body.app-theme-ugestor .conteudo .rich-table-row:nth-child(even),
body.app-theme-ruby .conteudo .rich-table-row:nth-child(even) {
	background-color: #f8fbfc;
}

body.app-theme-ugestor .conteudo fieldset,
body.app-theme-ruby .conteudo fieldset {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
	margin: 14px 0;
	padding: 17px 20px 20px;
	border: 1px solid #d1e0e6;
	border-radius: 5px;
	background: #fcfeff;
}

body.app-theme-ugestor .conteudo legend,
body.app-theme-ruby .conteudo legend {
	padding: 0 7px;
	background: transparent;
	font-size: 15px;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo legend {
	color: #087f8c;
}

body.app-theme-ruby .conteudo legend {
	color: #a02214;
}

body.app-theme-ugestor .conteudo input[type="text"],
body.app-theme-ugestor .conteudo input[type="password"],
body.app-theme-ugestor .conteudo textarea,
body.app-theme-ugestor .conteudo select,
body.app-theme-ruby .conteudo input[type="text"],
body.app-theme-ruby .conteudo input[type="password"],
body.app-theme-ruby .conteudo textarea,
body.app-theme-ruby .conteudo select {
	min-height: 34px;
	padding: 6px 9px;
	border: 1px solid #b9cdd6;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	color: #234652;
	font-size: 13px;
	line-height: 1.35;
}

body.app-theme-ugestor .conteudo textarea,
body.app-theme-ruby .conteudo textarea {
	min-height: 70px;
	resize: vertical;
}

body.app-theme-ugestor .conteudo input[type="text"]:focus,
body.app-theme-ugestor .conteudo input[type="password"]:focus,
body.app-theme-ugestor .conteudo textarea:focus,
body.app-theme-ugestor .conteudo select:focus,
body.app-theme-ruby .conteudo input[type="text"]:focus,
body.app-theme-ruby .conteudo input[type="password"]:focus,
body.app-theme-ruby .conteudo textarea:focus,
body.app-theme-ruby .conteudo select:focus {
	border-color: #0796a7;
	box-shadow: 0 0 0 2px rgba(7, 150, 167, .13);
	outline: 0;
}

body.app-theme-ugestor .conteudo .rich-mpnl-content,
body.app-theme-ruby .conteudo .rich-mpnl-content {
	border: 1px solid #c9dce3 !important;
	border-radius: 7px;
	box-shadow: 0 18px 42px rgba(12, 43, 54, .28);
	overflow: hidden;
}

body.app-theme-ugestor .conteudo .rich-mpnl-header,
body.app-theme-ruby .conteudo .rich-mpnl-header {
	padding: 12px 16px !important;
	border: 0 !important;
	background-image: none !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .rich-mpnl-header {
	background-color: #087f8c !important;
}

body.app-theme-ruby .conteudo .rich-mpnl-header {
	background-color: #a02214 !important;
}

body.app-theme-ugestor .conteudo .rich-mpnl-body,
body.app-theme-ruby .conteudo .rich-mpnl-body {
	padding: 20px !important;
	background: #fff;
}

@media screen and (max-width: 760px) {
	body.app-theme-ugestor .conteudo .rich-panel-body,
	body.app-theme-ruby .conteudo .rich-panel-body {
		padding: 14px !important;
	}

	body.app-theme-ugestor .conteudo .rich-tab-header,
	body.app-theme-ruby .conteudo .rich-tab-header {
		padding: 0 10px !important;
		font-size: 12px;
	}

	body.app-theme-ugestor .conteudo fieldset,
	body.app-theme-ruby .conteudo fieldset {
		padding: 14px;
	}
}

/* Formulario de legenda RCS: reutiliza a composicao de formulario simples e
 * limita os ajustes ao cadastro contabil sem afetar outros decoradores. */
.app-rcs-legend-maintenance-form > .app-legacy-heading-separator,
.app-rcs-legend-maintenance-form > .app-legacy-layout-break {
	display: none;
}

.app-rcs-legend-maintenance-fields {
	box-sizing: border-box;
	max-width: 980px;
}

body.app-theme-ugestor .conteudo .app-rcs-legend-maintenance-fields input[type="text"],
body.app-theme-ruby .conteudo .app-rcs-legend-maintenance-fields input[type="text"] {
	box-sizing: border-box;
	max-width: 100%;
}

.app-rcs-legend-maintenance-fields .codigo-legenda {
	width: 240px;
}

.app-rcs-legend-maintenance-fields .uppercase {
	width: 620px;
}

.app-rcs-legend-maintenance-fields .regra-tributaria {
	width: 760px;
}

.app-rcs-legend-reference-link {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin-top: 14px;
	padding: 0 14px;
	border: 1px solid #cbd8e8;
	border-radius: 4px;
	background: #f6f9fc;
	color: #10213d !important;
	font-weight: bold;
	text-decoration: none !important;
}

.app-rcs-legend-reference-link:hover,
.app-rcs-legend-reference-link:focus {
	border-color: #ff5a1f;
	background: #fff4ef;
	color: #e94a16 !important;
}

@media screen and (max-width: 760px) {
	.app-rcs-legend-maintenance-fields .name,
	.app-rcs-legend-maintenance-fields .value {
		float: none;
		width: 100%;
	}

	.app-rcs-legend-maintenance-fields .name {
		padding: 5px 0 3px;
	}

	.app-rcs-legend-maintenance-fields .codigo-legenda,
	.app-rcs-legend-maintenance-fields .uppercase,
	.app-rcs-legend-maintenance-fields .regra-tributaria {
		width: 100% !important;
	}
}

/* Cabeçalho de contexto reutilizável para telas legadas ------------------- */
.app-page-heading {
	box-sizing: border-box;
	position: relative;
	min-height: 92px;
	margin: 16px 0 14px;
	padding: 19px 24px 18px;
	overflow: hidden;
	border: 1px solid #d3e0e5;
	border-left: 5px solid #0094a7;
	border-radius: 4px;
	background: #f8fcfd;
	box-shadow: 0 6px 16px rgba(10, 56, 72, .07);
}

body.app-theme-ruby .app-page-heading {
	/* O cabeçalho operacional segue a referência de Produtos em todos os
	 * profiles; a separação de tema permanece nas demais regras específicas. */
	border-left-color: #0094a7;
	background: #f8fcfd;
}

.app-page-heading:after {
	position: absolute;
	width: 176px;
	height: 176px;
	right: -72px;
	top: -104px;
	border: 1px solid rgba(0, 148, 167, .12);
	border-radius: 50%;
	background: rgba(0, 148, 167, .055);
	content: "";
}

body.app-theme-ruby .app-page-heading:after {
	border-color: rgba(0, 148, 167, .12);
	background: rgba(0, 148, 167, .055);
}

.app-page-heading-com-acoes {
	display: flex;
	align-items: center;
	gap: 22px;
}

.app-page-heading-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    flex: 1 1 auto;
}

/*
 * Cabeçalhos criados pelo normalizador seguem a referência visual de
 * Produtos: conteúdo compacto e ações na mesma linha, à direita.
 */
body.app-theme-ugestor .app-page-heading.app-page-heading-auto,
body.app-theme-ruby .app-page-heading.app-page-heading-auto {
    min-height: 0 !important;
    margin-top: 14px;
    margin-bottom: 10px;
    padding-top: 14px;
    padding-bottom: 14px;
}

body.app-theme-ugestor .app-page-heading.app-page-heading-com-acoes > .app-page-actions,
body.app-theme-ruby .app-page-heading.app-page-heading-com-acoes > .app-page-actions {
    flex: 0 0 auto;
    width: auto !important;
    margin: 0 0 0 auto !important;
    float: none !important;
    text-align: right !important;
    justify-content: flex-end;
}

body.app-theme-ugestor .app-page-heading .app-page-actions-table,
body.app-theme-ruby .app-page-heading .app-page-actions-table {
    width: auto !important;
    max-width: none !important;
    margin: 0 0 0 auto !important;
    float: right !important;
}

body.app-theme-ugestor .app-page-heading .app-page-actions-table > tbody > tr > td,
body.app-theme-ruby .app-page-heading .app-page-actions-table > tbody > tr > td {
    text-align: right !important;
}

.app-page-eyebrow {
	display: block;
	margin-bottom: 7px;
	color: #007c8d;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: .1em;
	text-transform: uppercase;
}

body.app-theme-ruby .app-page-eyebrow {
	color: #007c8d;
}

.app-page-heading h2,
body.app-theme-ugestor .conteudo > h2,
body.app-theme-ruby .conteudo > h2 {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #0d435a;
	font-size: 31px;
	font-weight: bold;
	line-height: 1.16;
}

.app-page-heading p {
	position: relative;
	z-index: 1;
	max-width: 780px;
	margin: 7px 0 0;
	color: #527083;
	font-size: 16px;
	line-height: 1.45;
}

.app-page-actions-grid {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0 0 18px;
}

.app-page-actions-grid > tbody > tr > td {
	vertical-align: middle;
}

.app-page-actions-grid .rich-button,
.app-page-actions-grid input[type="button"],
.app-page-actions-grid input[type="submit"] {
	margin-top: 0 !important;
}

body.app-theme-ugestor .conteudo > h2,
body.app-theme-ruby .conteudo > h2 {
	box-sizing: border-box;
	min-height: 80px;
	margin: 16px 0 0;
	padding: 23px 24px;
	overflow: hidden;
	border: 1px solid #d3e0e5;
	border-left: 5px solid #0094a7;
	border-radius: 4px;
	background: #f8fcfd;
	box-shadow: 0 6px 16px rgba(10, 56, 72, .07);
}

body.app-theme-ruby .conteudo > h2 {
	border-left-color: #0094a7;
	background: #f8fcfd;
}

body.app-theme-ugestor .conteudo > h2 + .separatorTitulo,
body.app-theme-ruby .conteudo > h2 + .separatorTitulo {
	display: none;
}

/*
 * Cabeçalhos padronizados: preserva todos os comandos JSF/RichFaces e posiciona
 * as ações principais no limite direito sem usar espaços ou células vazias.
 */
@media screen and (min-width: 851px) {
	body.app-theme-ugestor .app-page-heading.app-page-heading-com-acoes,
	body.app-theme-ruby .app-page-heading.app-page-heading-com-acoes,
	body.app-theme-ugestor .produto-page-heading.produto-page-heading-com-acoes,
	body.app-theme-ruby .produto-page-heading.produto-page-heading-com-acoes {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) max-content !important;
		column-gap: 24px !important;
		align-items: center !important;
		min-height: 0 !important;
	}

	body.app-theme-ugestor .app-page-heading.app-page-heading-com-acoes > .app-page-heading-content,
	body.app-theme-ruby .app-page-heading.app-page-heading-com-acoes > .app-page-heading-content,
	body.app-theme-ugestor .produto-page-heading.produto-page-heading-com-acoes > .produto-page-heading-content,
	body.app-theme-ruby .produto-page-heading.produto-page-heading-com-acoes > .produto-page-heading-content {
		grid-column: 1;
		min-width: 0;
	}

	body.app-theme-ugestor .app-page-heading.app-page-heading-com-acoes > .app-page-actions,
	body.app-theme-ruby .app-page-heading.app-page-heading-com-acoes > .app-page-actions,
	body.app-theme-ugestor .produto-page-heading.produto-page-heading-com-acoes > .produto-page-actions,
	body.app-theme-ruby .produto-page-heading.produto-page-heading-com-acoes > .produto-page-actions {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		align-self: center;
		width: auto !important;
		max-width: 100%;
		margin: 0 !important;
		text-align: right !important;
	}

	body.app-theme-ugestor .app-page-heading .app-page-actions-table,
	body.app-theme-ruby .app-page-heading .app-page-actions-table,
	body.app-theme-ugestor .produto-page-heading .produto-page-actions-table,
	body.app-theme-ruby .produto-page-heading .produto-page-actions-table {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		width: auto !important;
		margin: 0 !important;
		float: none !important;
	}
}

@media screen and (max-width: 850px) {
	.app-page-heading-com-acoes {
		display: block;
	}

	body.app-theme-ugestor .app-page-heading.app-page-heading-com-acoes > .app-page-actions,
	body.app-theme-ruby .app-page-heading.app-page-heading-com-acoes > .app-page-actions {
		margin-top: 14px !important;
		margin-left: 0 !important;
	}

	.app-page-heading h2,
	body.app-theme-ugestor .conteudo > h2,
	body.app-theme-ruby .conteudo > h2 {
		font-size: 25px;
	}

	.app-page-heading p {
		font-size: 14px;
	}
}

@media screen and (max-width: 767px) {
	.app-asset-form-panel .app-asset-business-layout,
	.app-asset-form-panel .app-asset-business-layout > tbody,
	.app-asset-form-panel .app-asset-business-layout > tbody > tr,
	.app-asset-form-panel .app-asset-business-layout > tbody > tr > td,
	.app-asset-form-panel .app-asset-contract-layout,
	.app-asset-form-panel .app-asset-contract-layout > tbody,
	.app-asset-form-panel .app-asset-contract-layout > tbody > tr,
	.app-asset-form-panel .app-asset-contract-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-asset-form-panel .app-asset-business-layout > tbody > tr > td,
	.app-asset-form-panel .app-asset-contract-layout > tbody > tr > td {
		padding-right: 0;
	}

	.app-asset-form-panel input[type="text"],
	.app-asset-form-panel select,
	.app-asset-form-panel textarea,
	.app-asset-form-panel .app-asset-section-actions input[type="submit"],
	.app-asset-form-panel .app-asset-section-actions input[type="button"] {
		box-sizing: border-box;
		max-width: 100%;
		min-height: 44px !important;
	}

	.app-asset-form-panel input[type="checkbox"],
	.app-asset-form-panel input[type="radio"] {
		width: 20px;
		height: 20px;
	}

	.app-asset-form-panel .app-query-row-actions {
		min-width: 44px;
	}

	.app-asset-form-panel .app-query-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
	}

	.app-asset-form-panel .app-asset-accounting-fieldset img {
		box-sizing: content-box;
		width: 16px;
		height: 16px;
		min-width: 16px;
		min-height: 16px;
		padding: 14px !important;
		object-fit: contain;
	}
}

/* Consulta de Itens de Despesa: campos e cinco grades permanecem no mesmo
 * contrato responsivo das consultas cadastrais densas. */
.app-expense-item-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-expense-item-query-tabs,
.app-expense-item-query-tabs .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-expense-item-query-tabs .app-query-table {
	min-width: 840px;
}

@media screen and (max-width: 767px) {
	.app-expense-item-filter-fields .name,
	.app-expense-item-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-expense-item-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-expense-item-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-expense-item-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-expense-item-filter-fields select,
	body.app-theme-ruby .conteudo .app-expense-item-filter-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-expense-item-filter-fields input[type="radio"] {
		width: 22px;
		height: 22px;
	}
}

/* -------------------------------------------------------------------------
 * Contrato canônico de formulários de inclusão, edição e visualização.
 * Produtos é a única baseline geométrica. As classes app-maintenance-*
 * identificam explicitamente as telas já processadas e esta camada final
 * neutraliza variações contextuais de margem, posição, painel, abas e campos.
 * ------------------------------------------------------------------------- */
body.app-theme-ugestor .conteudo .app-maintenance-form,
body.app-theme-ruby .conteudo .app-maintenance-form {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-heading,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-heading {
	box-sizing: border-box;
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 24px !important;
	width: 100%;
	min-height: 0 !important;
	margin: 6px 0 12px !important;
	padding: 16px 24px !important;
	overflow: hidden;
	border: 1px solid #f0d4c8 !important;
	border-left: 5px solid #ff5a1f !important;
	border-radius: 4px !important;
	background: linear-gradient(110deg, #ffffff 0%, #fffaf7 68%, #fff1ea 100%) !important;
	box-shadow: 0 8px 22px rgba(8, 20, 47, .07) !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-heading:after,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-heading:after {
	position: absolute;
	top: -104px;
	right: -72px;
	width: 176px;
	height: 176px;
	border: 1px solid rgba(255, 90, 31, .16) !important;
	border-radius: 50%;
	background: rgba(255, 90, 31, .06) !important;
	content: "";
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-heading-content,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-heading-content {
	position: relative;
	z-index: 1;
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	max-width: none !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-eyebrow,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-eyebrow {
	display: block;
	margin: 0 0 4px !important;
	color: #e94a16 !important;
	font-size: 11px !important;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.35;
	text-transform: uppercase;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-heading h2,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-heading h2 {
	margin: 0 0 5px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #10213d !important;
	font-size: 25px !important;
	font-weight: bold;
	line-height: 1.18;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-heading p,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-heading p {
	max-width: 760px;
	margin: 0 !important;
	color: #58708d !important;
	font-size: 13px !important;
	line-height: 1.45;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-actions,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-actions {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 2;
	display: flex !important;
	flex: 0 0 auto;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: right !important;
	transform: none !important;
	white-space: nowrap;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-actions input[type="submit"],
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-actions input[type="submit"],
body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-actions input[type="button"],
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-actions input[type="button"] {
	box-sizing: border-box;
	width: auto !important;
	min-width: 112px !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 8px 17px !important;
	border-radius: 3px !important;
	font-size: 13px !important;
	font-weight: bold;
	letter-spacing: .01em;
	white-space: nowrap;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-panel,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-panel {
	box-sizing: border-box;
	width: 100%;
	margin: 12px 0 14px !important;
	border: 1px solid #f0d4c8 !important;
	border-radius: 7px !important;
	background: #ffffff !important;
	box-shadow: 0 7px 18px rgba(13, 67, 90, .055) !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-panel > .rich-panel-header,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-panel > .rich-panel-header {
	display: none !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-panel > .rich-panel-body {
	box-sizing: border-box;
	padding: 18px !important;
	border-radius: 7px !important;
	background: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-panel-tabbed > .rich-panel-body,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-panel-tabbed > .rich-panel-body {
	padding: 18px !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-panel-simple > .rich-panel-body,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-panel-simple > .rich-panel-body {
	padding: 18px !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-tabs,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-tabs {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-tabs .rich-tabpanel-content,
body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-tabs .rich-tabpanel-content {
	box-sizing: border-box;
	min-height: 188px;
	padding: 16px !important;
	background: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .name,
body.app-theme-ruby .conteudo .app-maintenance-form .name {
	box-sizing: border-box;
	width: 185px !important;
	color: #33434c;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.35;
}

body.app-theme-ugestor .conteudo .app-maintenance-form .value,
body.app-theme-ruby .conteudo .app-maintenance-form .value {
	box-sizing: border-box;
	min-height: 27px;
	line-height: 1.5;
}

body.app-theme-ugestor .conteudo .app-maintenance-form input[type="text"],
body.app-theme-ruby .conteudo .app-maintenance-form input[type="text"],
body.app-theme-ugestor .conteudo .app-maintenance-form input[type="password"],
body.app-theme-ruby .conteudo .app-maintenance-form input[type="password"],
body.app-theme-ugestor .conteudo .app-maintenance-form textarea,
body.app-theme-ruby .conteudo .app-maintenance-form textarea,
body.app-theme-ugestor .conteudo .app-maintenance-form select,
body.app-theme-ruby .conteudo .app-maintenance-form select {
	box-sizing: border-box;
	min-height: 28px;
	max-width: 100%;
	padding: 4px 7px;
	border: 1px solid #bccbd2;
	border-radius: 2px;
	background: #ffffff;
	color: #27353c;
	box-shadow: inset 0 1px 2px rgba(24, 44, 55, .05);
}

.app-maintenance-context-actions {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	margin: 0 0 12px;
	padding: 8px 12px;
	border: 1px solid #f0d4c8;
	border-radius: 7px;
	background: #fffaf7;
}

.app-maintenance-context-actions-between {
	justify-content: space-between;
	gap: 12px;
}

.app-maintenance-context-primary,
.app-maintenance-context-secondary {
	display: flex;
	align-items: center;
	min-width: 0;
}

.app-maintenance-context-primary {
	color: #314763;
	font-size: 12px;
	line-height: 1.4;
}

.app-maintenance-context-secondary {
	margin-left: auto;
}

@media screen and (max-width: 850px) {
	body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-heading,
	body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-heading {
		display: block !important;
		padding: 16px 17px !important;
	}

	body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-actions,
	body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-actions {
		justify-content: flex-end !important;
		width: 100% !important;
		margin: 14px 0 0 !important;
		white-space: normal;
	}

	body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-panel > .rich-panel-body,
	body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-panel > .rich-panel-body {
		padding: 14px !important;
	}

	body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-tabs .rich-tabpanel-content,
	body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-tabs .rich-tabpanel-content {
		padding: 14px !important;
	}

	body.app-theme-ugestor .conteudo .app-maintenance-form .name,
	body.app-theme-ruby .conteudo .app-maintenance-form .name,
	body.app-theme-ugestor .conteudo .app-maintenance-form .value,
	body.app-theme-ruby .conteudo .app-maintenance-form .value {
		box-sizing: border-box;
		float: none;
		width: 100% !important;
	}

	body.app-theme-ugestor .conteudo .app-maintenance-form .name,
	body.app-theme-ruby .conteudo .app-maintenance-form .name {
		padding: 5px 0 3px;
	}

	.app-maintenance-context-actions {
		justify-content: flex-start;
		padding: 8px;
	}

	.app-maintenance-context-actions-between {
		align-items: flex-start;
		flex-wrap: wrap;
	}
}

@media screen and (max-width: 480px) {
	body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-heading h2,
	body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-heading h2 {
		font-size: 23px !important;
	}

	body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-actions input[type="submit"],
	body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-actions input[type="submit"],
	body.app-theme-ugestor .conteudo .app-maintenance-form .app-maintenance-actions input[type="button"],
	body.app-theme-ruby .conteudo .app-maintenance-form .app-maintenance-actions input[type="button"] {
		flex: 1 1 100%;
		width: 100% !important;
	}
}

/* Cotacao externa do fornecedor: neutraliza a geometria absoluta do legado
 * sem alterar o contrato publico, os dados submetidos ou o fluxo Ajax. */
.app-supplier-quotation-content {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin-top: 0;
}

.app-supplier-quotation-layout {
	box-sizing: border-box;
	width: 100%;
	table-layout: fixed;
}

.app-supplier-quotation-form fieldset {
	min-width: 0;
}

.app-supplier-quotation-layout > tbody > tr > td {
	box-sizing: border-box;
	vertical-align: top;
	padding: 0 10px !important;
}

@media screen and (min-width: 768px) {
	.app-supplier-quotation-layout > tbody > tr > td.app-supplier-quotation-left-column {
		width: 280px;
	}
}

.app-supplier-quotation-summary,
.app-supplier-quotation-observation {
	display: block;
	box-sizing: border-box;
	width: 100%;
}

.app-supplier-quotation-observation textarea,
.app-supplier-quotation-payment,
.app-supplier-quotation-payment fieldset {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
}

.app-supplier-quotation-observation textarea {
	min-width: 0;
}

.app-supplier-quotation-status,
.app-supplier-quotation-section-title {
	position: static;
	float: none;
	clear: both;
	margin: 0 0 14px;
	color: #173d49;
	font-size: 20px;
	line-height: 1.3;
}

@media screen and (max-width: 767px) {
	.app-supplier-quotation-layout,
	.app-supplier-quotation-layout > tbody,
	.app-supplier-quotation-layout > tbody > tr,
	.app-supplier-quotation-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
	}

	.app-supplier-quotation-layout > tbody > tr > td {
		padding: 0 !important;
	}

	.app-supplier-quotation-layout > tbody > tr > td + td {
		margin-top: 18px;
	}

	.app-supplier-quotation-form fieldset {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		margin: 0;
	}

	.app-supplier-quotation-form .app-table-scroll {
		width: 100%;
		max-width: 100%;
	}

	.app-supplier-quotation-form .app-query-row-actions {
		min-width: max-content;
	}

	.app-supplier-quotation-observation textarea {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 112px;
	}

	.app-supplier-quotation-status,
	.app-supplier-quotation-section-title {
		margin: 0 0 12px;
		font-size: 18px;
	}
}

/* Cotacao: as abas preservam todos os dados do legado, mas paineis de inclusao
 * e grids deixam de impor largura fixa ao Smartphone. */
.app-quotation-maintenance-form [id$="panelPedido"],
.app-quotation-maintenance-form [id$="addProdutoPanel"],
.app-quotation-maintenance-form [id$="addDespesaPanel"],
.app-quotation-maintenance-form [id$="addMaterialPanel"],
.app-quotation-maintenance-form [id$="addServicoPanel"],
.app-quotation-maintenance-form [id$="addDespesaGastoPanel"],
.app-quotation-maintenance-form [id$="addBemPanel"] {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 420px;
}

.app-quotation-maintenance-form [id$="listCompraEstoqueProdDiv"],
.app-quotation-maintenance-form [id$="listCompraDespesaDiv"],
.app-quotation-maintenance-form [id$="listCompraMaterialDiv"],
.app-quotation-maintenance-form [id$="listCompraServicoDiv"],
.app-quotation-maintenance-form [id$="listCompraDespesaGastoDiv"],
.app-quotation-maintenance-form [id$="listCompraBemDiv"],
.app-quotation-maintenance-form [id$="cotacaoAnexoListaDiv"] {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	overflow-x: auto !important;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.app-quotation-maintenance-form [id$="listCompraEstoqueProdDiv"] > table,
.app-quotation-maintenance-form [id$="listCompraDespesaDiv"] > table,
.app-quotation-maintenance-form [id$="listCompraMaterialDiv"] > table,
.app-quotation-maintenance-form [id$="listCompraServicoDiv"] > table,
.app-quotation-maintenance-form [id$="listCompraDespesaGastoDiv"] > table,
.app-quotation-maintenance-form [id$="listCompraBemDiv"] > table,
.app-quotation-maintenance-form [id$="cotacaoAnexoListaDiv"] > table {
	width: 100%;
	min-width: 600px;
}

.app-quotation-maintenance-form [id$="gridCotacaoAnexoDiv"],
.app-quotation-maintenance-form [id$="gridPedidoAnexo"] {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	table-layout: fixed;
}

.app-quotation-maintenance-form [id$="cotacaoAnexoDiv"],
.app-quotation-maintenance-form [id$="gridCotacaoAnexoDiv"] > tbody,
.app-quotation-maintenance-form [id$="gridCotacaoAnexoDiv"] > tbody > tr,
.app-quotation-maintenance-form [id$="gridCotacaoAnexoDiv"] > tbody > tr > td,
.app-quotation-maintenance-form [id$="gridCotacaoAnexoDiv"] fieldset {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
}

@media screen and (max-width: 767px) {
	.app-quotation-maintenance-form .app-maintenance-context-actions {
		flex-wrap: wrap;
		gap: 8px;
	}

	.app-quotation-maintenance-form fieldset,
	.app-quotation-maintenance-form .rich-stglpanel,
	.app-quotation-maintenance-form .rich-stglpanel-body,
	.app-quotation-maintenance-form .rich-tabpanel-content {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
	}

	.app-quotation-maintenance-form textarea,
	.app-quotation-maintenance-form .app-autocomplete-control,
	.app-quotation-maintenance-form .app-autocomplete-input {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
	}

	.app-quotation-maintenance-form [id$="addProdutoButton"],
	.app-quotation-maintenance-form [id$="addDespesaButton"],
	.app-quotation-maintenance-form [id$="addMaterialButton"],
	.app-quotation-maintenance-form [id$="addServicoButton"],
	.app-quotation-maintenance-form [id$="addDespesaGastoButton"],
	.app-quotation-maintenance-form [id$="addBemButton"],
	.app-quotation-maintenance-form [id$="buttonsImportacaoDiv"] {
		display: flex;
		justify-content: flex-end;
		width: 100%;
	}

	.app-quotation-maintenance-form [id$="addProdutoButton"] input,
	.app-quotation-maintenance-form [id$="addDespesaButton"] input,
	.app-quotation-maintenance-form [id$="addMaterialButton"] input,
	.app-quotation-maintenance-form [id$="addServicoButton"] input,
	.app-quotation-maintenance-form [id$="addDespesaGastoButton"] input,
	.app-quotation-maintenance-form [id$="addBemButton"] input,
	.app-quotation-maintenance-form [id$="buttonsImportacaoDiv"] input {
		min-height: 44px !important;
	}
}

/* Redirecionamentos legados: estado de contingencia responsivo enquanto o
 * navegador encaminha para a tela canonica. */
.app-redirect-state {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	max-width: 680px;
	margin: 28px auto;
	padding: 26px;
	border-left: 5px solid #ff5a1f;
}

.app-redirect-state h2 {
	margin: 4px 0 10px;
	color: #10213d;
	font-size: 25px;
	line-height: 1.2;
}

.app-redirect-state-message {
	display: block;
	margin-bottom: 18px;
	color: #58708d;
	font-size: 14px;
	line-height: 1.5;
}

.app-redirect-state-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 4px;
	background: #008da5;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none !important;
}

.app-redirect-state-link:hover,
.app-redirect-state-link:focus {
	background: #006f83;
}

@media screen and (max-width: 480px) {
	.app-redirect-state {
		width: 100%;
		margin: 16px 0;
		padding: 20px 17px;
	}

	.app-redirect-state h2 {
		font-size: 22px;
	}

	.app-redirect-state-link {
		box-sizing: border-box;
		width: 100%;
		min-height: 44px;
	}
}

/* Pedido: configuracao do relatorio permanece fluida e operavel por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-sales-order-report-settings-modal,
	body.app-theme-ruby .app-sales-order-report-settings-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-sales-order-report-settings-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-sales-order-report-settings-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-sales-order-report-settings-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-sales-order-report-settings-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-sales-order-report-settings-modal .rich-mpnl-content,
	body.app-theme-ruby .app-sales-order-report-settings-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-sales-order-report-settings-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-sales-order-report-settings-modal-fields .name,
	.app-sales-order-report-settings-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-sales-order-report-settings-modal-fields .name {
		padding: 5px 0 3px;
	}

	.app-sales-order-report-settings-modal .app-control-options td {
		box-sizing: border-box;
		min-height: 44px;
	}

	.app-sales-order-report-settings-modal .app-control-options input[type="radio"] {
		box-sizing: content-box;
		width: 20px;
		height: 20px;
		margin: 0 4px 0 0 !important;
		padding: 12px 4px 12px 12px;
	}

	.app-sales-order-report-settings-modal .app-control-options input[type="radio"] + label {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.app-sales-order-report-settings-modal .app-modal-close-button,
	.app-sales-order-report-settings-modal-actions input[type="button"],
	.app-sales-order-report-settings-modal-actions .app-form-modal-action-link {
		min-height: 44px !important;
	}

	.app-sales-order-report-settings-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
	}
}

/* Pedido de Compras: formulario operacional alinhado ao baseline de Produtos. */
#requisitarPedidoForm .app-purchase-order-heading {
	gap: 24px;
	margin-bottom: 12px;
}

#requisitarPedidoForm .pedido-header {
	position: relative;
	display: flex;
	align-items: center;
	gap: 7px;
}

#requisitarPedidoForm #autoSaveSpinnerTitle {
	display: none;
	flex: 0 0 28px;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid #e94a16;
	border-radius: 50%;
	background: #ffffff;
	color: #e94a16;
	box-shadow: 0 3px 8px rgba(233, 74, 22, .18);
	font-size: 14px;
}

.app-purchase-order-primary-actions,
.app-purchase-order-status-actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 8px;
}

.app-purchase-order-primary-actions input[type="submit"],
.app-purchase-order-primary-actions input[type="button"] {
	box-sizing: border-box;
	min-width: 140px;
	min-height: 44px;
	margin: 0 !important;
	padding: 9px 16px !important;
}

.app-purchase-order-status-action {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 3px 9px 3px 4px;
	border: 1px solid #d7e1ed;
	border-radius: 7px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 2px 7px rgba(16, 33, 61, .06);
}

.app-purchase-order-status-action .circle-button {
	box-sizing: border-box;
	width: auto !important;
	min-width: 24px !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 2px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	color: #10213d !important;
	box-shadow: none !important;
	font-size: 13px;
	font-weight: bold;
}

.app-purchase-order-status-action .circle-button:hover:not([disabled]) {
	background: transparent !important;
	color: #e94a16 !important;
}

.app-purchase-order-status-action .circle-button[disabled] {
	border: 0 !important;
	background: transparent !important;
	color: #8a9aae !important;
	opacity: 1;
}

.app-purchase-order-status-action-active {
	border-color: #10213d;
	background: #10213d;
	box-shadow: 0 4px 10px rgba(16, 33, 61, .16);
}

.app-purchase-order-status-action-active .circle-button,
.app-purchase-order-status-action-active .circle-button:hover:not([disabled]),
.app-purchase-order-status-action-active a,
.app-purchase-order-status-action-active span {
	background: transparent !important;
	color: #ffffff !important;
}

.app-purchase-order-status-action a,
.app-purchase-order-status-action span {
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.2;
	text-decoration: none;
}

.app-purchase-order-status-action a:hover {
	color: #e94a16;
	text-decoration: none;
}

.app-purchase-order-query .app-filter-export-actions {
	flex-wrap: wrap;
}

.app-purchase-order-query .app-filter-export-actions .app-purchase-order-status-actions {
	width: auto;
	max-width: 100%;
	margin-left: 0;
}

#requisitarPedidoForm .app-purchase-order-content-grid {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0;
	border-collapse: collapse;
}

#requisitarPedidoForm .app-purchase-order-content-grid > tbody > tr > td {
	padding: 0 !important;
	vertical-align: top;
}

#requisitarPedidoForm .app-purchase-order-content-panel {
	margin: 0;
	background: #ffffff;
}

#requisitarPedidoForm .app-purchase-order-content-panel > .rich-panel-header {
	display: none;
}

#requisitarPedidoForm .app-purchase-order-content-panel > .rich-panel-body {
	padding: 0;
	background: transparent;
}

#requisitarPedidoForm .app-purchase-order-tabs {
	width: 100%;
	margin: 0;
}

#requisitarPedidoForm .app-purchase-order-tabs .rich-tabpanel-content {
	box-sizing: border-box;
	padding: 26px 24px;
}

/* Pedido de Compras: identificacao e resumo compartilham uma faixa compacta. */
#requisitarPedidoForm .app-purchase-order-overview {
	display: grid;
	grid-template-columns: minmax(230px, 278px) minmax(0, 1fr);
	align-items: stretch;
	gap: 14px;
	margin: 0;
	padding: 18px 20px 12px;
}

#requisitarPedidoForm .app-purchase-order-overview-context {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

#requisitarPedidoForm .app-purchase-order-context-card,
#requisitarPedidoForm .app-purchase-order-summary-card {
	box-sizing: border-box;
	min-width: 0;
	border: 1px solid #d7e1e8;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 3px 9px rgba(6, 29, 65, .04);
}

#requisitarPedidoForm .app-purchase-order-context-card {
	padding: 10px 11px;
	border-top: 3px solid #008fa6;
}

#requisitarPedidoForm .app-purchase-order-context-title,
#requisitarPedidoForm .app-purchase-order-summary-title {
	display: block;
	color: #061d41;
	font-size: 12px;
	font-weight: bold;
}

#requisitarPedidoForm .app-purchase-order-context-metadata {
	padding: 5px 0;
	border-bottom: 1px solid #edf0f3;
	color: #263d61;
	font-size: 11px;
	font-weight: bold;
}

#requisitarPedidoForm .app-purchase-order-context-metadata:first-of-type {
	margin-top: 5px;
}

#requisitarPedidoForm .app-purchase-order-context-metadata:last-child {
	border-bottom: 0;
}

#requisitarPedidoForm .app-purchase-order-summary-card {
	padding: 10px 12px 12px;
	border-top: 3px solid #ff5a1f;
}

#requisitarPedidoForm .app-purchase-order-summary-card:only-child {
	grid-column: 1 / -1;
}

#requisitarPedidoForm .app-purchase-order-summary-metrics {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin-top: 9px;
}

#requisitarPedidoForm .app-purchase-order-summary-metric {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 52px;
	padding: 7px 9px;
	border: 1px solid #e3eaee;
	border-radius: 4px;
	background: #fbfcfd;
}

#requisitarPedidoForm .app-purchase-order-summary-label {
	color: #566b88;
	font-size: 11px;
}

#requisitarPedidoForm .app-purchase-order-summary-value {
	margin-top: 3px;
	color: #061d41;
	font-size: 13px;
	font-weight: bold;
	white-space: nowrap;
}

#requisitarPedidoForm .app-purchase-order-summary-total {
	border-color: #b7dce3;
	background: #f1fbfd;
}

#requisitarPedidoForm .app-purchase-order-summary-partial {
	border-color: #cce5cf;
	background: #f3fbf3;
}

/* Aba Produtos: pesquisa e atualizacao na mesma linha; edicao so existe com item selecionado. */
#requisitarPedidoForm .app-purchase-order-products {
	min-width: 0;
}

#requisitarPedidoForm .app-purchase-order-product-search-row {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	min-width: 0;
	margin-bottom: 10px;
}

#requisitarPedidoForm .app-purchase-order-product-search-row > [id$="produtoSelectDiv"],
#requisitarPedidoForm .app-purchase-order-product-search-row > [id$="produtoSelecMesmoCodPromocionaltDiv"] {
	flex: 1 1 auto;
	min-width: 0;
}

#requisitarPedidoForm .app-purchase-order-products-refresh {
	flex: 0 0 auto;
	margin: 0 0 1px auto !important;
}

#requisitarPedidoForm .app-purchase-order-products .rich-stglpanel {
	margin: 0 0 10px;
}

#requisitarPedidoForm .app-purchase-order-products .rich-stglpanel-body {
	padding: 12px;
}

#requisitarPedidoForm .app-purchase-order-products .rich-table {
	margin-top: 0;
}

#requisitarPedidoForm [id$="historicoPedido"] {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	max-width: 714px;
}

#requisitarPedidoForm [id$="historicoPedido"] > .left,
#requisitarPedidoForm [id$="historicoPedido"] > .right {
	box-sizing: border-box;
	float: none;
	width: auto;
	margin: 0;
}

#requisitarPedidoForm [id$="historicoPedido"] > br.Clear {
	display: none;
}

#requisitarPedidoForm [id$="historicoPedido"] fieldset {
	box-sizing: border-box;
	height: 100%;
	margin: 0;
}

@media screen and (max-width: 760px) {
	.app-purchase-order-primary-actions,
	.app-purchase-order-status-actions {
		width: 100%;
	}

	.app-purchase-order-primary-actions input[type="submit"],
	.app-purchase-order-primary-actions input[type="button"] {
		flex: 1 1 145px;
		min-width: 0;
	}

	.app-purchase-order-status-action {
		flex: 1 1 132px;
		justify-content: flex-start;
	}

	#requisitarPedidoForm .app-purchase-order-tabs .rich-tabpanel-content {
		padding: 20px 16px;
	}

	#requisitarPedidoForm .app-purchase-order-overview {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		padding: 14px 12px 10px;
	}

	#requisitarPedidoForm .app-purchase-order-summary-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	#requisitarPedidoForm .app-purchase-order-product-search-row {
		align-items: stretch;
		flex-wrap: wrap;
	}

	#requisitarPedidoForm .app-purchase-order-product-search-row > [id$="produtoSelectDiv"],
	#requisitarPedidoForm .app-purchase-order-product-search-row > [id$="produtoSelecMesmoCodPromocionaltDiv"] {
		flex-basis: 100%;
	}

	#requisitarPedidoForm .app-purchase-order-products-refresh {
		width: 100%;
		margin-left: 0 !important;
	}

	#requisitarPedidoForm [id$="historicoPedido"] {
		grid-template-columns: 1fr;
	}
}

/* Consulta de PDVs: dimensoes contextuais sobre os componentes compartilhados
 * de consulta. Grid e paginacao permanecem no baseline literal de Produtos. */
.app-pdv-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 1040px;
}

.app-pdv-filter-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-pdv-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-pdv-filter-fields input.app-pdv-name-input,
body.app-theme-ruby .conteudo .app-pdv-filter-fields input.app-pdv-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-pdv-filter-fields select.app-pdv-entity-input,
body.app-theme-ruby .conteudo .app-pdv-filter-fields select.app-pdv-entity-input {
	box-sizing: border-box;
	width: 650px;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-pdv-filter-fields select.app-pdv-status-input,
body.app-theme-ruby .conteudo .app-pdv-filter-fields select.app-pdv-status-input {
	box-sizing: border-box;
	width: 220px;
	max-width: 100%;
}

.app-pdv-filter-fields .rich-calendar-input {
	box-sizing: border-box;
	width: 180px !important;
	max-width: 100%;
}

.app-pdv-query-results,
.app-pdv-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-pdv-table,
body.app-theme-ruby .conteudo .app-pdv-table {
	width: 100% !important;
	min-width: 1050px;
}

body.app-theme-ugestor .conteudo .app-pdv-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-pdv-table .rich-table-cell {
	padding: 10px 12px !important;
	vertical-align: middle;
}

.app-pdv-state {
	font-weight: bold;
}

.app-pdv-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 88px;
}

.app-pdv-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-pdv-deletion-content,
.app-pdv-deletion-form {
	box-sizing: border-box;
	width: 100%;
}

.app-pdv-deletion-entity {
	margin-top: 9px;
	word-break: break-word;
}

.app-pdv-deletion-actions {
	margin-top: 14px;
}

@media screen and (max-width: 620px) {
	.app-pdv-filter-fields .name,
	.app-pdv-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-pdv-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-pdv-filter-fields input.app-pdv-name-input,
	body.app-theme-ruby .conteudo .app-pdv-filter-fields input.app-pdv-name-input,
	body.app-theme-ugestor .conteudo .app-pdv-filter-fields select.app-pdv-entity-input,
	body.app-theme-ruby .conteudo .app-pdv-filter-fields select.app-pdv-entity-input,
	body.app-theme-ugestor .conteudo .app-pdv-filter-fields select.app-pdv-status-input,
	body.app-theme-ruby .conteudo .app-pdv-filter-fields select.app-pdv-status-input,
	.app-pdv-filter-fields .rich-calendar-input {
		width: 100% !important;
	}
}

/* Cadastro administrativo de PDVs: formulario, abas e colecoes associadas
 * seguem a composicao homologada de Produtos sem alterar contratos JSF. */
.app-pdv-maintenance-form,
.app-pdv-maintenance-panel,
.app-pdv-maintenance-tabs {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.app-pdv-maintenance-actions {
	max-width: 720px;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-actions input,
body.app-theme-ruby .conteudo .app-pdv-maintenance-actions input {
	border: 1px solid #cbd8e8 !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-actions input[value="Gravar"],
body.app-theme-ruby .conteudo .app-pdv-maintenance-actions input[value="Gravar"] {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	color: #ffffff !important;
	box-shadow: 0 4px 10px rgba(233, 74, 22, .18);
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-actions input[value="Gravar"]:hover,
body.app-theme-ruby .conteudo .app-pdv-maintenance-actions input[value="Gravar"]:hover {
	border-color: #cf3810 !important;
	background: #e94a16 !important;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-actions input:not([value="Gravar"]):hover,
body.app-theme-ruby .conteudo .app-pdv-maintenance-actions input:not([value="Gravar"]):hover {
	border-color: #ff9a77 !important;
	background: #fff4ef !important;
	color: #e94a16 !important;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-actions input:focus,
body.app-theme-ruby .conteudo .app-pdv-maintenance-actions input:focus {
	outline: 2px solid #20b9d2 !important;
	outline-offset: 2px;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-pdv-maintenance-panel > .rich-panel-body {
	padding: 18px !important;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-tabs,
body.app-theme-ruby .conteudo .app-pdv-maintenance-tabs {
	margin-top: 0;
}

.app-pdv-maintenance-form .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-pdv-maintenance-form .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

.app-pdv-maintenance-form input[type="text"],
.app-pdv-maintenance-form input[type="password"],
.app-pdv-maintenance-form select,
.app-pdv-maintenance-form textarea {
	box-sizing: border-box;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-form input[type="text"]:not(.percent),
body.app-theme-ruby .conteudo .app-pdv-maintenance-form input[type="text"]:not(.percent),
body.app-theme-ugestor .conteudo .app-pdv-maintenance-form select,
body.app-theme-ruby .conteudo .app-pdv-maintenance-form select {
	width: 520px !important;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-form input.percent,
body.app-theme-ruby .conteudo .app-pdv-maintenance-form input.percent {
	width: 110px !important;
}

.app-pdv-maintenance-form [id$="listCentroCustoDiv"],
.app-pdv-maintenance-form [id$="listContaFinanceiraDiv"] {
	box-sizing: border-box;
	width: 760px !important;
	max-width: 100%;
	overflow-x: auto;
}

.app-pdv-maintenance-form [id$="listCentroCustoDiv"] > br,
.app-pdv-maintenance-form [id$="listContaFinanceiraDiv"] > br {
	display: none;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-form .rich-table,
body.app-theme-ruby .conteudo .app-pdv-maintenance-form .rich-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 520px;
	margin: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-form .rich-table-headercell,
body.app-theme-ruby .conteudo .app-pdv-maintenance-form .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-pdv-maintenance-form .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-pdv-maintenance-form .rich-table-subheadercell {
	padding: 9px 10px !important;
	border-color: #263758 !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 12px;
	font-weight: bold;
	text-shadow: none;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-form .rich-table-headercell span,
body.app-theme-ruby .conteudo .app-pdv-maintenance-form .rich-table-headercell span,
body.app-theme-ugestor .conteudo .app-pdv-maintenance-form .rich-table-subheadercell span,
body.app-theme-ruby .conteudo .app-pdv-maintenance-form .rich-table-subheadercell span {
	color: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-pdv-maintenance-form .rich-table-cell,
body.app-theme-ruby .conteudo .app-pdv-maintenance-form .rich-table-cell {
	padding: 10px 12px !important;
	vertical-align: middle;
}

.app-pdv-maintenance-form .rich-table-cell > div[align="center"] {
	display: flex;
	align-items: center;
	justify-content: center;
}

.app-pdv-maintenance-form .rich-table-cell input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-pdv-maintenance-form .rich-datascr {
	box-sizing: border-box;
	width: 100%;
	margin: -1px 0 0 !important;
	padding: 8px 10px;
	border-top: 2px solid #ff5a1f;
	background: #ffffff;
}

@media screen and (max-width: 620px) {
	body.app-theme-ugestor .conteudo .app-pdv-maintenance-panel > .rich-panel-body,
	body.app-theme-ruby .conteudo .app-pdv-maintenance-panel > .rich-panel-body,
	body.app-theme-ugestor .conteudo .app-pdv-maintenance-tabs .rich-tabpanel-content,
	body.app-theme-ruby .conteudo .app-pdv-maintenance-tabs .rich-tabpanel-content {
		padding: 12px !important;
	}

	.app-pdv-maintenance-form .name,
	.app-pdv-maintenance-form .value {
		float: none;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0;
	}

	.app-pdv-maintenance-form .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-pdv-maintenance-form input[type="text"]:not(.percent),
	body.app-theme-ruby .conteudo .app-pdv-maintenance-form input[type="text"]:not(.percent),
	body.app-theme-ugestor .conteudo .app-pdv-maintenance-form select,
	body.app-theme-ruby .conteudo .app-pdv-maintenance-form select {
		width: 100% !important;
	}
}

/* Consulta administrativa de empresas: preserva filtros, acoes e paginador
 * RichFaces legados dentro da composicao visual homologada em Produtos. */
body.app-theme-ugestor .conteudo .app-company-entity-search-panel .rich-panel-header,
body.app-theme-ruby .conteudo .app-company-entity-search-panel .rich-panel-header {
	padding: 10px 14px !important;
	border-bottom: 1px solid #f0d4c8 !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-company-entity-search-panel .rich-panel-body,
body.app-theme-ruby .conteudo .app-company-entity-search-panel .rich-panel-body {
	padding-bottom: 12px !important;
}

.app-company-entity-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-company-entity-filter-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-company-entity-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-company-entity-filter-fields input.app-company-entity-code-input,
body.app-theme-ruby .conteudo .app-company-entity-filter-fields input.app-company-entity-code-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-company-entity-filter-fields input.app-company-entity-name-input,
body.app-theme-ruby .conteudo .app-company-entity-filter-fields input.app-company-entity-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-company-entity-status-filter {
	border-spacing: 0;
}

.app-company-entity-status-filter td {
	padding-right: 12px;
}

.app-company-entity-query-results,
.app-company-entity-table-scroll,
.app-company-entity-table {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-company-entity-table,
body.app-theme-ruby .conteudo .app-company-entity-table {
	min-width: 720px;
}

.app-company-entity-status {
	font-weight: bold;
}

.app-company-entity-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 112px;
}

.app-company-entity-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-company-entity-deletion-content,
.app-company-entity-deletion-form {
	box-sizing: border-box;
	width: 100%;
}

.app-company-entity-deletion-entity {
	word-break: break-word;
}

.app-company-entity-deletion-actions {
	margin-top: 14px;
}

@media screen and (max-width: 620px) {
	.app-company-entity-filter-fields .name,
	.app-company-entity-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-company-entity-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-company-entity-filter-fields input.app-company-entity-code-input,
	body.app-theme-ruby .conteudo .app-company-entity-filter-fields input.app-company-entity-code-input,
	body.app-theme-ugestor .conteudo .app-company-entity-filter-fields input.app-company-entity-name-input,
	body.app-theme-ruby .conteudo .app-company-entity-filter-fields input.app-company-entity-name-input {
		width: 100% !important;
	}
}

/* Cadastro administrativo de empresas: o formulario conserva todos os
 * includes e contratos legados, mas compartilha a composicao homologada de
 * Produtos para cabecalho, acoes, abas, campos e grades internas. */
.app-company-entity-maintenance-form,
.app-company-entity-maintenance-panel,
.app-company-entity-maintenance-tabs {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.app-company-entity-maintenance-actions {
	max-width: 760px;
}

.app-company-entity-maintenance-actions .app-company-entity-uuid-action {
	min-width: 142px;
}

body.app-theme-ugestor .conteudo .app-company-entity-maintenance-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-company-entity-maintenance-panel > .rich-panel-body {
	padding: 18px !important;
}

body.app-theme-ugestor .conteudo .app-company-entity-maintenance-tabs,
body.app-theme-ruby .conteudo .app-company-entity-maintenance-tabs {
	margin-top: 0;
}

.app-company-entity-maintenance-form fieldset,
.app-company-entity-maintenance-form table,
.app-company-entity-maintenance-form tbody,
.app-company-entity-maintenance-form tr,
.app-company-entity-maintenance-form td {
	box-sizing: border-box;
}

body.app-theme-ugestor .conteudo .app-company-entity-maintenance-form fieldset,
body.app-theme-ruby .conteudo .app-company-entity-maintenance-form fieldset {
	min-width: 0;
	margin: 0 0 14px;
	padding: 16px 18px 18px;
}

.app-company-entity-maintenance-form fieldset > legend {
	box-sizing: border-box;
	max-width: 100%;
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
	white-space: normal;
}

.app-company-entity-maintenance-form input[type="text"],
.app-company-entity-maintenance-form input[type="password"],
.app-company-entity-maintenance-form select,
.app-company-entity-maintenance-form textarea {
	box-sizing: border-box;
	max-width: 100%;
}

.app-company-entity-maintenance-form [id$='cadastrarFilialButton'],
.app-company-entity-maintenance-form [id$='botaoRemoverLogoDiv'] {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin: 10px 0 0;
}

.app-company-entity-maintenance-form .rich-table {
	box-sizing: border-box;
	width: 100% !important;
	border-collapse: separate;
	border-spacing: 0;
}

body.app-theme-ugestor .conteudo .app-company-entity-maintenance-form .rich-table-headercell,
body.app-theme-ruby .conteudo .app-company-entity-maintenance-form .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-company-entity-maintenance-form .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-company-entity-maintenance-form .rich-table-subheadercell {
	padding: 9px 10px !important;
	border-color: #263758 !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 12px;
	font-weight: bold;
	text-shadow: none;
}

body.app-theme-ugestor .conteudo .app-company-entity-maintenance-form .rich-table-headercell span,
body.app-theme-ruby .conteudo .app-company-entity-maintenance-form .rich-table-headercell span,
body.app-theme-ugestor .conteudo .app-company-entity-maintenance-form .rich-table-subheadercell span,
body.app-theme-ruby .conteudo .app-company-entity-maintenance-form .rich-table-subheadercell span {
	color: #ffffff !important;
}

.app-company-entity-maintenance-form .rich-datascr {
	box-sizing: border-box;
	width: 100%;
	margin-top: -1px;
	padding: 8px 10px;
	border-top: 2px solid #ff5a1f;
	background: #ffffff;
}

@media screen and (max-width: 900px) {
	.app-company-entity-maintenance-form .coluna1-noborder,
	.app-company-entity-maintenance-form .coluna2-noborder {
		display: block;
		width: 100% !important;
	}
}

@media screen and (max-width: 620px) {
	body.app-theme-ugestor .conteudo .app-company-entity-maintenance-panel > .rich-panel-body,
	body.app-theme-ruby .conteudo .app-company-entity-maintenance-panel > .rich-panel-body,
	body.app-theme-ugestor .conteudo .app-company-entity-maintenance-tabs .rich-tabpanel-content,
	body.app-theme-ruby .conteudo .app-company-entity-maintenance-tabs .rich-tabpanel-content {
		padding: 12px !important;
	}

	body.app-theme-ugestor .conteudo .app-company-entity-maintenance-form fieldset,
	body.app-theme-ruby .conteudo .app-company-entity-maintenance-form fieldset {
		padding: 13px 12px 15px;
	}

	.app-company-entity-maintenance-form .name,
	.app-company-entity-maintenance-form .name_sem_width,
	.app-company-entity-maintenance-form .value {
		float: none;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0;
	}

	.app-company-entity-maintenance-form .name,
	.app-company-entity-maintenance-form .name_sem_width {
		padding: 5px 0 3px;
	}
}

/* Fundação móvel: com viewport real, o cabeçalho e a navegação deixam de
 * reduzir o ERP inteiro e passam a se reorganizar para telas estreitas. */
@media screen and (max-width: 760px) {
	.body {
		box-sizing: border-box;
		width: auto;
		margin-right: 10px;
		margin-left: 10px;
	}

	#nomesDiv.app-header {
		margin-top: 8px;
		margin-bottom: 8px;
		padding: 10px 12px;
	}

	#nomesDiv .app-header-layout,
	#nomesDiv .app-header-layout tbody,
	#nomesDiv .app-header-layout tr,
	#nomesDiv .app-header-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	#nomesDiv .app-header-layout > tbody > tr > td {
		text-align: center !important;
	}

	#nomesDiv .app-header-logo {
		max-width: 180px;
		max-height: 46px;
		margin: 0 auto 8px;
	}

	#nomesDiv .app-header-meta {
		margin: 0;
		font-size: 10px;
		text-align: center;
	}

	#nomesDiv .app-header-meta td {
		text-align: center !important;
	}

#MenuHorizontal.app-main-navigation {
  margin-bottom: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#MenuHorizontal.app-main-navigation,
.app-main-navigation {
  margin-bottom: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#MenuHorizontal .app-main-toolbar {
  min-width: 690px;
}

#MenuHorizontal .app-main-toolbar,
.app-main-navigation .app-main-toolbar {
  min-width: 690px;
}

    #MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
    #MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
    #MenuHorizontal .app-main-toolbar .app-toolbar-logout,
    .app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
    .app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
    .app-main-navigation .app-main-toolbar .app-toolbar-logout {
		padding-right: 10px !important;
		padding-left: 10px !important;
		font-size: 12px !important;
	}

	.conteudo .column-left-width-50,
	.conteudo .column-right-width-50 {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		text-align: left !important;
	}
}

/* -------------------------------------------------------------------------
 * Design system operacional uGestor
 * Camada compartilhada para todo o ERP. Mantém as cores próprias dos
 * profiles, mas unifica hierarquia, superfícies e responsividade.
 * ------------------------------------------------------------------------- */
body.app-theme-ugestor .conteudo,
body.app-theme-ruby .conteudo {
	color: #243f4d;
}

body.app-theme-ugestor .conteudo .rich-panel,
body.app-theme-ruby .conteudo .rich-panel,
body.app-theme-ugestor .conteudo .app-content-panel,
body.app-theme-ruby .conteudo .app-content-panel {
	box-sizing: border-box;
	margin: 14px 0;
	border: 1px solid #d3e0e5;
	border-radius: 7px;
	background: #ffffff;
	box-shadow: 0 7px 18px rgba(13, 67, 90, .055);
}

body.app-theme-ugestor .conteudo .rich-panel-header,
body.app-theme-ruby .conteudo .rich-panel-header {
	padding: 11px 16px !important;
	border: 0 !important;
	border-bottom: 1px solid #d7e4e8 !important;
	border-radius: 7px 7px 0 0;
	background: #eef7f9 !important;
	background-image: none !important;
	color: #0d5a70 !important;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: .01em;
}

body.app-theme-ugestor .conteudo .rich-panel-body,
body.app-theme-ruby .conteudo .rich-panel-body,
body.app-theme-ugestor .conteudo .app-content-panel .rich-panel-body,
body.app-theme-ruby .conteudo .app-content-panel .rich-panel-body {
	padding: 18px !important;
	border-radius: 0 0 7px 7px;
	background: #ffffff !important;
}

/* Formularios cadastrais simples: painel compacto e largura de leitura comum
 * para telas com poucos campos, sem alterar os decoradores JSF existentes. */
.app-simple-form-panel .app-simple-form-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
	min-height: 42px;
}

.app-simple-form-panel .app-simple-form-fields input[type="text"],
.app-simple-form-panel .app-simple-form-fields select,
.app-simple-form-panel .app-simple-form-fields textarea {
	box-sizing: border-box;
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	.app-asset-group-form-panel .app-simple-form-fields .name,
	.app-asset-group-form-panel .app-simple-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-asset-group-form-panel .app-simple-form-fields .name {
		padding: 5px 0 2px;
	}

	.app-asset-group-form-panel .app-simple-form-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px !important;
	}
}

/* Cadastro de bens: mantém os componentes JSF legados e organiza as cinco
 * abas no mesmo ritmo visual, responsivo e institucional dos formulários. */
.app-asset-form-panel .app-asset-form-section {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.app-asset-form-panel .app-asset-basic-section {
	max-width: 920px;
}

.app-asset-form-panel .app-asset-long-value {
	box-sizing: border-box;
	width: 100%;
	max-width: 620px;
	white-space: normal;
	word-break: break-word;
}

.app-asset-form-panel .app-asset-allocation-list {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 760px;
	margin-top: 4px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body.app-theme-ugestor .conteudo .app-asset-form-panel .app-asset-association-table,
body.app-theme-ruby .conteudo .app-asset-form-panel .app-asset-association-table {
	width: 100% !important;
	border-collapse: separate;
	border-spacing: 0;
}

body.app-theme-ugestor .conteudo .app-asset-form-panel .app-asset-association-table .rich-table-headercell,
body.app-theme-ruby .conteudo .app-asset-form-panel .app-asset-association-table .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-asset-form-panel .app-asset-association-table .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-asset-form-panel .app-asset-association-table .rich-table-subheadercell {
	padding: 9px 10px !important;
	border-color: #263758 !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: bold;
	text-shadow: none;
}

body.app-theme-ugestor .conteudo .app-asset-form-panel .app-asset-association-table .rich-table-headercell span,
body.app-theme-ruby .conteudo .app-asset-form-panel .app-asset-association-table .rich-table-headercell span,
body.app-theme-ugestor .conteudo .app-asset-form-panel .app-asset-association-table .rich-table-subheadercell span,
body.app-theme-ruby .conteudo .app-asset-form-panel .app-asset-association-table .rich-table-subheadercell span {
	color: #ffffff !important;
}

.app-asset-form-panel .app-asset-inline-pagination {
	box-sizing: border-box;
	width: 100%;
	padding-top: 8px;
	text-align: center;
}

body.app-theme-ugestor .conteudo .app-asset-form-panel .app-asset-fieldset,
body.app-theme-ruby .conteudo .app-asset-form-panel .app-asset-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 14px;
	padding: 14px;
	border-color: #d8e3ed;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: none;
}

.app-asset-form-panel .app-asset-fieldset legend {
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-asset-form-panel .app-asset-business-layout,
.app-asset-form-panel .app-asset-contract-layout,
.app-asset-form-panel .app-asset-accounting-layout {
	box-sizing: border-box;
	width: 100% !important;
	table-layout: fixed;
}

.app-asset-form-panel .app-asset-business-layout > tbody > tr > td,
.app-asset-form-panel .app-asset-contract-layout > tbody > tr > td,
.app-asset-form-panel .app-asset-accounting-layout > tbody > tr > td {
	box-sizing: border-box;
	padding: 5px 10px 5px 0;
	vertical-align: top;
}

.app-asset-form-panel .app-asset-section-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 8px;
	padding-top: 12px;
	border-top: 1px solid #dce5ed;
}

.app-asset-form-panel .app-asset-associated-fieldset {
	margin-top: 14px !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	overflow: hidden;
}

.app-asset-form-panel .app-asset-associated-fieldset > legend {
	margin-left: 12px;
}

.app-asset-form-panel .app-asset-associated-total {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 10px 14px;
	border-top: 2px solid #ff5a1f;
	background: #fff8f5;
	color: #10213d;
	font-weight: bold;
}

.app-asset-form-panel .app-asset-accounting-fieldset > fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 10px 0 0;
}

@media screen and (max-width: 850px) {
	.app-asset-form-panel .app-asset-accounting-layout,
	.app-asset-form-panel .app-asset-accounting-layout > tbody,
	.app-asset-form-panel .app-asset-accounting-layout > tbody > tr,
	.app-asset-form-panel .app-asset-accounting-layout > tbody > tr > td {
		display: block;
		width: 100% !important;
	}

	.app-asset-form-panel .app-asset-accounting-layout > tbody > tr > td {
		padding-right: 0;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .conteudo .app-asset-form-panel .app-asset-association-table,
	body.app-theme-ruby .conteudo .app-asset-form-panel .app-asset-association-table {
		min-width: 620px;
	}
}

body.app-theme-ugestor .conteudo .rich-tabpanel,
body.app-theme-ruby .conteudo .rich-tabpanel {
	box-sizing: border-box;
	border: 1px solid #d3e0e5;
	border-radius: 6px;
	background: #f8fbfc;
}

body.app-theme-ugestor .app-responsive-tab-strip,
body.app-theme-ruby .app-responsive-tab-strip {
	display: block;
	box-sizing: border-box;
	max-width: 100%;
}

body.app-theme-ugestor .app-responsive-tab-strip > table,
body.app-theme-ruby .app-responsive-tab-strip > table {
	border-collapse: separate;
}

body.app-theme-ugestor .conteudo .rich-tab-header,
body.app-theme-ruby .conteudo .rich-tab-header {
	margin: 0 2px 0 0;
	padding: 10px 14px !important;
	border: 0 !important;
	border-right: 1px solid #d3e0e5 !important;
	border-bottom: 1px solid #d3e0e5 !important;
	background: #f2f6f8 !important;
	color: #345563 !important;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.2;
}

body.app-theme-ugestor .conteudo .rich-tab-active,
body.app-theme-ruby .conteudo .rich-tab-active {
	position: relative;
	margin-bottom: -1px;
	border-top: 3px solid #0094a7 !important;
	border-bottom-color: #ffffff !important;
	background: #ffffff !important;
	color: #006f7f !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .conteudo .rich-tabpanel-content,
body.app-theme-ruby .conteudo .rich-tabpanel-content {
	padding: 18px !important;
	background: #ffffff !important;
}

body.app-theme-ugestor .conteudo .separatorTitulo,
body.app-theme-ruby .conteudo .separatorTitulo {
	display: none;
}

body.app-theme-ugestor .conteudo .app-page-actions,
body.app-theme-ruby .conteudo .app-page-actions,
body.app-theme-ugestor .conteudo [id$='ButtonsDiv'],
body.app-theme-ruby .conteudo [id$='ButtonsDiv'] {
	display: flex;
	position: relative;
	z-index: 2;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

body.app-theme-ugestor .conteudo .app-page-actions .rich-button,
body.app-theme-ruby .conteudo .app-page-actions .rich-button,
body.app-theme-ugestor .conteudo .app-page-actions input,
body.app-theme-ruby .conteudo .app-page-actions input,
body.app-theme-ugestor .conteudo [id$='ButtonsDiv'] input,
body.app-theme-ruby .conteudo [id$='ButtonsDiv'] input {
	min-height: 36px;
	margin: 0 !important;
	padding: 8px 16px !important;
	border-radius: 5px !important;
	font-size: 13px;
	font-weight: bold;
	white-space: nowrap;
}

body.app-theme-ugestor .conteudo .app-action-primary,
body.app-theme-ruby .conteudo .app-action-primary {
	border: 1px solid #007c8e !important;
	background: #008da0 !important;
	background-image: none !important;
	color: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-action-primary:hover,
body.app-theme-ruby .conteudo .app-action-primary:hover {
	border-color: #006d7c !important;
	background: #007c8e !important;
}

body.app-theme-ugestor .conteudo .app-action-danger,
body.app-theme-ruby .conteudo .app-action-danger {
	border: 1px solid #ad3026 !important;
	background: #b94134 !important;
	background-image: none !important;
	color: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-action-danger:hover,
body.app-theme-ruby .conteudo .app-action-danger:hover {
	border-color: #92251c !important;
	background: #a62f24 !important;
}

body.app-theme-ugestor .conteudo .app-action-secondary,
body.app-theme-ruby .conteudo .app-action-secondary,
body.app-theme-ugestor .conteudo .app-action-auxiliary,
body.app-theme-ruby .conteudo .app-action-auxiliary {
	border: 1px solid #b9cdd6 !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #31505e !important;
}

body.app-theme-ugestor .conteudo .app-action-secondary:hover,
body.app-theme-ruby .conteudo .app-action-secondary:hover,
body.app-theme-ugestor .conteudo .app-action-auxiliary:hover,
body.app-theme-ruby .conteudo .app-action-auxiliary:hover {
	border-color: #8caeb9 !important;
	background: #f1f7f8 !important;
}

body.app-theme-ugestor .conteudo .rich-table,
body.app-theme-ruby .conteudo .rich-table,
body.app-theme-ugestor .conteudo .rich-dt,
body.app-theme-ruby .conteudo .rich-dt {
	border: 1px solid #d3e0e5;
	border-radius: 6px;
	background: #ffffff;
}

body.app-theme-ugestor .conteudo .rich-table-headercell,
body.app-theme-ruby .conteudo .rich-table-headercell,
body.app-theme-ugestor .conteudo .rich-dt-headercell,
body.app-theme-ruby .conteudo .rich-dt-headercell {
	border-color: #d3e0e5 !important;
	background: #eef5f7 !important;
	color: #214958 !important;
	font-size: 12px;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .rich-table-cell,
body.app-theme-ruby .conteudo .rich-table-cell,
body.app-theme-ugestor .conteudo .rich-dt-cell,
body.app-theme-ruby .conteudo .rich-dt-cell {
	border-color: #e0eaed !important;
	color: #31505e;
}

body.app-theme-ugestor .conteudo .rich-table-row:nth-child(even),
body.app-theme-ruby .conteudo .rich-table-row:nth-child(even),
body.app-theme-ugestor .conteudo .rich-dt-row:nth-child(even),
body.app-theme-ruby .conteudo .rich-dt-row:nth-child(even) {
	background: #fbfdfe;
}

body.app-theme-ugestor .app-message-modal .rich-mpnl-content,
body.app-theme-ruby .app-message-modal .rich-mpnl-content,
body.app-theme-ugestor .app-error-modal .rich-mpnl-content,
body.app-theme-ruby .app-error-modal .rich-mpnl-content,
body.app-theme-ugestor #ajaxLoadingModalBox .rich-mpnl-content,
body.app-theme-ruby #ajaxLoadingModalBox .rich-mpnl-content {
	border: 1px solid #c9dce3 !important;
	border-radius: 10px !important;
	box-shadow: 0 22px 54px rgba(8, 35, 48, .28) !important;
	overflow: hidden;
}

body.app-theme-ugestor .app-message-modal .rich-mpnl-header,
body.app-theme-ruby .app-message-modal .rich-mpnl-header,
body.app-theme-ugestor #ajaxLoadingModalBox .rich-mpnl-header,
body.app-theme-ruby #ajaxLoadingModalBox .rich-mpnl-header {
	border: 0 !important;
	background: #083d55 !important;
	background-image: none !important;
	color: #ffffff !important;
}

.app-message-modal-title {
	display: flex;
	align-items: center;
	gap: 9px;
}

.app-message-modal-title-icon {
	display: inline-block;
	width: 22px;
	height: 22px;
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 50%;
	color: #ffffff;
	font-size: 13px;
	font-weight: bold;
	line-height: 22px;
	text-align: center;
}

.app-message-modal-content {
	padding: 18px 20px 8px;
	background: #ffffff;
}

.app-message-modal .errormsg,
.app-message-modal .warnmsg,
.app-message-modal .infomsg {
	display: block;
	margin: 0 0 10px;
	padding: 12px 14px 12px 42px;
	border: 1px solid #d8e4e8;
	border-left: 4px solid #098c9b;
	border-radius: 6px;
	background: #f7fbfc;
	color: #274a57;
	line-height: 1.45;
}

.app-message-modal .warnmsg {
	border-color: #f0d39f;
	border-left-color: #d48a14;
	background: #fffaf1;
}

.app-message-modal .errormsg {
	border-color: #efc8c3;
	border-left-color: #b52418;
	background: #fff7f6;
}

.app-message-modal-actions {
	padding: 14px 20px 18px;
	border-top: 1px solid #e2ebee;
	background: #fbfdfe;
	text-align: right;
}

.app-message-modal-close {
	min-width: 112px;
	min-height: 36px;
	padding: 8px 16px !important;
	border: 1px solid #007c8e !important;
	border-radius: 5px !important;
	background: #008da0 !important;
	background-image: none !important;
	color: #ffffff !important;
	font-weight: bold;
}

.app-ajax-loading-content {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 22px 24px;
	background: #ffffff;
}

body.app-theme-ugestor #ajaxLoadingModalBoxContainer .rich-mpnl-body,
body.app-theme-ruby #ajaxLoadingModalBoxContainer .rich-mpnl-body {
	padding: 0 !important;
}

.app-ajax-loading-copy {
	box-sizing: border-box;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	text-align: left;
}

@media screen and (min-width: 768px) {
	#ajaxLoadingModalBoxContainer .app-ajax-loading-content {
		width: 350px;
		min-width: 350px;
	}
}

.app-ajax-loading-icon {
	color: #0094a7;
	font-size: 32px;
}

.app-ajax-loading-title,
.app-ajax-loading-description {
	display: block;
}

.app-ajax-loading-title {
	margin-bottom: 4px;
	color: #173f50;
	font-size: 15px;
	font-weight: bold;
}

.app-ajax-loading-description {
	color: #627d88;
	font-size: 12px;
	line-height: 1.4;
}

@media screen and (max-width: 760px) {
	body,
	.body {
		min-width: 0 !important;
	}

	body.app-theme-ugestor .conteudo,
	body.app-theme-ruby .conteudo {
		margin-right: 10px;
		margin-left: 10px;
	}

	/* Os formulários JSF 1.2 usam .name/.value flutuantes e larguras fixas.
	 * Em telas pequenas cada campo passa a ocupar a linha inteira, sem alterar
	 * a grade utilizada em desktop. */
	body.app-theme-ugestor .conteudo .name,
	body.app-theme-ruby .conteudo .name,
	body.app-theme-ugestor .conteudo .name_sem_width,
	body.app-theme-ruby .conteudo .name_sem_width,
	body.app-theme-ugestor .conteudo .value,
	body.app-theme-ruby .conteudo .value,
	body.app-theme-ugestor .conteudo .error,
	body.app-theme-ruby .conteudo .error {
		box-sizing: border-box;
		float: none;
		width: 100% !important;
		max-width: 100%;
		margin: 0 0 6px;
		padding-right: 0;
		padding-left: 0;
	}

	body.app-theme-ugestor .conteudo .name,
	body.app-theme-ruby .conteudo .name,
	body.app-theme-ugestor .conteudo .name_sem_width,
	body.app-theme-ruby .conteudo .name_sem_width {
		margin-top: 10px;
		font-size: 12px;
	}

	body.app-theme-ugestor .conteudo input[type="text"],
	body.app-theme-ruby .conteudo input[type="text"],
	body.app-theme-ugestor .conteudo input[type="password"],
	body.app-theme-ruby .conteudo input[type="password"],
	body.app-theme-ugestor .conteudo textarea,
	body.app-theme-ruby .conteudo textarea,
	body.app-theme-ugestor .conteudo select,
	body.app-theme-ruby .conteudo select {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .conteudo .rich-calendar-exterior,
	body.app-theme-ruby .conteudo .rich-calendar-exterior {
		max-width: 100%;
	}

	.app-page-heading,
	body.app-theme-ugestor .conteudo > h2,
	body.app-theme-ruby .conteudo > h2 {
		min-height: 0;
		margin-top: 10px;
		padding: 16px !important;
	}

	body.app-theme-ugestor .conteudo .app-page-actions,
	body.app-theme-ruby .conteudo .app-page-actions,
	body.app-theme-ugestor .conteudo [id$='ButtonsDiv'],
	body.app-theme-ruby .conteudo [id$='ButtonsDiv'] {
		justify-content: stretch;
		margin-top: 14px;
	}

	body.app-theme-ugestor .conteudo .app-page-actions input,
	body.app-theme-ruby .conteudo .app-page-actions input,
	body.app-theme-ugestor .conteudo [id$='ButtonsDiv'] input,
	body.app-theme-ruby .conteudo [id$='ButtonsDiv'] input {
		box-sizing: border-box;
		flex: 1 1 142px;
		min-width: 0 !important;
	}

	body.app-theme-ugestor .conteudo .rich-panel-body,
	body.app-theme-ruby .conteudo .rich-panel-body,
	body.app-theme-ugestor .conteudo .rich-tabpanel-content,
	body.app-theme-ruby .conteudo .rich-tabpanel-content {
		padding: 14px !important;
	}

	body.app-theme-ugestor .rich-tabpanel,
	body.app-theme-ruby .rich-tabpanel {
		width: 100% !important;
		max-width: 100%;
		table-layout: fixed;
		overflow: visible;
	}

	body.app-theme-ugestor .rich-tabpanel > tbody > tr > .rich-tab-bottom-line,
	body.app-theme-ruby .rich-tabpanel > tbody > tr > .rich-tab-bottom-line {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		padding: 0;
		overflow: hidden;
	}

	body.app-theme-ugestor .app-responsive-tab-strip,
	body.app-theme-ruby .app-responsive-tab-strip {
		position: relative;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x;
		scrollbar-width: thin;
		scrollbar-color: #9bb6c0 #edf3f5;
	}

	body.app-theme-ugestor .app-responsive-tab-strip::-webkit-scrollbar,
	body.app-theme-ruby .app-responsive-tab-strip::-webkit-scrollbar {
		height: 4px;
	}

	body.app-theme-ugestor .app-responsive-tab-strip::-webkit-scrollbar-track,
	body.app-theme-ruby .app-responsive-tab-strip::-webkit-scrollbar-track {
		background: #edf3f5;
	}

	body.app-theme-ugestor .app-responsive-tab-strip::-webkit-scrollbar-thumb,
	body.app-theme-ruby .app-responsive-tab-strip::-webkit-scrollbar-thumb {
		border-radius: 999px;
		background: #9bb6c0;
	}

	body.app-theme-ugestor .app-responsive-tab-strip-overflow:not(.app-responsive-tab-strip-at-end),
	body.app-theme-ruby .app-responsive-tab-strip-overflow:not(.app-responsive-tab-strip-at-end) {
		box-shadow: inset -14px 0 12px -14px rgba(16, 33, 61, .72);
	}

	body.app-theme-ugestor .app-responsive-tab-strip-overflow:not(.app-responsive-tab-strip-at-start):not(.app-responsive-tab-strip-at-end),
	body.app-theme-ruby .app-responsive-tab-strip-overflow:not(.app-responsive-tab-strip-at-start):not(.app-responsive-tab-strip-at-end) {
		box-shadow: inset 14px 0 12px -14px rgba(16, 33, 61, .72),
			inset -14px 0 12px -14px rgba(16, 33, 61, .72);
	}

	body.app-theme-ugestor .app-responsive-tab-strip-overflow.app-responsive-tab-strip-at-end:not(.app-responsive-tab-strip-at-start),
	body.app-theme-ruby .app-responsive-tab-strip-overflow.app-responsive-tab-strip-at-end:not(.app-responsive-tab-strip-at-start) {
		box-shadow: inset 14px 0 12px -14px rgba(16, 33, 61, .72);
	}

	body.app-theme-ugestor .app-responsive-tab-strip > table,
	body.app-theme-ruby .app-responsive-tab-strip > table {
		width: max-content !important;
		min-width: 100%;
		table-layout: auto;
	}

	body.app-theme-ugestor .conteudo .rich-tab-header,
	body.app-theme-ruby .conteudo .rich-tab-header {
		box-sizing: border-box;
		height: 44px;
		min-height: 44px;
		padding: 0 16px !important;
		font-size: 14px;
		line-height: 1.25;
		white-space: nowrap;
	}

	body.app-theme-ugestor .app-responsive-tab-strip .rich-tab-active,
	body.app-theme-ruby .app-responsive-tab-strip .rich-tab-active {
		border-top-color: #ff4b12 !important;
		color: #e9470f !important;
	}

	body.app-theme-ugestor .app-responsive-tab-strip .rich-tab-header:focus,
	body.app-theme-ruby .app-responsive-tab-strip .rich-tab-header:focus {
		position: relative;
		z-index: 1;
		outline: 2px solid #0094a7;
		outline-offset: -3px;
	}

	body.app-theme-ugestor .conteudo table.rich-table,
	body.app-theme-ruby .conteudo table.rich-table,
	body.app-theme-ugestor .conteudo table.rich-dt,
	body.app-theme-ruby .conteudo table.rich-dt {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.app-theme-ugestor .app-message-modal,
	body.app-theme-ruby .app-message-modal,
	body.app-theme-ugestor .app-error-modal,
	body.app-theme-ruby .app-error-modal {
		max-width: calc(100vw - 24px) !important;
	}

	.app-message-modal-content,
	.app-message-modal-actions {
		padding-right: 14px;
		padding-left: 14px;
	}

	.app-ajax-loading-content {
		width: 100%;
		min-width: 0;
		padding: 18px;
	}

	#ajaxLoadingModalBoxContainer {
		position: fixed !important;
		inset: 0 !important;
		box-sizing: border-box;
		width: 100vw !important;
		height: 100vh !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		background-color: transparent !important;
		transform: none !important;
	}

	#ajaxLoadingModalBoxContainer .rich-mpnl-panel,
	#ajaxLoadingModalBoxContainer .rich-mpnl-shadow,
	#ajaxLoadingModalBoxContainer .rich-mpnl-content {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		min-width: 0 !important;
		max-width: calc(100vw - 24px) !important;
	}
}

/* Identidade visual Grupo uGestor ----------------------------------------
 * Camada institucional compartilhada pelos templates do ERP. A navegacao
 * utiliza azul-marinho; laranja identifica a acao principal; ciano apoia
 * foco e informacao. As cores semanticas permanecem exclusivas de seus
 * respectivos estados para nao transformar uma acao destrutiva em destaque.
 * Os seletores ficam limitados aos temas do ERP para preservar perfis de
 * white label que possuam identidade propria. */
body.app-theme-ugestor,
body.app-theme-ruby {
	background: #fbf8f6;
	color: #10213d;
}

body.app-theme-ugestor .conteudo,
body.app-theme-ruby .conteudo {
	color: #10213d;
}

body.app-theme-ugestor #nomesDiv.app-header,
body.app-theme-ruby #nomesDiv.app-header {
	border-color: #f0d4c8 !important;
	background: #ffffff !important;
	box-shadow: 0 6px 18px rgba(8, 20, 47, .06);
}

body.app-theme-ugestor #nomesDiv .app-header-meta .name,
body.app-theme-ruby #nomesDiv .app-header-meta .name {
	color: #10213d !important;
}

#MenuHorizontal .app-main-toolbar {
	border-color: #08142f !important;
	background: #08142f !important;
	box-shadow: 0 6px 18px rgba(8, 20, 47, .18) !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label-select,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active > .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active > .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar td.app-navigation-active,
#MenuHorizontal .app-main-toolbar td.app-navigation-active > .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.app-navigation-active > .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar td.app-navigation-active .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.app-navigation-active .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"],
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"] > .rich-menu-item,
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"] > .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"] .rich-menu-item,
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"] .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar .app-navigation-active,
#MenuHorizontal .app-main-toolbar .app-toolbar-logout:hover,
#MenuHorizontal .app-main-toolbar .app-toolbar-logout:focus,
#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:hover,
#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:focus {
	background: #17294e !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:focus,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:focus,
#MenuHorizontal .app-main-toolbar a:focus {
	outline-color: #19c9e8 !important;
}

.rich-menu-list-border,
#MenuHorizontal .rich-menu-list-border {
	border-color: #f0d4c8 !important;
	box-shadow: 0 12px 28px rgba(8, 20, 47, .16) !important;
}

#MenuHorizontal .rich-menu-list-border .rich-menu-item,
#MenuHorizontal .rich-menu-list-border .rich-menu-group,
#MenuHorizontal .rich-menu-list-border .rich-menu-item *,
#MenuHorizontal .rich-menu-list-border .rich-menu-group * {
	color: #10213d !important;
}

#MenuHorizontal .rich-menu-list-border .rich-menu-item:hover,
#MenuHorizontal .rich-menu-list-border .rich-menu-group:hover,
#MenuHorizontal .rich-menu-list-border .rich-menu-item-hover,
#MenuHorizontal .rich-menu-list-border .rich-menu-group-hover {
	background: #fff1ea !important;
}

#MenuHorizontal .rich-menu-list-border .rich-menu-item:hover *,
#MenuHorizontal .rich-menu-list-border .rich-menu-group:hover *,
#MenuHorizontal .rich-menu-list-border .rich-menu-item-hover *,
#MenuHorizontal .rich-menu-list-border .rich-menu-group-hover * {
	color: #e94a16 !important;
}

body.app-theme-ugestor .app-page-heading,
body.app-theme-ruby .app-page-heading,
body.app-theme-ugestor .conteudo > h2,
body.app-theme-ruby .conteudo > h2,
body.app-theme-ugestor .produto-page-heading,
body.app-theme-ruby .produto-page-heading {
	border-color: #f0d4c8 !important;
	border-left-color: #ff5a1f !important;
	background: linear-gradient(110deg, #ffffff 0%, #fffaf7 68%, #fff1ea 100%) !important;
	box-shadow: 0 8px 22px rgba(8, 20, 47, .07) !important;
}

body.app-theme-ugestor .app-page-heading:after,
body.app-theme-ruby .app-page-heading:after,
body.app-theme-ugestor .produto-page-heading:after,
body.app-theme-ruby .produto-page-heading:after {
	border-color: rgba(255, 90, 31, .16) !important;
	background: rgba(255, 90, 31, .06) !important;
}

body.app-theme-ugestor .app-page-eyebrow,
body.app-theme-ruby .app-page-eyebrow,
body.app-theme-ugestor .produto-page-heading .produto-page-eyebrow,
body.app-theme-ruby .produto-page-heading .produto-page-eyebrow {
	color: #e94a16 !important;
}

body.app-theme-ugestor .app-page-heading h2,
body.app-theme-ruby .app-page-heading h2,
body.app-theme-ugestor .conteudo > h2,
body.app-theme-ruby .conteudo > h2,
body.app-theme-ugestor .produto-page-heading h2,
body.app-theme-ruby .produto-page-heading h2 {
	color: #10213d !important;
}

body.app-theme-ugestor .app-page-heading p,
body.app-theme-ruby .app-page-heading p,
body.app-theme-ugestor .produto-page-heading p,
body.app-theme-ruby .produto-page-heading p {
	color: #58708d !important;
}

body.app-theme-ugestor .conteudo .rich-panel,
body.app-theme-ruby .conteudo .rich-panel,
body.app-theme-ugestor .conteudo fieldset,
body.app-theme-ruby .conteudo fieldset {
	border-color: #f0d4c8 !important;
	background: #ffffff !important;
	box-shadow: 0 6px 18px rgba(8, 20, 47, .045);
}

body.app-theme-ugestor .conteudo .rich-panel-header,
body.app-theme-ruby .conteudo .rich-panel-header {
	border-color: #f0d4c8 !important;
	border-left: 4px solid #ff5a1f !important;
	background: #fff7f3 !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .rich-panel-body,
body.app-theme-ruby .conteudo .rich-panel-body {
	border-color: #f4e3dc !important;
	background: #ffffff !important;
}

/* Popups de regras: legenda de leitura alinhada a baseline de Produtos. */
.app-rcs-rules-popup,
.app-rules-popup {
	margin-top: 14px;
	margin-bottom: 14px;
}

body.app-theme-ugestor .conteudo .app-rcs-rules-popup .app-page-heading,
body.app-theme-ruby .conteudo .app-rcs-rules-popup .app-page-heading,
body.app-theme-ugestor .conteudo .app-rules-popup .app-page-heading,
body.app-theme-ruby .conteudo .app-rules-popup .app-page-heading {
	min-height: 0;
	margin-bottom: 12px;
	padding: 16px 20px;
}

body.app-theme-ugestor .conteudo .app-rcs-rules-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-rcs-rules-panel > .rich-panel-body,
body.app-theme-ugestor .conteudo .app-rules-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-rules-panel > .rich-panel-body {
	padding: 14px !important;
}

body.app-theme-ugestor .conteudo .app-rcs-rules-section,
body.app-theme-ruby .conteudo .app-rcs-rules-section,
body.app-theme-ugestor .conteudo .app-rules-section,
body.app-theme-ruby .conteudo .app-rules-section {
	padding: 0 !important;
	overflow: hidden;
}

body.app-theme-ugestor .conteudo .app-rcs-rules-section > legend,
body.app-theme-ruby .conteudo .app-rcs-rules-section > legend,
body.app-theme-ugestor .conteudo .app-rules-section > legend,
body.app-theme-ruby .conteudo .app-rules-section > legend {
	margin-left: 12px;
	color: #10213d !important;
	font-size: 13px;
}

.app-rcs-rules-grid,
.app-rules-grid {
	box-sizing: border-box;
	width: 100% !important;
	border-collapse: collapse;
	table-layout: fixed;
}

.app-rcs-rules-grid > tbody > tr > td,
.app-rules-grid > tbody > tr > td {
	box-sizing: border-box;
	padding: 10px 12px;
	border-bottom: 1px solid #f0d4c8;
	color: #334b68;
	line-height: 1.4;
	vertical-align: top;
}

.app-rcs-rules-grid > tbody > tr:last-child > td,
.app-rules-grid > tbody > tr:last-child > td {
	border-bottom: 0;
}

.app-rcs-rules-grid > tbody > tr > td:nth-child(odd),
.app-rules-grid > tbody > tr > td:nth-child(odd) {
	width: 18%;
	background: #fff7f3;
	color: #10213d;
}

.app-rcs-rules-grid > tbody > tr > td:nth-child(even),
.app-rules-grid > tbody > tr > td:nth-child(even) {
	width: 32%;
	background: #ffffff;
}

@media screen and (max-width: 720px) {
	.app-rcs-rules-popup,
	.app-rules-popup {
		margin-top: 10px;
		padding-right: 10px;
		padding-left: 10px;
	}

	body.app-theme-ugestor .conteudo .app-rcs-rules-popup .app-page-heading,
	body.app-theme-ruby .conteudo .app-rcs-rules-popup .app-page-heading,
	body.app-theme-ugestor .conteudo .app-rules-popup .app-page-heading,
	body.app-theme-ruby .conteudo .app-rules-popup .app-page-heading {
		padding: 14px 16px !important;
	}

	.app-rcs-rules-grid,
	.app-rcs-rules-grid > tbody,
	.app-rcs-rules-grid > tbody > tr,
	.app-rcs-rules-grid > tbody > tr > td,
	.app-rules-grid,
	.app-rules-grid > tbody,
	.app-rules-grid > tbody > tr,
	.app-rules-grid > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-rcs-rules-grid > tbody > tr > td:nth-child(odd),
	.app-rules-grid > tbody > tr > td:nth-child(odd) {
		padding-bottom: 6px;
		border-top: 1px solid #f0d4c8;
		border-bottom: 0;
	}

	.app-rcs-rules-grid > tbody > tr:first-child > td:first-child,
	.app-rules-grid > tbody > tr:first-child > td:first-child {
		border-top: 0;
	}

	.app-rcs-rules-grid > tbody > tr > td:nth-child(even),
	.app-rules-grid > tbody > tr > td:nth-child(even) {
		padding-top: 7px;
	}
}

body.app-theme-ugestor .conteudo .rich-tab-header,
body.app-theme-ruby .conteudo .rich-tab-header {
	border-color: #f0d4c8 !important;
	background: #fffaf7 !important;
	color: #415672 !important;
}

body.app-theme-ugestor .conteudo .rich-tab-active,
body.app-theme-ruby .conteudo .rich-tab-active {
	border-top-color: #ff5a1f !important;
	background: #ffffff !important;
	color: #e94a16 !important;
}

body.app-theme-ugestor .conteudo .app-action-primary,
body.app-theme-ruby .conteudo .app-action-primary,
body.app-theme-ugestor .produto-page-actions .produto-action-primary,
body.app-theme-ruby .produto-page-actions .produto-action-primary {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	background-image: none !important;
	color: #ffffff !important;
	box-shadow: 0 4px 10px rgba(233, 74, 22, .18);
}

body.app-theme-ugestor .conteudo .app-action-primary:hover,
body.app-theme-ruby .conteudo .app-action-primary:hover,
body.app-theme-ugestor .produto-page-actions .produto-action-primary:hover,
body.app-theme-ruby .produto-page-actions .produto-action-primary:hover {
	border-color: #cf3810 !important;
	background: #e94a16 !important;
}

body.app-theme-ugestor .conteudo .app-action-secondary,
body.app-theme-ruby .conteudo .app-action-secondary,
body.app-theme-ugestor .conteudo .app-action-auxiliary,
body.app-theme-ruby .conteudo .app-action-auxiliary,
body.app-theme-ugestor .produto-page-actions .produto-action-secondary,
body.app-theme-ruby .produto-page-actions .produto-action-secondary {
	border-color: #cbd8e8 !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-action-secondary:hover,
body.app-theme-ruby .conteudo .app-action-secondary:hover,
body.app-theme-ugestor .conteudo .app-action-auxiliary:hover,
body.app-theme-ruby .conteudo .app-action-auxiliary:hover,
body.app-theme-ugestor .produto-page-actions .produto-action-secondary:hover,
body.app-theme-ruby .produto-page-actions .produto-action-secondary:hover {
	border-color: #ff9a77 !important;
	background: #fff4ef !important;
	color: #e94a16 !important;
}

body.app-theme-ugestor .conteudo .app-action-danger,
body.app-theme-ruby .conteudo .app-action-danger {
	border-color: #af2f28 !important;
	background: #c9352b !important;
}

body.app-theme-ugestor .conteudo input.app-action-primary:focus,
body.app-theme-ruby .conteudo input.app-action-primary:focus,
body.app-theme-ugestor .conteudo input.app-action-secondary:focus,
body.app-theme-ruby .conteudo input.app-action-secondary:focus,
body.app-theme-ugestor .conteudo select:focus,
body.app-theme-ruby .conteudo select:focus,
body.app-theme-ugestor .conteudo textarea:focus,
body.app-theme-ruby .conteudo textarea:focus,
body.app-theme-ugestor .conteudo input[type="text"]:focus,
body.app-theme-ruby .conteudo input[type="text"]:focus,
body.app-theme-ugestor .conteudo input[type="password"]:focus,
body.app-theme-ruby .conteudo input[type="password"]:focus {
	border-color: #19b8da !important;
	box-shadow: 0 0 0 3px rgba(25, 201, 232, .18) !important;
	outline: 0;
}

body.app-theme-ugestor .conteudo .rich-table,
body.app-theme-ruby .conteudo .rich-table,
body.app-theme-ugestor .conteudo .rich-dt,
body.app-theme-ruby .conteudo .rich-dt {
	border-color: #f0d4c8 !important;
}

body.app-theme-ugestor .conteudo .rich-table-headercell,
body.app-theme-ruby .conteudo .rich-table-headercell,
body.app-theme-ugestor .conteudo .rich-dt-headercell,
body.app-theme-ruby .conteudo .rich-dt-headercell {
	border-color: #f0d4c8 !important;
	background: #fff0ea !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .rich-table-cell,
body.app-theme-ruby .conteudo .rich-table-cell,
body.app-theme-ugestor .conteudo .rich-dt-cell,
body.app-theme-ruby .conteudo .rich-dt-cell {
	border-color: #f5e3dc !important;
	color: #263b58 !important;
}

body.app-theme-ugestor .conteudo .rich-table-row:nth-child(even),
body.app-theme-ruby .conteudo .rich-table-row:nth-child(even),
body.app-theme-ugestor .conteudo .rich-dt-row:nth-child(even),
body.app-theme-ruby .conteudo .rich-dt-row:nth-child(even) {
	background: #fffaf8 !important;
}

/* Consulta padrao: grid e paginacao da tela-base de Produtos. As classes
 * app-query-* sao reutilizaveis pelas demais consultas sem acoplar o visual
 * aos ids JSF ou alterar o comportamento dos componentes RichFaces. */
.app-query-results {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin-top: 14px;
}

body.app-theme-ugestor .conteudo .app-query-results .rich-tabpanel-content,
body.app-theme-ruby .conteudo .app-query-results .rich-tabpanel-content {
	padding: 0 !important;
}

.app-query-results .rich-tabpanel-content > div {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
}

.app-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: visible;
}

/* A matriz de ICMS Local da manutenção de NCM possui uma coluna por UF. A
 * tabela estrutural legada não pode usar a largura intrínseca dessas 27
 * colunas para expandir o documento; somente este contêiner rola na horizontal. */
.app-tax-ncm-local-icms-fields,
.app-tax-ncm-local-icms-layout,
.app-tax-ncm-local-icms-layout > tbody,
.app-tax-ncm-local-icms-layout > tbody > tr {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

.app-tax-ncm-local-icms-fields {
	overflow: hidden;
}

.app-tax-ncm-local-icms-layout {
	table-layout: fixed;
}

.app-tax-ncm-local-icms-layout > tbody > tr > td {
	box-sizing: border-box;
	min-width: 0 !important;
}

.app-tax-ncm-local-icms-layout > tbody > tr > .app-tax-ncm-local-icms-labels {
	width: 84px;
}

.app-tax-ncm-local-icms-scroll {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding-right: 2px;
	padding-bottom: 16px;
	margin-bottom: -16px;
}

.app-tax-ncm-local-icms-row {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	min-width: 100%;
}

.app-tax-ncm-local-icms-item {
	box-sizing: border-box;
	flex: 0 0 90px;
	width: 90px;
	min-width: 90px;
	margin: 0;
	padding: 0;
}

.app-tax-ncm-local-icms-item > table {
	table-layout: fixed;
	width: 90px !important;
	max-width: 90px !important;
}

.app-standard-controls .app-tax-ncm-local-icms-item select {
	box-sizing: border-box;
	width: 49px !important;
	min-width: 49px !important;
	max-width: 49px !important;
}

/* A grade de representantes da Receita não pode herdar o span.value do
 * template display.xhtml: esse span acompanha a largura fixa da tabela e
 * expande o documento inteiro em Tablet. O contêiner próprio mantém a grade
 * na largura disponível e entrega o excedente ao wrapper rolável. */
.app-receipt-representatives,
.app-receipt-provisioning {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.app-receipt-representatives-label,
.app-receipt-provisioning-label {
	display: block;
	font-weight: 700;
}

/* A tabela de NF-e referenciada fica dentro de um h:panelGrid legado. Sem
 * contenção explícita, a largura redimensionada da tabela expande os wrappers
 * gerados pelo JSF e provoca rolagem na página inteira em telas menores. */
.app-document-referenced-invoice-panel,
.app-document-referenced-invoice-panel > .rich-panel-body,
.app-document-referenced-invoice-layout,
.app-document-referenced-invoice-layout > tbody,
.app-document-referenced-invoice-layout > tbody > tr,
.app-document-referenced-invoice-layout > tbody > tr > td,
.app-document-referenced-invoice-results {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

.app-document-referenced-invoice-layout {
	table-layout: fixed;
}

/* O include de anexos também usa um h:panelGrid legado. A tabela estrutural
 * deve acompanhar a aba; somente o grid de resultados pode rolar na horizontal. */
.app-document-attachment-maintenance,
.app-document-attachment-layout,
.app-document-attachment-layout > tbody,
.app-document-attachment-layout > tbody > tr,
.app-document-attachment-layout > tbody > tr > td,
.app-document-attachment-layout fieldset,
.app-document-attachment-list-results {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

.app-document-attachment-layout {
	table-layout: fixed;
}

/* A aba de anexos da Requisição de Cotação usa a mesma estrutura legada em
 * h:panelGrid. O layout estrutural acompanha a largura útil da aba e o grid
 * redimensionável mantém sua rolagem exclusivamente no wrapper de resultados. */
.app-quote-attachment-maintenance,
.app-quote-attachment-maintenance-layout,
.app-quote-attachment-maintenance-layout > tbody,
.app-quote-attachment-maintenance-layout > tbody > tr,
.app-quote-attachment-maintenance-layout > tbody > tr > td,
.app-quote-attachment-maintenance-list,
.app-quote-attachment-maintenance-results {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

.app-quote-attachment-maintenance-layout {
	table-layout: fixed;
}

.app-query-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 58px;
}

.app-query-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-clear,
body.app-theme-ruby .conteudo .app-query-filter-clear {
	box-sizing: content-box;
	width: 16px;
	height: 16px;
	margin: 0 5px 0 0 !important;
	padding: 6px !important;
	border: 1px solid #cbd8e8;
	border-radius: 5px;
	background: #ffffff;
	vertical-align: middle;
}

body.app-theme-ugestor .conteudo .app-query-filter-clear:hover,
body.app-theme-ruby .conteudo .app-query-filter-clear:hover {
	border-color: #ff9a77;
	background: #fff4ef;
}

.app-query-results .rich-tabpanel-content > br {
	display: none;
}

body.app-theme-ugestor .conteudo .app-query-results .rich-table,
body.app-theme-ruby .conteudo .app-query-results .rich-table {
	margin: 0 !important;
	border-color: #d7dfeb !important;
	border-radius: 0;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
	box-shadow: none;
}

body.app-theme-ugestor .conteudo .app-query-results .rich-table-headercell,
body.app-theme-ruby .conteudo .app-query-results .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-query-results .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-query-results .rich-table-subheadercell {
	padding: 11px 12px !important;
	border-color: #263758 !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: .01em;
	line-height: 1.25;
	text-shadow: none;
}

body.app-theme-ugestor .conteudo .app-query-results .rich-table-headercell:first-child,
body.app-theme-ruby .conteudo .app-query-results .rich-table-headercell:first-child,
body.app-theme-ugestor .conteudo .app-query-results .rich-table-subheadercell:first-child,
body.app-theme-ruby .conteudo .app-query-results .rich-table-subheadercell:first-child {
	border-top-left-radius: 0;
}

body.app-theme-ugestor .conteudo .app-query-results .rich-table-headercell:last-child,
body.app-theme-ruby .conteudo .app-query-results .rich-table-headercell:last-child,
body.app-theme-ugestor .conteudo .app-query-results .rich-table-subheadercell:last-child,
body.app-theme-ruby .conteudo .app-query-results .rich-table-subheadercell:last-child {
	border-top-right-radius: 0;
}

body.app-theme-ugestor .conteudo .app-query-results .rich-table-headercell a,
body.app-theme-ruby .conteudo .app-query-results .rich-table-headercell a,
body.app-theme-ugestor .conteudo .app-query-results .rich-table-headercell span,
body.app-theme-ruby .conteudo .app-query-results .rich-table-headercell span,
body.app-theme-ugestor .conteudo .app-query-results .rich-table-subheadercell a,
body.app-theme-ruby .conteudo .app-query-results .rich-table-subheadercell a,
body.app-theme-ugestor .conteudo .app-query-results .rich-table-subheadercell span,
body.app-theme-ruby .conteudo .app-query-results .rich-table-subheadercell span {
	color: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-query-results .rich-table-headercell img,
body.app-theme-ruby .conteudo .app-query-results .rich-table-headercell img,
body.app-theme-ugestor .conteudo .app-query-results .rich-table-subheadercell img,
body.app-theme-ruby .conteudo .app-query-results .rich-table-subheadercell img {
	filter: brightness(0) invert(1);
	opacity: .82;
}

.app-query-totals {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 24px;
	width: 100%;
	color: #ffffff;
	text-align: left;
}

.app-query-total-item {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
	min-width: 150px;
	color: #ffffff;
	white-space: nowrap;
}

.app-query-total-label {
	color: rgba(255, 255, 255, .78) !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .02em;
}

.app-query-total-value {
	color: #ffffff !important;
	font-size: 12px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

@media screen and (max-width: 720px) {
	.app-query-totals {
		align-items: stretch;
		flex-direction: column;
		gap: 5px;
	}

	.app-query-total-item {
		justify-content: space-between;
		width: 100%;
		min-width: 0;
	}
}

body.app-theme-ugestor #consultaProdutoForm .produto-search-panel .rich-panel-body,
body.app-theme-ruby #consultaProdutoForm .produto-search-panel .rich-panel-body {
	padding-bottom: 12px !important;
}

#consultaProdutoForm .produto-search-panel .produto-filter-export-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	margin-top: 10px;
	padding-top: 6px;
	line-height: 0;
}

#consultaProdutoForm .produto-search-panel .produto-filter-export-actions > img {
	box-sizing: content-box;
	display: block;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 3px !important;
	object-fit: contain;
}

#consultaProdutoForm .produto-search-panel .produto-filter-export-actions > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	line-height: 0;
}

#consultaProdutoForm .produto-search-panel .produto-filter-export-actions > a > img {
	display: block;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0 !important;
	object-fit: contain;
}

/* Acoes de exportacao reutilizaveis nas consultas padronizadas. */
body.app-theme-ugestor .conteudo .app-search-panel,
body.app-theme-ruby .conteudo .app-search-panel {
	box-sizing: border-box;
	width: 100%;
	margin-top: 12px;
}

body.app-theme-ugestor .conteudo .app-search-panel .rich-stglpanel-header,
body.app-theme-ruby .conteudo .app-search-panel .rich-stglpanel-header {
	padding: 10px 14px !important;
	border: 0;
	border-bottom: 1px solid #f0d4c8;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
	font-size: 13px !important;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .app-search-panel .rich-stglpanel-body,
body.app-theme-ruby .conteudo .app-search-panel .rich-stglpanel-body {
	padding-bottom: 12px !important;
}

.app-search-panel .app-filter-export-actions {
	clear: both;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	margin-top: 10px;
	padding-top: 6px;
	border-top: 1px solid #d8e3e7;
	line-height: 0;
}

.app-search-panel .app-filter-export-actions > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	line-height: 0;
}

.app-search-panel .app-filter-export-actions > a > img {
	display: block;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0 !important;
	object-fit: contain;
}

.app-query-results .app-query-pagination {
	box-sizing: border-box;
	width: 100%;
	margin-top: -1px;
	border: 1px solid #f0d4c8;
	border-top: 3px solid #ff5a1f;
	border-radius: 0 0 7px 7px;
	background: #ffffff;
	box-shadow: 0 7px 18px rgba(8, 20, 47, .07);
}

.app-query-results .rich-tabpanel-content > .app-query-pagination {
	margin-top: -1px !important;
	border: 1px solid #f0d4c8 !important;
	border-top: 3px solid #ff5a1f !important;
}

.app-query-results .app-query-pager {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
	min-height: 58px;
	padding: 10px 14px;
	color: #415672;
	font-size: 12px;
	white-space: normal;
}

.app-query-results .app-query-pager .pager-summary {
	margin: 0 auto 0 0;
	padding: 8px 12px;
	border-left: 3px solid #ff5a1f;
	border-radius: 4px;
	background: #fff4ef;
	color: #10213d;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.25;
}

.app-query-results .app-query-pager .pager-size-row,
.app-query-results .app-query-pager .pager-navigation {
	display: flex;
	align-items: center;
	gap: 8px;
}

.app-query-results .app-query-pager .pager-size-label {
	font-weight: bold;
}

.app-query-results .app-query-pager .pager-page-indicator {
	display: none;
}

/* Consultas ainda paginadas pelo rich:datascroller: mantém o contrato legado,
 * mas conecta visualmente seus controles ao mesmo rodapé da baseline. */
.app-query-results .app-query-legacy-pager .rich-datascr {
	width: auto !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	background-image: none !important;
}

.app-query-results .app-query-legacy-pager .rich-datascr-button,
.app-query-results .app-query-legacy-pager .rich-datascr-inact,
.app-query-results .app-query-legacy-pager .rich-datascr-act {
	min-width: 28px;
	height: 30px;
	padding: 0 8px !important;
	border: 1px solid #cbd8e8 !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #10213d !important;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
}

.app-query-results .app-query-legacy-pager .rich-datascr-button:hover,
.app-query-results .app-query-legacy-pager .rich-datascr-act {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	color: #ffffff !important;
}

/* Consulta de Desenhos: campos compactos e acoes alinhadas sobre os
 * componentes legados, sem alterar filtro, tabela ou paginacao RichFaces. */
.app-drawing-search-panel .app-drawing-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

body.app-theme-ugestor .conteudo .app-drawing-search-panel input.app-drawing-code-input,
body.app-theme-ruby .conteudo .app-drawing-search-panel input.app-drawing-code-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-drawing-search-panel input.app-drawing-name-input,
body.app-theme-ruby .conteudo .app-drawing-search-panel input.app-drawing-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-drawing-query-results .app-query-table-scroll,
.app-drawing-query-results .app-query-table {
	box-sizing: border-box;
	width: 100% !important;
}

.app-drawing-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 78px;
}

.app-drawing-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

@media screen and (max-width: 620px) {
	body.app-theme-ugestor .conteudo .app-drawing-search-panel input.app-drawing-code-input,
	body.app-theme-ruby .conteudo .app-drawing-search-panel input.app-drawing-code-input,
	body.app-theme-ugestor .conteudo .app-drawing-search-panel input.app-drawing-name-input,
	body.app-theme-ruby .conteudo .app-drawing-search-panel input.app-drawing-name-input {
		width: 100% !important;
		min-height: 44px;
	}

	.app-drawing-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}
}

/* Consulta de RCS de entrada: filtro, grid e paginador legado conectados. */
body.app-theme-ugestor .conteudo .app-rcs-entry-search-panel .rich-panel-header,
body.app-theme-ruby .conteudo .app-rcs-entry-search-panel .rich-panel-header {
	padding: 10px 14px !important;
	border-bottom: 1px solid #f0d4c8 !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-search-panel .rich-panel-body,
body.app-theme-ruby .conteudo .app-rcs-entry-search-panel .rich-panel-body {
	padding-bottom: 12px !important;
}

.app-rcs-entry-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-rcs-entry-filter-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-rcs-entry-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields select,
body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields select {
	box-sizing: border-box;
	width: 250px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-id-input,
body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-id-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-code-input,
body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-code-input {
	box-sizing: border-box;
	width: 250px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-name-input,
body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-range-input,
body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-range-input {
	box-sizing: border-box;
	width: 88px !important;
	max-width: 100%;
}

.app-rcs-entry-query-results,
.app-rcs-entry-table-scroll,
.app-rcs-entry-table {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-table,
body.app-theme-ruby .conteudo .app-rcs-entry-table {
	min-width: 720px;
}

.app-rcs-entry-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 106px;
}

.app-rcs-entry-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-rcs-entry-pagination {
	margin-top: -1px !important;
}

.app-rcs-entry-deletion-content,
.app-rcs-entry-deletion-actions {
	box-sizing: border-box;
	width: 100%;
}

.app-rcs-entry-deletion-content h5 {
	margin: 10px 0 0;
	color: #10213d;
	font-size: 13px;
	word-break: break-word;
}

.app-rcs-entry-deletion-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 14px;
}

@media screen and (max-width: 620px) {
	.app-rcs-entry-filter-fields .name,
	.app-rcs-entry-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-rcs-entry-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-id-input,
	body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-id-input,
	body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-code-input,
	body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-code-input,
	body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-name-input,
	body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields input.app-rcs-entry-name-input,
	body.app-theme-ugestor .conteudo .app-rcs-entry-filter-fields select,
	body.app-theme-ruby .conteudo .app-rcs-entry-filter-fields select {
		width: 100% !important;
	}
}

/* Agrupadores de Menu E-commerce/App: workspace em tres abas com formularios,
 * grids e paginadores legados alinhados a baseline consolidada de Produtos. */
body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-panel,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-panel {
	margin: 14px 0 !important;
	overflow: hidden;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-panel > .rich-panel-body {
	padding: 0 !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-tabs,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-tabs {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	background: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .rich-tabpanel-content,
body.app-theme-ruby .conteudo .app-product-aggregator-form .rich-tabpanel-content {
	box-sizing: border-box;
	min-height: 320px;
	padding: 16px !important;
	background: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .rich-tab-header,
body.app-theme-ruby .conteudo .app-product-aggregator-form .rich-tab-header {
	padding: 10px 16px !important;
	border-color: #f0d4c8 !important;
	background: #fffaf7 !important;
	background-image: none !important;
	color: #415672 !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .rich-tab-active,
body.app-theme-ruby .conteudo .app-product-aggregator-form .rich-tab-active {
	border-top-color: #ff5a1f !important;
	background: #ffffff !important;
	color: #e94a16 !important;
	box-shadow: inset 0 3px 0 #ff5a1f !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-section,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-section,
body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-subsection,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-subsection,
body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-results-section,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-results-section {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 14px !important;
	padding: 14px 16px 16px !important;
	border: 1px solid #f0d4c8 !important;
	border-radius: 6px;
	background: #fffdfc !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form fieldset > legend,
body.app-theme-ruby .conteudo .app-product-aggregator-form fieldset > legend {
	padding: 0 7px;
	color: #10213d !important;
	font-size: 13px;
	font-weight: bold;
}

.app-product-aggregator-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .name,
body.app-theme-ruby .conteudo .app-product-aggregator-form .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .value,
body.app-theme-ruby .conteudo .app-product-aggregator-form .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form input[type="text"],
body.app-theme-ruby .conteudo .app-product-aggregator-form input[type="text"],
body.app-theme-ugestor .conteudo .app-product-aggregator-form select,
body.app-theme-ruby .conteudo .app-product-aggregator-form select {
	box-sizing: border-box;
	width: 520px;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .rich-select,
body.app-theme-ruby .conteudo .app-product-aggregator-form .rich-select,
body.app-theme-ugestor .conteudo .app-product-aggregator-form .rich-input-number-spinner,
body.app-theme-ruby .conteudo .app-product-aggregator-form .rich-input-number-spinner {
	width: auto !important;
	max-width: 100%;
}

.app-product-aggregator-service-area,
.app-product-aggregator-subsection {
	box-sizing: border-box;
	width: 100%;
}

.app-product-aggregator-service-area {
	margin-top: 14px;
}

.app-product-aggregator-establishment-select {
	width: 100%;
	border-collapse: collapse;
}

.app-product-aggregator-inline-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-height: 38px;
	margin-top: 12px;
}

.app-product-aggregator-inline-actions .app-action-primary {
	min-width: 118px;
	margin: 0 !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-icon-action,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-icon-action {
	box-sizing: content-box;
	width: 16px;
	height: 16px;
	margin: 0 4px !important;
	padding: 5px !important;
	border: 1px solid #cbd8e8;
	border-radius: 5px;
	background: #ffffff;
	vertical-align: middle;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-results-section,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-results-section {
	padding-bottom: 16px !important;
	overflow: hidden;
}

.app-product-aggregator-results {
	box-sizing: border-box;
	width: calc(100% + 32px);
	margin: 2px -16px -16px;
}

.app-product-aggregator-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-table,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-table {
	width: 100% !important;
	min-width: 620px;
	margin: 0 !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-table .rich-table-headercell,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-table .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-table .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-table .rich-table-subheadercell {
	padding: 9px 10px !important;
	border-color: rgba(255, 255, 255, .14) !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-table .rich-table-cell {
	padding: 9px 10px !important;
	vertical-align: middle;
}

.app-product-aggregator-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 58px;
}

.app-product-aggregator-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-product-aggregator-pagination {
	margin-top: -1px !important;
}

.app-product-aggregator-pagination .app-query-pager {
	min-height: 54px;
}

@media screen and (max-width: 720px) {
	body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-tabs,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-tabs {
		overflow-x: auto;
	}

	body.app-theme-ugestor .conteudo .app-product-aggregator-form .rich-tabpanel-content,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .rich-tabpanel-content {
		padding: 12px !important;
	}

	body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-section,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-section,
	body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-subsection,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-subsection,
	body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-results-section,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-results-section {
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	.app-product-aggregator-results {
		width: calc(100% + 24px);
		margin-right: -12px;
		margin-left: -12px;
	}

	body.app-theme-ugestor .conteudo .app-product-aggregator-form .name,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .name,
	body.app-theme-ugestor .conteudo .app-product-aggregator-form .value,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .value {
		float: none;
		width: 100%;
	}

	body.app-theme-ugestor .conteudo .app-product-aggregator-form .name,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-product-aggregator-form input[type="text"],
	body.app-theme-ruby .conteudo .app-product-aggregator-form input[type="text"],
	body.app-theme-ugestor .conteudo .app-product-aggregator-form select,
	body.app-theme-ruby .conteudo .app-product-aggregator-form select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-product-aggregator-row-actions input[type="image"],
	body.app-theme-ugestor .conteudo .app-product-aggregator-form .app-product-aggregator-icon-action,
	body.app-theme-ruby .conteudo .app-product-aggregator-form .app-product-aggregator-icon-action {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-product-aggregator-establishment-select,
	.app-product-aggregator-establishment-select > tbody,
	.app-product-aggregator-establishment-select > tbody > tr,
	.app-product-aggregator-establishment-select > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}

	.app-product-aggregator-inline-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.app-product-aggregator-inline-actions input[type="submit"],
	.app-product-aggregator-inline-actions input[type="button"] {
		width: 100%;
		min-height: 44px;
	}

	.app-product-aggregator-results .app-query-pager {
		align-items: stretch;
		flex-direction: column;
	}

	.app-product-aggregator-results .app-query-pager .pager-summary {
		margin-right: 0;
	}
}

/* Cadastro de Desenhos: dados tecnicos e imagem compartilham um workspace
 * responsivo, preservando o upload e a pre-visualizacao RichFaces originais. */
.app-drawing-page-actions {
	max-width: 560px;
}

.app-drawing-form-workspace {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
	align-items: start;
	gap: 18px;
}

.app-drawing-details-column,
.app-drawing-image-column {
	min-width: 0;
}

.app-drawing-section-heading {
	min-height: 50px;
	padding: 0 0 10px;
}

.app-drawing-section-heading h3 {
	margin: 0;
	color: #10213d;
	font-size: 16px;
	line-height: 1.3;
}

.app-drawing-section-heading p {
	margin: 4px 0 0;
	color: #58708d;
	font-size: 12px;
	line-height: 1.4;
}

.app-drawing-form-fields {
	box-sizing: border-box;
	width: 100%;
	padding: 14px;
	border: 1px solid #d7dfeb;
	border-top: 3px solid #ff5a1f;
	border-radius: 6px;
	background: #fbfcfe;
}

body.app-theme-ugestor .conteudo .app-drawing-form-fields input[type="text"],
body.app-theme-ruby .conteudo .app-drawing-form-fields input[type="text"] {
	box-sizing: border-box;
	max-width: 100% !important;
}

body.app-theme-ugestor .conteudo .app-drawing-form-fields input.app-drawing-code-input,
body.app-theme-ruby .conteudo .app-drawing-form-fields input.app-drawing-code-input {
	width: 220px !important;
}

body.app-theme-ugestor .conteudo .app-drawing-form-fields input.app-drawing-name-input,
body.app-theme-ruby .conteudo .app-drawing-form-fields input.app-drawing-name-input {
	width: 520px !important;
}

body.app-theme-ugestor .conteudo .app-drawing-form-fields select,
body.app-theme-ruby .conteudo .app-drawing-form-fields select {
	box-sizing: border-box;
	width: 320px;
	max-width: 100%;
}

.app-drawing-image-section {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-drawing-upload-fieldset,
body.app-theme-ruby .conteudo .app-drawing-upload-fieldset {
	box-sizing: border-box;
	width: 100%;
	min-height: 300px;
	margin: 0;
	padding: 14px;
	border-color: #d7dfeb !important;
	border-top: 3px solid #ff5a1f !important;
	border-radius: 6px;
	background: #fbfcfe !important;
	box-shadow: none;
}

.app-drawing-upload-fieldset legend {
	padding: 0 7px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-drawing-file-upload {
	box-sizing: border-box;
	width: 100% !important;
}

.app-drawing-file-upload .rich-fileupload-button,
.app-drawing-file-upload .fileUploadAddButtonClass {
	min-width: 112px;
	min-height: 34px;
	border-radius: 4px;
}

.app-drawing-image-preview {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 210px;
	margin-top: 12px;
	padding: 14px;
	border: 1px dashed #b9c8da;
	border-radius: 6px;
	background: #ffffff;
}

.app-drawing-image-empty {
	color: #6a7f98;
	font-size: 12px;
}

.app-drawing-image-preview-file,
.app-drawing-image-current,
.app-drawing-image-current-file {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

.app-drawing-image-current-file {
	width: 200px;
	height: 100px;
	object-fit: contain;
}

.app-drawing-image-actions {
	display: flex;
	align-self: stretch;
	justify-content: flex-end;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #d8e3e7;
}

.app-drawing-image-actions:empty {
	display: none;
}

.app-drawing-image-actions input {
	min-height: 34px;
	margin: 0 !important;
	padding: 7px 14px !important;
	border-radius: 5px;
	font-weight: bold;
}

.app-drawing-form-panel .rich-panel-footer {
	display: none;
}

.app-drawing-development-control {
	display: none !important;
}

@media screen and (max-width: 980px) {
	.app-drawing-form-workspace {
		grid-template-columns: 1fr;
	}

	body.app-theme-ugestor .conteudo .app-drawing-upload-fieldset,
	body.app-theme-ruby .conteudo .app-drawing-upload-fieldset {
		min-height: 240px;
	}
}

@media screen and (max-width: 620px) {
	body.app-theme-ugestor .conteudo .app-drawing-form-fields input.app-drawing-code-input,
	body.app-theme-ruby .conteudo .app-drawing-form-fields input.app-drawing-code-input,
	body.app-theme-ugestor .conteudo .app-drawing-form-fields input.app-drawing-name-input,
	body.app-theme-ruby .conteudo .app-drawing-form-fields input.app-drawing-name-input,
	body.app-theme-ugestor .conteudo .app-drawing-form-fields select,
	body.app-theme-ruby .conteudo .app-drawing-form-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-drawing-file-upload .rich-fileupload-button,
	.app-drawing-file-upload .fileUploadAddButtonClass,
	.app-drawing-image-actions input {
		min-height: 44px;
	}

	.app-drawing-form-fields input[type="radio"] {
		width: 22px;
		height: 22px;
	}
}

/* Consulta de UUID de Bens: adapta o grid mestre/detalhe legado sem alterar
 * os dois rich:datascroller ou o carregamento associado a cada UUID. */
.app-uuid-search-panel .app-uuid-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

body.app-theme-ugestor .conteudo .app-uuid-search-panel input.app-uuid-filter-input,
body.app-theme-ruby .conteudo .app-uuid-search-panel input.app-uuid-filter-input {
	box-sizing: border-box;
	width: 420px !important;
	max-width: 100%;
}

.app-uuid-query-results .app-query-table-scroll,
.app-uuid-query-results .app-uuid-master-table,
.app-uuid-query-results .app-uuid-detail-table {
	box-sizing: border-box;
	width: 100% !important;
}

.app-uuid-query-results .app-uuid-master-table {
	min-width: 720px;
}

body.app-theme-ugestor .conteudo .app-uuid-query-results .app-uuid-detail-table,
body.app-theme-ruby .conteudo .app-uuid-query-results .app-uuid-detail-table {
	border-color: #d7dfeb !important;
	background: #ffffff;
}

.app-uuid-query-results .app-uuid-detail-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 4px 0 0;
}

.app-uuid-query-results .app-query-pagination .app-query-pager {
	justify-content: center;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .conteudo .app-uuid-search-panel input.app-uuid-filter-input,
	body.app-theme-ruby .conteudo .app-uuid-search-panel input.app-uuid-filter-input {
		width: 100% !important;
		min-height: 44px !important;
	}

	.app-uuid-query-results .app-query-row-actions {
		min-width: 44px;
	}

	.app-uuid-query-results .app-query-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
	}
}

/* Formulario de UUID de Bens: organiza selecao, sugestoes e vinculos sobre
 * os mesmos componentes JSF/RichFaces legados da tela. */
.app-uuid-page-actions {
	max-width: 620px;
}

.app-uuid-form-panel .app-uuid-selector-panel {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	border: 1px solid #d7dfeb;
	border-radius: 6px;
	background: #ffffff;
}

body.app-theme-ugestor .conteudo .app-uuid-form-panel .app-uuid-selector-panel .rich-stglpanel-header,
body.app-theme-ruby .conteudo .app-uuid-form-panel .app-uuid-selector-panel .rich-stglpanel-header {
	padding: 10px 14px !important;
	border: 0;
	border-left: 4px solid #ff5a1f;
	border-bottom: 1px solid #f0d4c8;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
	font-size: 13px;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .app-uuid-form-panel .app-uuid-selector-panel .rich-stglpanel-body,
body.app-theme-ruby .conteudo .app-uuid-form-panel .app-uuid-selector-panel .rich-stglpanel-body {
	padding: 16px !important;
	background: #ffffff;
}

.app-uuid-selector-fields {
	box-sizing: border-box;
	width: 100%;
}

.app-uuid-option-row,
.app-uuid-search-row {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 38px;
}

.app-uuid-option-row .app-uuid-field-label {
	flex: 0 0 290px;
	color: #10213d;
	font-weight: bold;
}

.app-uuid-search-row .app-uuid-field-label {
	flex: 0 0 70px;
	color: #10213d;
	font-weight: bold;
}

.app-uuid-search-control {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	width: 100%;
	max-width: 520px;
}

body.app-theme-ugestor .conteudo .app-uuid-search-control input[type="text"],
body.app-theme-ruby .conteudo .app-uuid-search-control input[type="text"] {
	box-sizing: border-box;
	width: 420px !important;
	max-width: calc(100% - 42px) !important;
}

.app-uuid-search-control > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 0 !important;
	border: 1px solid #cbd8e8;
	border-radius: 4px;
	background: #ffffff;
	color: #10213d !important;
	line-height: 1;
}

.app-uuid-search-control > a:hover,
.app-uuid-search-control > a:focus {
	border-color: #ff9a77;
	background: #fff4ef;
	color: #e94a16 !important;
}

.app-uuid-section-heading {
	margin-top: 18px;
	padding: 0 0 10px;
	border-bottom: 1px solid #d8e3e7;
}

.app-uuid-section-heading h3 {
	margin: 0;
	color: #10213d;
	font-size: 16px;
}

.app-uuid-section-heading p {
	margin: 4px 0 0;
	color: #58708d;
	font-size: 12px;
}

.app-uuid-suggestion-results,
.app-uuid-selected-results {
	overflow-x: auto;
	overflow-y: visible;
}

.app-uuid-suggestion-results {
	margin-top: 12px;
}

.app-uuid-selected-results,
.app-uuid-selected-layout,
.app-uuid-selected-layout > tbody,
.app-uuid-selected-layout > tbody > tr,
.app-uuid-selected-layout > tbody > tr > td {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

.app-uuid-selected-results {
	margin-top: 0;
}

body.app-theme-ugestor .conteudo .app-uuid-form-grid,
body.app-theme-ruby .conteudo .app-uuid-form-grid {
	width: 100% !important;
	min-width: 720px;
	margin: 0 !important;
}

body.app-theme-ugestor .conteudo .app-uuid-selected-layout,
body.app-theme-ruby .conteudo .app-uuid-selected-layout {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	table-layout: fixed;
	border-collapse: collapse;
}

.app-uuid-selected-layout > tbody > tr > td {
	padding: 0 !important;
}

.app-uuid-inline-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.app-uuid-query-results .app-uuid-inline-pagination .rich-datascr,
.app-uuid-form-panel .app-uuid-inline-pagination .rich-datascr {
	box-sizing: border-box;
	width: 100% !important;
	margin-top: -1px !important;
	padding: 8px !important;
	border-top: 3px solid #ff5a1f !important;
}

.app-uuid-suggestion-actions {
	display: flex;
	justify-content: flex-end;
	padding-top: 10px;
}

.app-uuid-suggestion-actions:empty {
	display: none;
}

@media screen and (max-width: 760px) {
	.app-uuid-option-row,
	.app-uuid-search-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
		padding: 5px 0;
	}

	.app-uuid-option-row .app-uuid-field-label,
	.app-uuid-search-row .app-uuid-field-label {
		flex-basis: auto;
	}

	.app-uuid-search-control {
		width: 100%;
	}

	body.app-theme-ugestor .conteudo .app-uuid-search-control input[type="text"],
	body.app-theme-ruby .conteudo .app-uuid-search-control input[type="text"] {
		min-height: 44px !important;
	}

	.app-uuid-option-row {
		min-height: 44px;
	}

	.app-uuid-option-row input[type="checkbox"] {
		width: 20px;
		height: 20px;
	}

	.app-uuid-search-control > a,
	.app-uuid-form-panel .app-query-row-actions > a {
		box-sizing: border-box;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-uuid-form-panel .app-query-row-actions img {
		box-sizing: content-box;
		width: 16px;
		height: 16px;
		min-width: 16px;
		min-height: 16px;
		padding: 14px !important;
		object-fit: contain;
	}

	.app-uuid-suggestion-actions input[type="submit"],
	.app-uuid-suggestion-actions input[type="button"] {
		min-height: 44px;
	}
}

/* Centro de Custo: editor e arvore hierarquica no mesmo workspace, mantendo
 * os componentes e a selecao Ajax originais da tela. */
.app-cost-center-page-actions {
	max-width: 520px;
}

.app-cost-center-workspace {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
	align-items: start;
	gap: 18px;
}

.app-cost-center-editor-column,
.app-cost-center-tree-column {
	min-width: 0;
}

.app-cost-center-section-heading {
	min-height: 50px;
	padding: 0 0 10px;
}

.app-cost-center-section-heading h3 {
	margin: 0;
	color: #10213d;
	font-size: 16px;
	line-height: 1.3;
}

.app-cost-center-section-heading p {
	margin: 4px 0 0;
	color: #58708d;
	font-size: 12px;
	line-height: 1.4;
}

body.app-theme-ugestor .conteudo .app-cost-center-panel .app-cost-center-editor-panel,
body.app-theme-ruby .conteudo .app-cost-center-panel .app-cost-center-editor-panel {
	margin: 0;
	border-color: #d7dfeb !important;
	box-shadow: none;
}

.app-cost-center-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 760px;
}

.app-cost-center-parent-context {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 8px;
	padding: 10px 12px;
	border-left: 3px solid #19b8da;
	border-radius: 4px;
	background: #f2fbfd;
}

.app-cost-center-parent-context:empty {
	display: none;
}

body.app-theme-ugestor .conteudo .app-cost-center-fields input[type="text"],
body.app-theme-ruby .conteudo .app-cost-center-fields input[type="text"] {
	box-sizing: border-box;
	max-width: 100% !important;
}

body.app-theme-ugestor .conteudo .app-cost-center-fields input.app-cost-center-name-input,
body.app-theme-ruby .conteudo .app-cost-center-fields input.app-cost-center-name-input {
	width: 520px !important;
}

body.app-theme-ugestor .conteudo .app-cost-center-fields select,
body.app-theme-ruby .conteudo .app-cost-center-fields select {
	box-sizing: border-box;
	width: 320px;
	max-width: 100%;
}

.app-cost-center-editor-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #d8e3e7;
}

.app-cost-center-editor-actions:empty {
	display: none;
}

.app-cost-center-tree-container {
	box-sizing: border-box;
	width: 100%;
	min-height: 310px;
	max-height: 520px;
	padding: 14px;
	overflow: auto;
	border: 1px solid #d7dfeb;
	border-top: 3px solid #ff5a1f;
	border-radius: 6px;
	background: #fbfcfe;
}

.app-cost-center-tree {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 260px;
}

.app-cost-center-tree a:focus,
.app-cost-center-tree [tabindex]:focus {
	outline: 2px solid #19b8da;
	outline-offset: 2px;
}

@media screen and (max-width: 980px) {
	.app-cost-center-workspace {
		grid-template-columns: 1fr;
	}

	.app-cost-center-tree-container {
		min-height: 240px;
	}
}

@media screen and (max-width: 767px) {
	.app-cost-center-fields .name,
	.app-cost-center-fields .value {
		float: none;
		width: 100%;
	}

	.app-cost-center-fields .name {
		padding: 5px 0 2px;
	}

	body.app-theme-ugestor .conteudo .app-cost-center-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-cost-center-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-cost-center-fields select,
	body.app-theme-ruby .conteudo .app-cost-center-fields select,
	.app-cost-center-editor-actions input[type="submit"],
	.app-cost-center-editor-actions input[type="button"] {
		width: 100% !important;
		min-height: 44px !important;
	}

	.app-cost-center-fields input[type="checkbox"] {
		width: 20px;
		height: 20px;
	}

	.app-cost-center-tree a,
	.app-cost-center-tree [tabindex] {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

/* Plano de Contas Financeira: editor e arvore hierarquica seguem o mesmo
 * workspace homologado nos cadastros estruturais do ERP. */
.app-financial-account-page-actions {
	max-width: 520px;
}

.app-financial-account-workspace {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
	align-items: start;
	gap: 18px;
}

.app-financial-account-editor-column,
.app-financial-account-tree-column {
	min-width: 0;
}

.app-financial-account-section-heading {
	min-height: 50px;
	padding: 0 0 10px;
}

.app-financial-account-section-heading h3 {
	margin: 0;
	color: #10213d;
	font-size: 16px;
	line-height: 1.3;
}

.app-financial-account-section-heading p {
	margin: 4px 0 0;
	color: #58708d;
	font-size: 12px;
	line-height: 1.4;
}

body.app-theme-ugestor .conteudo .app-financial-account-panel .app-financial-account-editor-panel,
body.app-theme-ruby .conteudo .app-financial-account-panel .app-financial-account-editor-panel {
	margin: 0;
	border-color: #d7dfeb !important;
	box-shadow: none;
}

.app-financial-account-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 760px;
}

.app-financial-account-parent-context {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 8px;
	padding: 10px 12px;
	border-left: 3px solid #19b8da;
	border-radius: 4px;
	background: #f2fbfd;
}

.app-financial-account-parent-context:empty {
	display: none;
}

body.app-theme-ugestor .conteudo .app-financial-account-fields input[type="text"],
body.app-theme-ruby .conteudo .app-financial-account-fields input[type="text"] {
	box-sizing: border-box;
	max-width: 100% !important;
}

body.app-theme-ugestor .conteudo .app-financial-account-fields input.app-financial-account-name-input,
body.app-theme-ruby .conteudo .app-financial-account-fields input.app-financial-account-name-input {
	width: 520px !important;
}

body.app-theme-ugestor .conteudo .app-financial-account-fields select,
body.app-theme-ruby .conteudo .app-financial-account-fields select {
	box-sizing: border-box;
	width: 320px;
	max-width: 100%;
}

.app-financial-account-tree-container {
	box-sizing: border-box;
	width: 100%;
	min-height: 310px;
	max-height: 520px;
	padding: 14px;
	overflow: auto;
	border: 1px solid #d7dfeb;
	border-top: 3px solid #ff5a1f;
	border-radius: 6px;
	background: #fbfcfe;
}

.app-financial-account-tree {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 260px;
}

.app-financial-account-tree a:focus,
.app-financial-account-tree [tabindex]:focus {
	outline: 2px solid #19b8da;
	outline-offset: 2px;
}

@media screen and (max-width: 980px) {
	.app-financial-account-workspace {
		grid-template-columns: 1fr;
	}

	.app-financial-account-tree-container {
		min-height: 240px;
	}
}

@media screen and (max-width: 767px) {
	.app-financial-account-fields .name,
	.app-financial-account-fields .value {
		float: none;
		width: 100%;
	}

	.app-financial-account-fields .name {
		padding: 5px 0 2px;
	}

	body.app-theme-ugestor .conteudo .app-financial-account-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-financial-account-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-financial-account-fields select,
	body.app-theme-ruby .conteudo .app-financial-account-fields select {
		width: 100% !important;
		min-height: 44px !important;
	}

	.app-financial-account-fields input[type="checkbox"] {
		width: 20px;
		height: 20px;
	}

	.app-financial-account-tree a,
	.app-financial-account-tree [tabindex] {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

.app-query-results .app-query-pager select.pager-size-selector {
	box-sizing: border-box;
	width: 70px;
	min-width: 70px;
	height: 34px;
	margin: 0 3px;
	padding: 4px 8px;
	border: 1px solid #b9c8da;
	border-radius: 4px;
	background: #ffffff;
	color: #10213d;
	font-size: 12px;
}

.app-query-results .app-query-pager select.pager-size-selector:hover {
	border-color: #ff9a77;
}

.app-query-results .app-query-pager select.pager-size-selector:focus {
	border-color: #19b8da !important;
	box-shadow: 0 0 0 3px rgba(25, 201, 232, .18) !important;
	outline: 0;
}

body.app-theme-ugestor .conteudo .app-query-results .app-query-pager input.pager-button,
body.app-theme-ruby .conteudo .app-query-results .app-query-pager input.pager-button {
	box-sizing: border-box;
	width: auto !important;
	min-width: 82px !important;
	height: 34px !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 6px 12px !important;
	border: 1px solid #10213d !important;
	border-radius: 4px !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: bold;
	line-height: 1;
	text-shadow: none;
	box-shadow: 0 3px 8px rgba(8, 20, 47, .12);
}

body.app-theme-ugestor .conteudo .app-query-results .app-query-pager input.pager-button:hover,
body.app-theme-ruby .conteudo .app-query-results .app-query-pager input.pager-button:hover {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	box-shadow: 0 4px 10px rgba(233, 74, 22, .18);
}

body.app-theme-ugestor .conteudo .app-query-results .app-query-pager input.pager-button:focus,
body.app-theme-ruby .conteudo .app-query-results .app-query-pager input.pager-button:focus {
	outline: 2px solid #19b8da !important;
	outline-offset: 2px;
}

body.app-theme-ugestor .conteudo .app-query-results .app-query-pager input.pager-button[disabled],
body.app-theme-ruby .conteudo .app-query-results .app-query-pager input.pager-button[disabled] {
	cursor: not-allowed;
	border-color: #d7dfeb !important;
	background: #eef2f6 !important;
	color: #8b98aa !important;
	box-shadow: none;
	opacity: 1;
}

@media screen and (max-width: 980px) {
	.app-query-results .app-query-pager {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.app-query-results .app-query-pager .pager-summary {
		box-sizing: border-box;
		width: 100%;
		margin-right: 0;
	}
}

@media screen and (max-width: 560px) {
	.app-query-results .app-query-pager {
		gap: 7px;
		padding: 10px;
	}

	body.app-theme-ugestor .conteudo .app-query-results .app-query-pager input.pager-button,
	body.app-theme-ruby .conteudo .app-query-results .app-query-pager input.pager-button {
		flex: 1 1 calc(50% - 7px);
		min-width: 0 !important;
	}
}

body.app-theme-ugestor .app-message-modal .rich-mpnl-content,
body.app-theme-ruby .app-message-modal .rich-mpnl-content,
body.app-theme-ugestor .app-error-modal .rich-mpnl-content,
body.app-theme-ruby .app-error-modal .rich-mpnl-content,
body.app-theme-ugestor #ajaxLoadingModalBox .rich-mpnl-content,
body.app-theme-ruby #ajaxLoadingModalBox .rich-mpnl-content {
	border-color: #f0d4c8 !important;
	box-shadow: 0 24px 56px rgba(8, 20, 47, .28) !important;
}

body.app-theme-ugestor .app-message-modal .rich-mpnl-header,
body.app-theme-ruby .app-message-modal .rich-mpnl-header,
body.app-theme-ugestor #ajaxLoadingModalBox .rich-mpnl-header,
body.app-theme-ruby #ajaxLoadingModalBox .rich-mpnl-header {
	background: #08142f !important;
}

/* Erro global: apresentacao amigavel, responsiva e sem geometria local. */
body.app-theme-ugestor .app-error-modal .rich-mpnl-header,
body.app-theme-ruby .app-error-modal .rich-mpnl-header {
	border: 0 !important;
	background: #08142f !important;
	background-image: none !important;
	color: #ffffff !important;
}

body.app-theme-ugestor .app-error-modal .rich-mpnl-body,
body.app-theme-ruby .app-error-modal .rich-mpnl-body {
	box-sizing: border-box;
	padding: 0 !important;
}

.erroModal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px) !important;
	background: #ffffff;
	color: #10213d;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
}

.erroModalHeader {
	display: flex;
	align-items: center;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	line-height: 24px;
}

.erroModalIcon {
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-right: 9px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .18);
	color: #ffffff;
	font-weight: bold;
	line-height: 22px;
	text-align: center;
	vertical-align: middle;
}

.erroModalContent {
	box-sizing: border-box;
	width: 668px;
	max-width: calc(100vw - 64px);
	max-height: min(70vh, 550px);
	padding: 16px;
	overflow-y: auto;
}

.erroModalIntro {
	margin: 0 0 14px;
	padding: 4px 8px;
	color: #4d637e;
	font-size: 14px;
	line-height: 1.55;
	text-align: center;
}

.erroSection {
	margin: 10px 0;
	padding: 13px 14px;
	border: 1px solid #f0d4c8;
	border-left: 4px solid #19b8da;
	border-radius: 5px;
	background: #fffaf8;
}

.erroSectionWarning {
	border-color: #f0d39f;
	border-left-color: #c27a05;
	background: #fff9ed;
}

.erroSectionInfo {
	border-color: #b9e8f2;
	border-left-color: #19b8da;
	background: #effcff;
}

.erroSectionSuccess {
	border-color: #c2ead7;
	border-left-color: #0c9b6f;
	background: #f0fbf6;
}

.erroSectionTitle {
	margin-bottom: 9px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.erroInfoGrid {
	width: 100%;
	border-collapse: collapse;
}

.erroInfoGridTechnical {
	margin-top: 8px;
}

.erroInfoGrid td {
	padding: 7px 8px;
	border-bottom: 1px solid #f4e3dc;
}

.erroInfoGrid td:first-child {
	width: 30%;
	padding-right: 12px;
	color: #5b708b;
	font-weight: bold;
	text-align: right;
}

.erroInfoGrid td:last-child {
	color: #263b58;
}

.erroInfoGrid .scrollable {
	max-height: 60px;
	padding: 4px;
	border: 1px solid #d9e3ed;
	border-radius: 3px;
	background: #ffffff;
	overflow-x: hidden;
	overflow-y: auto;
	word-break: break-all;
}

.erroNotAvailable {
	color: #77879a;
}

.erroCodigoDestaque {
	display: inline-block;
	padding: 5px 8px;
	border-radius: 3px;
	background: #fff1ea;
	color: #c9352b;
	font-family: 'Courier New', monospace;
	font-weight: bold;
	overflow-wrap: anywhere;
}

.erroTechToggle {
	margin-top: 12px;
}

.erroTechDetails {
	display: none;
	max-height: 200px;
	margin-top: 8px;
	padding: 12px;
	border-radius: 4px;
	background: #263238;
	color: #cfd8dc;
	font-family: 'Courier New', monospace;
	font-size: 11px;
	overflow: auto;
	overflow-wrap: anywhere;
}

.erroBtnContainer {
	margin-top: 14px;
	padding-top: 14px;
	border-top-color: #f4e3dc;
}

.erroLink,
.toggleLink {
	color: #e94a16;
	text-decoration: none;
}

.toggleLink {
	cursor: pointer;
	font-size: 12px;
	text-decoration: underline;
}

.erroLink:hover {
	text-decoration: underline;
}

.erroUl {
	margin: 8px 0;
	padding-left: 24px;
}

.erroUl li {
	margin: 4px 0;
	color: #45586f;
}

@media screen and (max-width: 600px) {
	.erroModalContent {
		width: auto;
		max-width: calc(100vw - 44px);
		max-height: calc(100vh - 100px);
		padding: 12px;
	}

	.erroModalIntro {
		padding-right: 0;
		padding-left: 0;
		font-size: 13px;
		text-align: left;
	}

	.erroInfoGrid,
	.erroInfoGrid tbody,
	.erroInfoGrid tr,
	.erroInfoGrid td {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}

	.erroInfoGrid td:first-child {
		width: 100%;
		padding: 8px 0 2px;
		border-bottom: 0;
		text-align: left;
	}

	.erroInfoGrid td:last-child {
		padding: 2px 0 8px;
	}
}

/* Confirmacoes operacionais: composicao compacta e reutilizavel. */
body.app-theme-ugestor .app-confirmation-modal .rich-mpnl-content,
body.app-theme-ruby .app-confirmation-modal .rich-mpnl-content {
	border-color: #cbd8e8 !important;
	box-shadow: 0 20px 48px rgba(8, 20, 47, .24) !important;
}

body.app-theme-ugestor .app-confirmation-modal .rich-mpnl-header,
body.app-theme-ruby .app-confirmation-modal .rich-mpnl-header {
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
}

.app-confirmation-modal-content {
	text-align: center;
}

.app-confirmation-modal-message {
	display: block;
	color: #10213d;
	font-size: 14px;
	line-height: 1.45;
}

.app-confirmation-modal-warnings {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 12px;
}

.app-confirmation-modal-warning {
	display: block;
	box-sizing: border-box;
	padding: 8px 10px;
	border-left: 3px solid #dc2626;
	border-radius: 4px;
	background: #fff1f2;
	color: #991b1b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
}

.app-confirmation-modal-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
}

.app-confirmation-modal .app-confirmation-modal-actions span {
	display: inline-flex;
	align-items: stretch;
}

.app-confirmation-modal .app-confirmation-modal-actions input[type="submit"],
.app-confirmation-modal .app-confirmation-modal-actions input[type="button"] {
	min-width: 88px !important;
	min-height: 36px;
	margin: 0 !important;
	border-radius: 5px;
	background-image: none !important;
}

.app-confirmation-modal .app-confirmation-modal-primary input {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	color: #ffffff !important;
}

.app-confirmation-modal .app-confirmation-modal-primary input:hover {
	border-color: #cf3810 !important;
	background: #e94a16 !important;
}

.app-confirmation-modal .app-confirmation-modal-secondary input {
	border-color: #cbd8e8 !important;
	background: #ffffff !important;
	color: #10213d !important;
}

.app-confirmation-modal .app-confirmation-modal-secondary input:hover {
	border-color: #ff9a77 !important;
	background: #fff4ef !important;
	color: #e94a16 !important;
}

.app-confirmation-modal .app-confirmation-modal-actions input:focus {
	outline: 2px solid #20b9d2 !important;
	outline-offset: 2px;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	.app-confirmation-modal .app-confirmation-modal-actions input[type="submit"],
	.app-confirmation-modal .app-confirmation-modal-actions input[type="button"] {
		min-height: 44px;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-confirmation-modal,
	body.app-theme-ruby .app-confirmation-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-confirmation-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-confirmation-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-confirmation-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-confirmation-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-confirmation-modal .rich-mpnl-content,
	body.app-theme-ruby .app-confirmation-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-confirmation-modal .app-confirmation-modal-actions input[type="submit"],
	.app-confirmation-modal .app-confirmation-modal-actions input[type="button"] {
		min-height: 44px;
	}

	.app-confirmation-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}
}

/* Usuario existente: confirmacao de continuidade antes da selecao de acessos. */
body.app-theme-ugestor .app-user-existing-confirmation-modal .rich-mpnl-body,
body.app-theme-ruby .app-user-existing-confirmation-modal .rich-mpnl-body {
	box-sizing: border-box;
	padding: 18px !important;
}

.app-user-existing-confirmation-modal-content,
.app-user-existing-confirmation-modal-form {
	box-sizing: border-box;
	width: 100%;
}

.app-user-existing-confirmation-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 14px;
	border: 1px solid #d8e3e7;
	border-left: 4px solid #ff5a1f;
	border-radius: 6px;
	background: #f8fbfd;
	text-align: left;
}

.app-user-existing-confirmation-fieldset > legend {
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-user-existing-confirmation-description .prop {
	margin: 0 !important;
}

.app-user-existing-confirmation-message {
	font-weight: bold;
	word-break: break-word;
}

.app-user-existing-confirmation-actions {
	margin-top: 14px;
}

@media screen and (max-width: 560px) {
	.app-user-existing-confirmation-fieldset {
		padding: 12px;
	}
}

.app-deletion-confirmation-modal-content {
	padding-top: 2px;
}

.app-deletion-confirmation-modal-entity {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin-top: 10px;
	padding: 10px 12px;
	border: 1px solid #f0d4c8;
	border-left: 4px solid #ff5a1f;
	border-radius: 5px;
	background: #fff8f5;
	color: #10213d;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
	word-break: break-word;
}

.app-deletion-confirmation-modal-warning {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin-top: 8px;
	padding: 9px 11px;
	border: 1px solid #f0c7b7;
	border-radius: 5px;
	background: #fff4ef;
	color: #a32620;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
}

/* Conta bancaria: mantém os componentes legados e amplia apenas a área útil
 * do vínculo contábil para o mesmo ritmo dos formulários da baseline. */
.app-bank-account-form-panel .app-bank-account-accounting-fieldset {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 760px;
	margin: 12px 0 0;
}

.app-bank-account-form-panel .app-bank-account-accounting-fieldset legend {
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-bank-account-form-panel .app-bank-account-digit-control {
	width: 58px !important;
	max-width: 58px;
}

@media screen and (max-width: 767px) {
	.app-bank-account-form-panel .app-bank-account-accounting-fieldset {
		padding: 12px 10px 8px;
	}

	.app-bank-account-form-panel .app-bank-account-accounting-selection {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	.app-bank-account-form-panel .app-bank-account-accounting-selection img {
		box-sizing: content-box;
		width: 16px;
		height: 16px;
		min-width: 16px;
		min-height: 16px;
		padding: 14px !important;
		object-fit: contain;
	}
}

@media screen and (max-width: 767px) {
	.app-bank-account-query-results .app-query-row-actions {
		min-width: 140px;
	}

	.app-asset-query-results .app-query-row-actions {
		min-width: 140px;
	}

	.app-asset-group-query-results .app-query-row-actions {
		min-width: 140px;
	}

	.app-bank-account-query-results .app-query-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
	}

	.app-asset-query-results .app-query-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
	}

	.app-asset-group-query-results .app-query-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
	}
}

/* Formas de pagamento da entidade: seleção visual, edição contextual e grid
 * associado no mesmo ritmo dos formulários e resultados da baseline. */
.app-entity-payment-form-panel .app-payment-method-selection,
.app-entity-receipt-form-panel .app-payment-method-selection {
	display: block;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #dce5ed;
}

body.app-theme-ugestor .conteudo .app-payment-method-selector,
body.app-theme-ruby .conteudo .app-payment-method-selector {
	width: 100% !important;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 7px;
	background: transparent !important;
	box-shadow: none !important;
	table-layout: fixed;
}

body.app-theme-ugestor .conteudo .app-payment-method-selector > tbody > tr > td,
body.app-theme-ruby .conteudo .app-payment-method-selector > tbody > tr > td,
body.app-theme-ugestor .conteudo .app-payment-method-selector .rich-table-cell,
body.app-theme-ruby .conteudo .app-payment-method-selector .rich-table-cell {
	padding: 8px !important;
	border: 1px solid #d8e3ed !important;
	border-radius: 6px;
	background: #fbfcfe !important;
	transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

body.app-theme-ugestor .conteudo .app-payment-method-selector > tbody > tr > td:hover,
body.app-theme-ruby .conteudo .app-payment-method-selector > tbody > tr > td:hover,
body.app-theme-ugestor .conteudo .app-payment-method-selector .rich-table-cell:hover,
body.app-theme-ruby .conteudo .app-payment-method-selector .rich-table-cell:hover {
	border-color: #ff9a77 !important;
	background: #fff7f3 !important;
	box-shadow: 0 5px 14px rgba(8, 20, 47, .08);
}

.app-payment-method-selector-card,
.app-payment-method-selector-card tbody,
.app-payment-method-selector-card tr,
.app-payment-method-selector-card td {
	box-sizing: border-box;
	width: 100% !important;
}

.app-payment-method-choice {
	display: block;
	width: 32px !important;
	height: 32px !important;
	margin: 0 auto 5px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.app-payment-method-choice:focus {
	outline: 2px solid #19b8da !important;
	outline-offset: 3px;
}

.app-payment-method-name {
	display: block;
	min-height: 30px;
	color: #263b58;
	font-size: 11px;
	font-weight: bold;
	line-height: 1.35;
	text-align: center;
}

.app-payment-method-editor-container {
	display: block;
}

body.app-theme-ugestor .conteudo .app-payment-method-editor,
body.app-theme-ruby .conteudo .app-payment-method-editor {
	margin: 12px 0 0;
	box-shadow: none;
}

.app-payment-method-fields .name {
	width: 220px;
}

.app-payment-method-fields .value {
	width: calc(100% - 220px);
}

.app-payment-method-fields input[type="text"] {
	box-sizing: border-box;
	max-width: 100%;
}

.app-payment-method-accounting-fieldset {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 760px;
	margin: 10px 0 0;
}

.app-payment-method-accounting-fieldset legend,
.app-payment-method-associated-fieldset legend {
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-payment-method-editor-actions {
	margin-top: 10px;
	padding-top: 12px;
	border-top: 1px solid #dce5ed;
}

body.app-theme-ugestor .conteudo .app-payment-method-associated-fieldset,
body.app-theme-ruby .conteudo .app-payment-method-associated-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 16px 0 0;
	padding: 12px 0 0;
	overflow: hidden;
	border-radius: 7px;
}

.app-payment-method-associated-fieldset > legend {
	margin-left: 12px;
}

.app-payment-method-results {
	margin-top: 0;
}

body.app-theme-ugestor .conteudo .app-payment-method-results .app-payment-method-table,
body.app-theme-ruby .conteudo .app-payment-method-results .app-payment-method-table {
	width: 100% !important;
	border-right: 0 !important;
	border-left: 0 !important;
	border-radius: 0;
}

.app-payment-method-results > br {
	display: none;
}

.app-payment-method-empty,
.app-payment-method-total {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 12px 14px;
	color: #10213d;
}

.app-payment-method-empty {
	background: #f8fafc;
	text-align: center;
}

.app-payment-method-total {
	border-top: 2px solid #ff5a1f;
	background: #fff8f5;
}

body.app-theme-ugestor .conteudo .app-payment-method-scroller,
body.app-theme-ruby .conteudo .app-payment-method-scroller {
	margin: 0 auto 10px;
}

.app-payment-method-detail-modal .app-form-modal-actions input {
	border-color: #cbd8e8 !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #10213d !important;
}

.app-payment-method-detail-modal .app-form-modal-actions input:hover {
	border-color: #ff9a77 !important;
	background: #fff4ef !important;
	color: #e94a16 !important;
}

/* Detalhes da forma de pagamento: somente os dados variaveis rolam. A acao
 * de fechamento permanece acessivel mesmo quando as listas contabeis crescem. */
.app-payment-method-detail-form {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.app-payment-method-detail-modal-content {
	flex: 1 1 auto;
	min-height: 0;
}

.app-payment-method-detail-actions {
	flex: 0 0 auto;
}

.app-payment-method-detail-modal .app-financial-form-modal-fields .value {
	white-space: normal !important;
	overflow-wrap: anywhere;
}

@media screen and (max-width: 1199px) {
	body.app-theme-ugestor .app-payment-method-detail-modal,
	body.app-theme-ruby .app-payment-method-detail-modal {
		box-sizing: border-box;
		max-width: calc(100vw - 32px) !important;
		max-height: calc(100vh - 48px) !important;
		max-height: calc(100dvh - 48px) !important;
	}

	body.app-theme-ugestor .app-payment-method-detail-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-payment-method-detail-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-payment-method-detail-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-payment-method-detail-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-payment-method-detail-modal .rich-mpnl-content,
	body.app-theme-ruby .app-payment-method-detail-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
		max-height: 100% !important;
	}

	body.app-theme-ugestor .app-payment-method-detail-modal .rich-mpnl-body,
	body.app-theme-ruby .app-payment-method-detail-modal .rich-mpnl-body {
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		max-height: calc(100vh - 72px);
		max-height: calc(100dvh - 72px);
		overflow: hidden;
	}

	.app-payment-method-detail-form {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
	}

	.app-payment-method-detail-modal-content {
		max-height: none;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-payment-method-detail-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-payment-method-detail-actions input[type="submit"],
	.app-payment-method-detail-actions input[type="button"] {
		min-height: 44px;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-payment-method-detail-modal,
	body.app-theme-ruby .app-payment-method-detail-modal {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	.app-payment-method-detail-actions input[type="submit"],
	.app-payment-method-detail-actions input[type="button"] {
		width: 100%;
	}
}

/* Forma de recebimento: mantém o seletor e o grid comuns às formas financeiras
 * e organiza as configurações extensas sem alterar o fluxo JSF/Ajax. */
.app-receipt-anticipation-layout,
.app-receipt-fees-layout,
.app-receipt-installment-layout {
	box-sizing: border-box;
	width: 100% !important;
	table-layout: fixed;
}

.app-receipt-anticipation-layout > tbody > tr > td,
.app-receipt-fees-layout > tbody > tr > td,
.app-receipt-installment-layout > tbody > tr > td {
	box-sizing: border-box;
	padding: 5px 10px 5px 0;
	vertical-align: top;
}

.app-receipt-single-fee,
.app-receipt-installment-config {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-receipt-fee-fieldset,
body.app-theme-ruby .conteudo .app-receipt-fee-fieldset,
body.app-theme-ugestor .conteudo .app-receipt-installment-fieldset,
body.app-theme-ruby .conteudo .app-receipt-installment-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 12px;
	border-radius: 6px;
	box-shadow: none;
}

.app-receipt-fee-fieldset legend,
.app-receipt-installment-fieldset legend {
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-receipt-installment-add {
	min-height: 34px;
	margin-top: 8px !important;
	padding: 7px 14px !important;
	border-radius: 5px !important;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .app-receipt-installment-table,
body.app-theme-ruby .conteudo .app-receipt-installment-table {
	width: 100% !important;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 0;
}

body.app-theme-ugestor .conteudo .app-receipt-installment-table .rich-table-headercell,
body.app-theme-ruby .conteudo .app-receipt-installment-table .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-receipt-installment-table .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-receipt-installment-table .rich-table-subheadercell {
	padding: 8px 7px !important;
	border-color: #263758 !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: bold;
	text-shadow: none;
}

body.app-theme-ugestor .conteudo .app-receipt-installment-table .rich-table-headercell span,
body.app-theme-ruby .conteudo .app-receipt-installment-table .rich-table-headercell span,
body.app-theme-ugestor .conteudo .app-receipt-installment-table .rich-table-subheadercell span,
body.app-theme-ruby .conteudo .app-receipt-installment-table .rich-table-subheadercell span {
	color: #ffffff !important;
}

.app-receipt-accounting-fields {
	display: block;
	margin-top: 12px;
}

@media screen and (max-width: 850px) {
	.app-payment-method-selector,
	.app-payment-method-selector > tbody {
		display: block;
		width: 100% !important;
	}

	.app-payment-method-selector > tbody > tr {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 7px;
		width: 100%;
	}

	.app-payment-method-selector > tbody > tr > td {
		display: block;
		width: auto !important;
	}

	.app-receipt-anticipation-layout,
	.app-receipt-anticipation-layout > tbody,
	.app-receipt-anticipation-layout > tbody > tr,
	.app-receipt-fees-layout,
	.app-receipt-fees-layout > tbody,
	.app-receipt-fees-layout > tbody > tr,
	.app-receipt-installment-layout,
	.app-receipt-installment-layout > tbody,
	.app-receipt-installment-layout > tbody > tr {
		display: block;
		width: 100% !important;
	}

	.app-receipt-anticipation-layout > tbody > tr > td,
	.app-receipt-fees-layout > tbody > tr > td,
	.app-receipt-installment-layout > tbody > tr > td {
		display: block;
		width: 100% !important;
		padding-right: 0;
	}
}

@media screen and (max-width: 480px) {
	.app-payment-method-selector > tbody > tr {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.app-payment-method-fields .name,
	.app-payment-method-fields .value {
		float: none;
		width: 100%;
	}

	.app-payment-method-fields .name {
		padding: 5px 0 2px;
	}
}

@media screen and (max-width: 767px) {
	.app-entity-payment-form-panel .app-payment-method-selector > tbody > tr {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.app-entity-receipt-form-panel .app-payment-method-selector > tbody > tr {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.app-entity-payment-form-panel .app-payment-method-choice {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}

	.app-entity-receipt-form-panel .app-payment-method-choice {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}

	.app-entity-payment-form-panel .app-payment-method-fields .name,
	.app-entity-payment-form-panel .app-payment-method-fields .value,
	.app-entity-receipt-form-panel .app-payment-method-fields .name,
	.app-entity-receipt-form-panel .app-payment-method-fields .value {
		float: none;
		width: 100%;
	}

	.app-entity-payment-form-panel .app-payment-method-fields .name {
		padding: 5px 0 2px;
	}

	.app-entity-receipt-form-panel .app-payment-method-fields .name {
		padding: 5px 0 2px;
	}

	.app-entity-payment-form-panel .app-payment-method-fields input[type="text"],
	.app-entity-payment-form-panel .app-payment-method-fields select,
	.app-entity-payment-form-panel .app-payment-method-editor-actions input[type="submit"],
	.app-entity-payment-form-panel .app-payment-method-editor-actions input[type="button"] {
		min-height: 44px !important;
	}

	.app-entity-receipt-form-panel .app-payment-method-fields input[type="text"],
	.app-entity-receipt-form-panel .app-payment-method-fields select,
	.app-entity-receipt-form-panel .app-payment-method-editor-actions input[type="submit"],
	.app-entity-receipt-form-panel .app-payment-method-editor-actions input[type="button"] {
		min-height: 44px !important;
	}

	.app-entity-payment-form-panel .app-payment-method-accounting-fieldset img {
		box-sizing: content-box;
		width: 16px;
		height: 16px;
		min-width: 16px;
		min-height: 16px;
		padding: 14px !important;
		object-fit: contain;
	}

	.app-entity-receipt-form-panel .app-payment-method-accounting-fieldset img {
		box-sizing: content-box;
		width: 16px;
		height: 16px;
		min-width: 16px;
		min-height: 16px;
		padding: 14px !important;
		object-fit: contain;
	}

	.app-entity-payment-form-panel .app-payment-method-results .app-query-row-actions {
		min-width: 140px;
	}

	.app-entity-payment-form-panel .app-payment-method-results .app-query-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
	}

	.app-entity-receipt-form-panel .app-payment-method-results .app-query-row-actions,
	.app-entity-receipt-form-panel .app-receipt-installment-row-actions {
		min-width: 140px;
	}

	.app-entity-receipt-form-panel .app-payment-method-results .app-query-row-actions input[type="image"],
	.app-entity-receipt-form-panel .app-receipt-installment-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
	}
}

@media screen and (max-width: 420px) {
	.app-confirmation-modal .app-confirmation-modal-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.app-confirmation-modal .app-confirmation-modal-actions input[type="submit"],
	.app-confirmation-modal .app-confirmation-modal-actions input[type="button"] {
		width: 100%;
	}

	.app-confirmation-modal .app-confirmation-modal-actions span {
		width: 100%;
	}
}

/* Formularios compactos em modal: campos alinhados e acoes reutilizaveis. */
body.app-theme-ugestor .app-form-modal .rich-mpnl-content,
body.app-theme-ruby .app-form-modal .rich-mpnl-content {
	border-color: #cbd8e8 !important;
	box-shadow: 0 22px 52px rgba(8, 20, 47, .26) !important;
}

body.app-theme-ugestor .app-form-modal .rich-mpnl-header,
body.app-theme-ruby .app-form-modal .rich-mpnl-header {
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
}

body.app-theme-ugestor .app-form-modal .rich-mpnl-body,
body.app-theme-ruby .app-form-modal .rich-mpnl-body {
	box-sizing: border-box;
	padding: 18px !important;
}

.app-form-modal-content,
.app-form-modal-form,
.app-form-modal-fields {
	box-sizing: border-box;
	width: 100%;
}

/* Entrada de pagamento/recebimento: RichFaces autosized tende a reduzir o
 * painel ao tamanho do menor campo. A largura comum preserva a leitura dos
 * dados financeiros sem alterar o binding, a validacao ou o parcelamento. */
body.app-theme-ugestor .app-purchase-payment-modal,
body.app-theme-ruby .app-purchase-payment-modal,
body.app-theme-ugestor .app-financial-form-modal,
body.app-theme-ruby .app-financial-form-modal,
body.app-theme-ugestor .app-revenue-receipt-modal,
body.app-theme-ruby .app-revenue-receipt-modal {
	box-sizing: border-box;
	width: 560px !important;
	min-width: 0;
	max-width: calc(100vw - 48px) !important;
}

body.app-theme-ugestor .app-purchase-payment-modal .rich-mpnl-panel,
body.app-theme-ruby .app-purchase-payment-modal .rich-mpnl-panel,
body.app-theme-ugestor .app-purchase-payment-modal .rich-mpnl-shadow,
body.app-theme-ruby .app-purchase-payment-modal .rich-mpnl-shadow,
body.app-theme-ugestor .app-purchase-payment-modal .rich-mpnl-content,
body.app-theme-ruby .app-purchase-payment-modal .rich-mpnl-content,
body.app-theme-ugestor .app-financial-form-modal .rich-mpnl-panel,
body.app-theme-ruby .app-financial-form-modal .rich-mpnl-panel,
body.app-theme-ugestor .app-financial-form-modal .rich-mpnl-shadow,
body.app-theme-ruby .app-financial-form-modal .rich-mpnl-shadow,
body.app-theme-ugestor .app-financial-form-modal .rich-mpnl-content,
body.app-theme-ruby .app-financial-form-modal .rich-mpnl-content,
body.app-theme-ugestor .app-revenue-receipt-modal .rich-mpnl-panel,
body.app-theme-ruby .app-revenue-receipt-modal .rich-mpnl-panel,
body.app-theme-ugestor .app-revenue-receipt-modal .rich-mpnl-shadow,
body.app-theme-ruby .app-revenue-receipt-modal .rich-mpnl-shadow,
body.app-theme-ugestor .app-revenue-receipt-modal .rich-mpnl-content,
body.app-theme-ruby .app-revenue-receipt-modal .rich-mpnl-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
}

body.app-theme-ugestor .app-purchase-payment-modal .rich-mpnl-header,
body.app-theme-ruby .app-purchase-payment-modal .rich-mpnl-header,
body.app-theme-ugestor .app-financial-form-modal .rich-mpnl-header,
body.app-theme-ruby .app-financial-form-modal .rich-mpnl-header,
body.app-theme-ugestor .app-revenue-receipt-modal .rich-mpnl-header,
body.app-theme-ruby .app-revenue-receipt-modal .rich-mpnl-header {
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
}

/* Campos financeiros condicionais (entrada e vencimento) compartilham a
 * mesma largura do modal; no Smartphone deixam de disputar a mesma linha. */
.app-purchase-payment-modal .app-form-modal-inline-fields,
.app-financial-form-modal .app-form-modal-inline-fields,
.app-revenue-receipt-modal .app-form-modal-inline-fields {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	table-layout: fixed;
}

.app-purchase-payment-modal .app-form-modal-inline-fields > tbody > tr > td,
.app-financial-form-modal .app-form-modal-inline-fields > tbody > tr > td,
.app-revenue-receipt-modal .app-form-modal-inline-fields > tbody > tr > td {
	box-sizing: border-box;
	vertical-align: top;
	padding-right: 12px;
}

/* Compra: os campos de valor e vencimento não podem herdar a largura curta
 * do atributo size do JSF. O escopo preserva os bindings e os rendered do
 * fluxo financeiro, apenas disponibilizando área útil para digitação. */
body.app-theme-ugestor .app-purchase-payment-modal-fields .value > input[type="text"],
body.app-theme-ruby .app-purchase-payment-modal-fields .value > input[type="text"],
body.app-theme-ugestor .app-purchase-payment-modal-fields .value > select,
body.app-theme-ruby .app-purchase-payment-modal-fields .value > select {
	box-sizing: border-box;
	width: 100% !important;
	min-height: 38px;
}

body.app-theme-ugestor .app-purchase-payment-modal .app-form-modal-inline-fields .rich-calendar-input,
body.app-theme-ruby .app-purchase-payment-modal .app-form-modal-inline-fields .rich-calendar-input {
	box-sizing: border-box;
	width: calc(100% - 34px) !important;
	min-height: 38px;
}

/* Compras: o formulario financeiro permanece inteiro na viewport e usa
 * controles tocaveis sem alterar o fluxo de calculo e parcelamento. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-purchase-payment-modal,
	body.app-theme-ruby .app-purchase-payment-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-revenue-receipt-modal,
	body.app-theme-ruby .app-revenue-receipt-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-purchase-payment-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-purchase-payment-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-purchase-payment-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-purchase-payment-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-purchase-payment-modal .rich-mpnl-content,
	body.app-theme-ruby .app-purchase-payment-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .app-revenue-receipt-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-revenue-receipt-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-revenue-receipt-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-revenue-receipt-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-revenue-receipt-modal .rich-mpnl-content,
	body.app-theme-ruby .app-revenue-receipt-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-purchase-payment-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-purchase-payment-modal .app-form-modal-inline-fields,
	.app-purchase-payment-modal .app-form-modal-inline-fields > tbody,
	.app-purchase-payment-modal .app-form-modal-inline-fields > tbody > tr,
	.app-purchase-payment-modal .app-form-modal-inline-fields > tbody > tr > td,
	.app-financial-form-modal .app-form-modal-inline-fields,
	.app-financial-form-modal .app-form-modal-inline-fields > tbody,
	.app-financial-form-modal .app-form-modal-inline-fields > tbody > tr,
	.app-financial-form-modal .app-form-modal-inline-fields > tbody > tr > td,
	.app-revenue-receipt-modal .app-form-modal-inline-fields,
	.app-revenue-receipt-modal .app-form-modal-inline-fields > tbody,
	.app-revenue-receipt-modal .app-form-modal-inline-fields > tbody > tr,
	.app-revenue-receipt-modal .app-form-modal-inline-fields > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}

	.app-purchase-payment-modal .app-form-modal-inline-fields > tbody > tr > td,
	.app-financial-form-modal .app-form-modal-inline-fields > tbody > tr > td,
	.app-revenue-receipt-modal .app-form-modal-inline-fields > tbody > tr > td {
		padding: 0;
	}

	.app-purchase-payment-modal-fields .name,
	.app-purchase-payment-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-purchase-payment-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-purchase-payment-modal-fields input[type="text"],
	body.app-theme-ruby .app-purchase-payment-modal-fields input[type="text"],
	body.app-theme-ugestor .app-purchase-payment-modal-fields select,
	body.app-theme-ruby .app-purchase-payment-modal-fields select {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px !important;
	}

	.app-purchase-payment-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-purchase-payment-modal .rich-calendar-button {
		box-sizing: content-box;
		width: 18px !important;
		height: 18px !important;
		padding: 13px !important;
	}

	.app-purchase-payment-modal-actions input[type="submit"],
	.app-purchase-payment-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

body.app-theme-ugestor .app-form-modal-panel,
body.app-theme-ruby .app-form-modal-panel,
body.app-theme-ugestor .app-form-modal-panel .rich-panel-body,
body.app-theme-ruby .app-form-modal-panel .rich-panel-body {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .app-form-modal-panel .rich-panel-body,
body.app-theme-ruby .app-form-modal-panel .rich-panel-body {
	padding: 0 !important;
}

.app-form-modal-messages:empty {
	display: none;
}

.app-form-modal-summary {
	box-sizing: border-box;
	display: grid;
	gap: 8px;
	width: 100%;
	margin-bottom: 16px;
	padding: 14px 16px;
	border: 1px solid #d9e3ef;
	border-left: 4px solid #ff5a1f;
	border-radius: 6px;
	background: #f7f9fc;
}

.app-form-modal-summary-row {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.app-form-modal-summary-label {
	color: #52627a;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
	text-transform: uppercase;
}

.app-form-modal-summary-value {
	min-width: 0;
	color: #10213d;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	word-break: break-word;
}

.app-form-modal-calculation-fields {
	max-width: 470px;
}

.app-form-modal-calculation-fields input[type="text"] {
	width: 190px;
	max-width: 100%;
}

.app-form-modal-calculation-actions {
	margin-top: 2px;
	padding-top: 0;
	border-top: 0;
}

.app-form-modal-inline-fields {
	box-sizing: border-box;
	width: 100%;
	table-layout: fixed;
}

.app-form-modal-inline-fields > tbody > tr > td {
	box-sizing: border-box;
	width: 50%;
	padding-right: 12px;
	vertical-align: top;
}

.app-form-modal-inline-fields > tbody > tr > td:last-child {
	padding-right: 0;
	padding-left: 12px;
}

@media screen and (max-width: 720px) {
	.app-form-modal-summary-row {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.app-form-modal-inline-fields,
	.app-form-modal-inline-fields > tbody,
	.app-form-modal-inline-fields > tbody > tr,
	.app-form-modal-inline-fields > tbody > tr > td {
		display: block;
		width: 100%;
	}

	.app-form-modal-inline-fields > tbody > tr > td,
	.app-form-modal-inline-fields > tbody > tr > td:last-child {
		padding-left: 0;
		padding-right: 0;
	}
}

.app-form-modal-fields .name {
	box-sizing: border-box;
	width: 155px;
	padding: 8px 10px 8px 0;
	color: #10213d;
	font-size: 13px;
	line-height: 1.35;
}

.app-form-modal-fields .value {
	box-sizing: border-box;
	width: calc(100% - 155px);
	padding: 3px 0 9px;
}

.app-form-modal-fields input[type="text"] {
	box-sizing: border-box;
	min-height: 36px;
	padding: 7px 9px;
	border: 1px solid #b9cdd6;
	border-radius: 5px;
	background: #ffffff;
	color: #10213d;
	font-size: 13px;
}

.app-form-modal-fields input[type="text"]:focus {
	border-color: #20b9d2;
	box-shadow: 0 0 0 2px rgba(32, 185, 210, .16);
	outline: 0;
}

.app-product-price-modal .app-form-modal-fields input[type="text"] {
	width: 170px;
	max-width: calc(100% - 28px);
}

.app-product-price-modal .rich-calendar-button {
	margin-left: 5px;
	vertical-align: middle;
}

.app-product-quantity-modal-fields {
	padding: 4px 0 2px;
}

.app-product-quantity-control {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 44px;
}

.app-product-quantity-unit {
	color: #52627a;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	.app-product-quantity-modal .app-control-quantity,
	.app-product-quantity-modal .app-form-modal-actions input[type="submit"],
	.app-product-quantity-modal .app-form-modal-actions input[type="button"] {
		min-height: 44px !important;
	}

	.app-product-quantity-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-product-duplicate-modal .app-form-modal-fields input[type="text"],
	.app-product-duplicate-modal .app-form-modal-actions input[type="submit"],
	.app-product-duplicate-modal .app-form-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-product-duplicate-modal,
	body.app-theme-ruby .app-product-duplicate-modal,
	body.app-theme-ugestor .app-person-duplicate-modal,
	body.app-theme-ruby .app-person-duplicate-modal,
	body.app-theme-ugestor .app-expense-item-duplicate-modal,
	body.app-theme-ruby .app-expense-item-duplicate-modal,
	body.app-theme-ugestor .app-product-price-modal,
	body.app-theme-ruby .app-product-price-modal,
	body.app-theme-ugestor .app-product-quantity-modal,
	body.app-theme-ruby .app-product-quantity-modal,
	body.app-theme-ugestor .app-ggf-product-modal,
	body.app-theme-ruby .app-ggf-product-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-product-duplicate-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-product-duplicate-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-product-duplicate-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-product-duplicate-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-product-duplicate-modal .rich-mpnl-content,
	body.app-theme-ruby .app-product-duplicate-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-person-duplicate-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-person-duplicate-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-person-duplicate-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-person-duplicate-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-person-duplicate-modal .rich-mpnl-content,
	body.app-theme-ruby .app-person-duplicate-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-expense-item-duplicate-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-expense-item-duplicate-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-expense-item-duplicate-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-expense-item-duplicate-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-expense-item-duplicate-modal .rich-mpnl-content,
	body.app-theme-ruby .app-expense-item-duplicate-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-product-price-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-product-price-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-product-price-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-product-price-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-product-price-modal .rich-mpnl-content,
	body.app-theme-ruby .app-product-price-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-product-quantity-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-product-quantity-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-product-quantity-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-product-quantity-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-product-quantity-modal .rich-mpnl-content,
	body.app-theme-ruby .app-product-quantity-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-ggf-product-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-ggf-product-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-ggf-product-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-ggf-product-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-ggf-product-modal .rich-mpnl-content,
	body.app-theme-ruby .app-ggf-product-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-product-duplicate-modal .app-form-modal-fields input[type="text"],
	.app-product-duplicate-modal .app-form-modal-actions input[type="submit"],
	.app-product-duplicate-modal .app-form-modal-actions input[type="button"],
	.app-person-duplicate-modal .app-form-modal-fields input[type="text"],
	.app-person-duplicate-modal .app-form-modal-actions input[type="submit"],
	.app-person-duplicate-modal .app-form-modal-actions input[type="button"],
	.app-expense-item-duplicate-modal .app-form-modal-fields input[type="text"],
	.app-expense-item-duplicate-modal .app-form-modal-actions input[type="submit"],
	.app-expense-item-duplicate-modal .app-form-modal-actions input[type="button"],
	.app-product-price-modal .app-form-modal-fields input[type="text"],
	.app-product-price-modal .app-form-modal-actions input[type="submit"],
	.app-product-price-modal .app-form-modal-actions input[type="button"],
	.app-product-quantity-modal .app-control-quantity,
	.app-product-quantity-modal .app-form-modal-actions input[type="submit"],
	.app-product-quantity-modal .app-form-modal-actions input[type="button"],
	.app-ggf-product-modal .app-form-modal-fields input[type="text"],
	.app-ggf-product-modal .app-form-modal-fields select,
	.app-ggf-product-modal .app-form-modal-actions input[type="submit"],
	.app-ggf-product-modal .app-form-modal-actions input[type="button"] {
		min-height: 44px !important;
	}

	.app-product-price-modal .rich-calendar-button {
		box-sizing: content-box;
		width: 18px !important;
		height: 18px !important;
		padding: 13px !important;
	}

	.app-product-duplicate-modal .app-modal-close-button,
	.app-product-price-modal .app-modal-close-button,
	.app-product-quantity-modal .app-modal-close-button,
	.app-ggf-product-modal .app-modal-close-button,
	.app-ggf-product-remove-target,
	.app-ggf-product-remove-action {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-ggf-product-remove-target {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

.app-form-modal-actions {
	clear: both;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #e3eaed;
}

.app-form-modal-actions > span {
	display: inline-flex;
}

.app-form-modal-actions input[type="submit"],
.app-form-modal-actions input[type="button"],
.app-form-modal-action-link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 104px !important;
	min-height: 36px;
	margin: 0 !important;
	padding: 7px 12px;
	border: 1px solid transparent;
	border-radius: 5px;
	background-image: none !important;
	font-weight: bold;
	line-height: 1.35;
	text-decoration: none;
}

.app-form-modal-primary input,
.app-form-modal-primary .app-form-modal-action-link {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	color: #ffffff !important;
}

.app-form-modal-primary input:hover,
.app-form-modal-primary .app-form-modal-action-link:hover {
	border-color: #cf3810 !important;
	background: #e94a16 !important;
}

.app-form-modal-secondary input {
	border-color: #cbd8e8 !important;
	background: #ffffff !important;
	color: #10213d !important;
}

.app-form-modal-secondary input:hover {
	border-color: #ff9a77 !important;
	background: #fff4ef !important;
	color: #e94a16 !important;
}

.app-form-modal-actions input:focus,
.app-form-modal-action-link:focus {
	outline: 2px solid #20b9d2 !important;
	outline-offset: 2px;
}

/* Pedido: itens do padrao de producao e venda permanecem utilizaveis no
 * Smartphone sem comprimir a grade operacional nem seus controles. */
.app-sales-order-pattern-items-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

.app-sales-order-pattern-items-results {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-sales-order-pattern-items-modal,
	body.app-theme-ruby .app-sales-order-pattern-items-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-sales-order-pattern-items-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-sales-order-pattern-items-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-sales-order-pattern-items-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-sales-order-pattern-items-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-sales-order-pattern-items-modal .rich-mpnl-content,
	body.app-theme-ruby .app-sales-order-pattern-items-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-sales-order-pattern-items-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.app-theme-ugestor .app-sales-order-pattern-items-results > .app-sales-order-pattern-items-table,
	body.app-theme-ruby .app-sales-order-pattern-items-results > .app-sales-order-pattern-items-table {
		width: auto !important;
		min-width: 1180px;
		max-width: none !important;
	}

	body.app-theme-ugestor .app-sales-order-pattern-services-table,
	body.app-theme-ruby .app-sales-order-pattern-services-table {
		width: auto !important;
		min-width: 520px;
		max-width: none !important;
	}

	.app-sales-order-pattern-items-modal .app-control-quantity,
	.app-sales-order-pattern-items-modal-actions input[type="submit"],
	.app-sales-order-pattern-items-modal-actions input[type="button"] {
		min-height: 44px !important;
	}

	.app-sales-order-pattern-items-modal .app-modal-close-button,
	.app-sales-order-pattern-items-refresh-action,
	.app-sales-order-pattern-items-delete-action {
		box-sizing: border-box;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-sales-order-pattern-items-delete-action img {
		width: 16px;
		height: 16px;
		object-fit: contain;
	}
}

/* Pedido: alteracao em lote da data de faturamento no Smartphone. */
.app-sales-order-billing-date-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-sales-order-billing-date-modal,
	body.app-theme-ruby .app-sales-order-billing-date-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-sales-order-billing-date-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-sales-order-billing-date-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-sales-order-billing-date-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-sales-order-billing-date-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-sales-order-billing-date-modal .rich-mpnl-content,
	body.app-theme-ruby .app-sales-order-billing-date-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-sales-order-billing-date-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-sales-order-billing-date-modal-fields .name,
	.app-sales-order-billing-date-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-sales-order-billing-date-modal-fields .name {
		padding: 5px 0 2px;
	}

	.app-sales-order-billing-date-modal-fields input[type="text"],
	.app-sales-order-billing-date-modal-actions input[type="submit"],
	.app-sales-order-billing-date-modal-actions input[type="button"] {
		min-height: 44px !important;
	}

	.app-sales-order-billing-date-modal .rich-calendar-button {
		box-sizing: content-box;
		width: 18px !important;
		height: 18px !important;
		padding: 13px !important;
	}

	.app-sales-order-billing-date-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}
}

/* Ordem de faturamento: retorno da carta de correcao autorizado. */
.app-invoice-order-correction-authorized-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-invoice-order-correction-authorized-modal,
	body.app-theme-ruby .app-invoice-order-correction-authorized-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-invoice-order-correction-authorized-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-invoice-order-correction-authorized-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-invoice-order-correction-authorized-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-invoice-order-correction-authorized-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-invoice-order-correction-authorized-modal .rich-mpnl-content,
	body.app-theme-ruby .app-invoice-order-correction-authorized-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-invoice-order-correction-authorized-modal-content {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-invoice-order-correction-authorized-modal .app-form-modal-action-link,
	.app-invoice-order-correction-authorized-modal .app-form-modal-actions input[type="button"] {
		min-height: 44px !important;
	}

	.app-invoice-order-correction-authorized-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}
}

/* Ordem de faturamento: retorno tecnico da carta de correcao rejeitada. */
.app-invoice-order-correction-rejected-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

.app-invoice-order-correction-rejected-modal .app-control-textarea {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-invoice-order-correction-rejected-modal,
	body.app-theme-ruby .app-invoice-order-correction-rejected-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-invoice-order-correction-rejected-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-invoice-order-correction-rejected-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-invoice-order-correction-rejected-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-invoice-order-correction-rejected-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-invoice-order-correction-rejected-modal .rich-mpnl-content,
	body.app-theme-ruby .app-invoice-order-correction-rejected-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-invoice-order-correction-rejected-modal-content,
	.app-invoice-order-correction-rejected-modal-scroll {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-invoice-order-correction-rejected-modal .app-form-modal-actions input[type="submit"],
	.app-invoice-order-correction-rejected-modal .app-modal-close-button {
		min-height: 44px !important;
	}

	.app-invoice-order-correction-rejected-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
	}
}

/* Pedido/Orcamento: previa do XML da NF-e com rolagem interna no Smartphone. */
.app-sales-order-nfe-preview-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

.app-sales-order-nfe-preview-modal-content,
.app-sales-order-nfe-preview-modal-form,
.app-sales-order-nfe-preview-modal-panel,
.app-sales-order-nfe-preview-modal-wrapper,
.app-sales-order-nfe-preview-modal-xml {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.app-sales-order-nfe-preview-modal-subheader {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.app-sales-order-nfe-preview-modal-description {
	flex: 1 1 auto;
	min-width: 0;
}

.app-sales-order-nfe-preview-modal-actions {
	flex: 0 0 auto;
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.app-sales-order-nfe-preview-modal-xml {
	max-width: 100%;
	max-height: 60vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.app-sales-order-nfe-preview-modal-code {
	display: block;
	min-width: 100%;
	max-width: none;
	margin: 0;
	white-space: pre;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-sales-order-nfe-preview-modal,
	body.app-theme-ruby .app-sales-order-nfe-preview-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-sales-order-nfe-preview-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-sales-order-nfe-preview-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-sales-order-nfe-preview-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-sales-order-nfe-preview-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-sales-order-nfe-preview-modal .rich-mpnl-content,
	body.app-theme-ruby .app-sales-order-nfe-preview-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-sales-order-nfe-preview-modal-content,
	.app-sales-order-nfe-preview-modal-wrapper {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
	}

	.app-sales-order-nfe-preview-modal-wrapper {
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.app-sales-order-nfe-preview-modal-subheader {
		flex: 0 0 auto;
		flex-direction: column;
	}

	.app-sales-order-nfe-preview-modal-actions {
		flex-wrap: wrap;
		width: 100%;
	}

	.app-sales-order-nfe-preview-modal-xml {
		flex: 1 1 auto;
		min-height: 0;
		max-height: calc(100vh - 240px);
		max-height: calc(100dvh - 240px);
	}

	.app-sales-order-nfe-preview-modal-actions input[type="submit"],
	.app-sales-order-nfe-preview-modal-actions input[type="button"],
	.app-sales-order-nfe-preview-modal .app-modal-close-button {
		min-height: 44px !important;
	}

	.app-sales-order-nfe-preview-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
	}
}

/* Pedido/Orcamento: selecao de lotes e grade editavel no Smartphone. */
.app-sales-order-product-lot-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

.app-sales-order-product-lot-modal-content,
.app-sales-order-product-lot-modal-form,
.app-sales-order-product-lot-modal-selection,
.app-sales-order-product-lot-modal-results,
.app-sales-order-product-lot-modal-fields,
.app-sales-order-product-lot-modal-grid-scroll {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.app-sales-order-product-lot-modal-fields {
	margin: 12px 0 0;
}

.app-sales-order-product-lot-modal-grid-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-sales-order-product-lot-modal,
	body.app-theme-ruby .app-sales-order-product-lot-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-sales-order-product-lot-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-sales-order-product-lot-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-sales-order-product-lot-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-sales-order-product-lot-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-sales-order-product-lot-modal .rich-mpnl-content,
	body.app-theme-ruby .app-sales-order-product-lot-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-sales-order-product-lot-modal-content {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-sales-order-product-lot-modal .app-autocomplete-control,
	.app-sales-order-product-lot-modal .app-autocomplete-input {
		box-sizing: border-box;
		max-width: 100%;
	}

	.app-sales-order-product-lot-modal-grid {
		min-width: 760px;
	}

	.app-sales-order-product-lot-modal .app-control-quantity,
	.app-sales-order-product-lot-modal-actions input[type="submit"],
	.app-sales-order-product-lot-modal-actions input[type="button"],
	.app-sales-order-product-lot-modal-update-actions input[type="submit"],
	.app-sales-order-product-lot-modal-update-actions input[type="button"],
	.app-sales-order-product-lot-modal .app-modal-close-button,
	.app-sales-order-product-lot-remove-action {
		min-height: 44px !important;
	}

	.app-sales-order-product-lot-modal .app-modal-close-button,
	.app-sales-order-product-lot-remove-action {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		padding: 12px !important;
	}

	.app-sales-order-product-lot-modal-actions,
	.app-sales-order-product-lot-modal-update-actions {
		flex-wrap: wrap;
	}
}

/* Inclusao de usuario: seletor e credenciais no modal de formulario padrao. */
.app-user-create-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

body.app-theme-ugestor .app-user-create-modal-panel,
body.app-theme-ruby .app-user-create-modal-panel,
body.app-theme-ugestor .app-user-create-modal-panel .rich-panel-body,
body.app-theme-ruby .app-user-create-modal-panel .rich-panel-body {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .app-user-create-modal-panel .rich-panel-body,
body.app-theme-ruby .app-user-create-modal-panel .rich-panel-body {
	padding: 0 !important;
}

.app-user-create-modal-messages:empty {
	display: none;
}

.app-user-create-modal-fields .name {
	width: 105px;
}

.app-user-create-modal-fields .value {
	width: calc(100% - 105px);
}

body.app-theme-ugestor .app-user-create-modal-fields select,
body.app-theme-ruby .app-user-create-modal-fields select,
.app-user-create-modal-fields input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 36px;
	padding: 7px 9px;
	border: 1px solid #b9cdd6;
	border-radius: 5px;
	background: #ffffff;
	color: #10213d;
	font-size: 13px;
}

body.app-theme-ugestor .app-user-create-modal-fields select:focus,
body.app-theme-ruby .app-user-create-modal-fields select:focus,
.app-user-create-modal-fields input[type="password"]:focus {
	border-color: #20b9d2;
	box-shadow: 0 0 0 2px rgba(32, 185, 210, .16);
	outline: 0;
}

.app-user-create-modal-fields input.app-user-create-login-input,
.app-user-create-modal-fields input.app-user-create-password-input {
	width: 100%;
	max-width: 100%;
}

/* Clonagem de RCS: formulario compacto sobre o padrao modal de Produtos. */
.app-rcs-clone-modal-fields input.app-rcs-clone-code-input {
	width: 220px;
	max-width: 100%;
}

.app-rcs-clone-modal-fields input.app-rcs-clone-name-input {
	width: 360px;
	max-width: 100%;
}

/* Formularios financeiros em modal: campos longos, secoes e altura dinamica. */
.app-financial-form-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

.app-financial-form-modal-content {
	box-sizing: border-box;
	max-height: 68vh;
	padding-right: 4px;
	overflow-x: hidden;
	overflow-y: auto;
}

body.app-theme-ugestor .app-financial-form-modal-panel,
body.app-theme-ruby .app-financial-form-modal-panel,
body.app-theme-ugestor .app-financial-form-modal-panel .rich-panel-body,
body.app-theme-ruby .app-financial-form-modal-panel .rich-panel-body {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .app-financial-form-modal-panel .rich-panel-body,
body.app-theme-ruby .app-financial-form-modal-panel .rich-panel-body {
	padding: 0 !important;
}

.app-financial-form-modal-fields .name {
	width: 220px;
}

.app-financial-form-modal-fields .value {
	width: calc(100% - 220px);
}

body.app-theme-ugestor .app-financial-form-modal-fields select,
body.app-theme-ruby .app-financial-form-modal-fields select {
	box-sizing: border-box;
	min-width: 170px;
	max-width: 100%;
	min-height: 36px;
	padding: 6px 30px 6px 9px;
	border: 1px solid #b9cdd6;
	border-radius: 5px;
	background-color: #ffffff;
	color: #10213d;
}

body.app-theme-ugestor .app-financial-form-modal-fields select:focus,
body.app-theme-ruby .app-financial-form-modal-fields select:focus {
	border-color: #20b9d2;
	box-shadow: 0 0 0 2px rgba(32, 185, 210, .16);
	outline: 0;
}

body.app-theme-ugestor .app-financial-form-modal-fields fieldset,
body.app-theme-ruby .app-financial-form-modal-fields fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 12px 0 0;
	padding: 12px 14px 6px;
	border: 1px solid #d8e3e7 !important;
	border-radius: 6px;
	background: #fbfcfd !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .app-financial-form-modal-fields legend,
body.app-theme-ruby .app-financial-form-modal-fields legend {
	padding: 0 6px;
	color: #10213d !important;
	font-size: 13px;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-financial-form-modal,
	body.app-theme-ruby .app-financial-form-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-financial-form-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-financial-form-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-financial-form-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-financial-form-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-financial-form-modal .rich-mpnl-content,
	body.app-theme-ruby .app-financial-form-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-financial-form-modal-content {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		-webkit-overflow-scrolling: touch;
	}

	.app-financial-form-modal-fields .name,
	.app-financial-form-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-financial-form-modal-fields .name {
		padding: 5px 0 2px;
	}

	.app-financial-form-modal .app-form-modal-fields input[type="text"],
	.app-financial-form-modal .app-form-modal-fields select,
	.app-financial-form-modal .app-form-modal-actions input[type="submit"],
	.app-financial-form-modal .app-form-modal-actions input[type="button"] {
		min-height: 44px !important;
	}

	.app-financial-form-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}
}

@media screen and (max-width: 480px) {
	.app-form-modal-fields .name,
	.app-form-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-form-modal-fields .name {
		padding: 5px 0 2px;
	}

	.app-form-modal-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.app-form-modal-actions > span,
	.app-form-modal-actions input[type="submit"],
	.app-form-modal-actions input[type="button"],
	.app-form-modal-action-link {
		width: 100%;
	}
}

/* Validacao de alcada: credenciais autorizadoras em modal compacto e responsivo. */
.app-clearance-validation-modal {
	box-sizing: border-box;
	width: 440px;
	max-width: calc(100vw - 24px) !important;
}

.app-clearance-validation-content {
	box-sizing: border-box;
	width: 100%;
}

.app-clearance-validation-intro {
	display: grid;
	gap: 3px;
	margin-bottom: 12px;
	padding: 10px 12px;
	border-left: 3px solid #ff5a1f;
	border-radius: 0 5px 5px 0;
	background: #f7fafc;
}

.app-clearance-validation-eyebrow,
.app-clearance-validation-title,
.app-clearance-validation-description {
	display: block;
}

.app-clearance-validation-eyebrow {
	color: #e94a16;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: .08em;
}

.app-clearance-validation-title {
	color: #10213d;
	font-size: 15px;
	font-weight: bold;
}

.app-clearance-validation-description {
	color: #58708d;
	font-size: 12px;
	line-height: 1.4;
}

.app-clearance-validation-fields input[type="text"],
.app-clearance-validation-fields input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 36px;
	padding: 7px 9px;
	border: 1px solid #b9cdd6;
	border-radius: 5px;
	background: #ffffff;
	color: #10213d;
}

.app-clearance-validation-fields input:focus {
	border-color: #20b9d2;
	box-shadow: 0 0 0 2px rgba(32, 185, 210, .16);
	outline: 0;
}

@media screen and (max-width: 480px) {
	.app-clearance-validation-modal {
		width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}
}

/* Selecao em lote: modal com grid, estado vazio, paginacao e acoes compactas. */
body.app-theme-ugestor .app-selection-modal .rich-mpnl-content,
body.app-theme-ruby .app-selection-modal .rich-mpnl-content {
	border-color: #cbd8e8 !important;
	box-shadow: 0 22px 52px rgba(8, 20, 47, .26) !important;
}

body.app-theme-ugestor .app-selection-modal .rich-mpnl-header,
body.app-theme-ruby .app-selection-modal .rich-mpnl-header {
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
}

body.app-theme-ugestor .app-selection-modal .rich-mpnl-body,
body.app-theme-ruby .app-selection-modal .rich-mpnl-body {
	box-sizing: border-box;
	padding: 14px !important;
}

.app-selection-modal-content,
.app-selection-modal-form {
	box-sizing: border-box;
	width: 100%;
}

.app-selection-modal-grid {
	box-sizing: border-box;
	width: 100%;
	max-height: 360px;
	overflow: auto;
	border: 1px solid #d8e3e7;
	border-radius: 6px;
	background: #ffffff;
}

.app-selection-modal-grid .rich-table {
	width: 100% !important;
	min-width: 760px;
	border: 0 !important;
	border-collapse: collapse;
}

.app-selection-modal-grid .rich-table-headercell,
.app-selection-modal-grid .rich-table-subheadercell {
	padding: 8px 7px !important;
	border: 0 !important;
	border-right: 1px solid rgba(255, 255, 255, .14) !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 12px;
	font-weight: bold;
}

.app-selection-modal-grid .rich-table-cell {
	padding: 8px 7px !important;
	border-color: #e3eaed !important;
	color: #10213d;
}

.app-selection-modal-grid .app-selection-modal-check-column {
	width: 38px;
	text-align: center;
}

.app-selection-modal-check-cell {
	text-align: center;
}

.app-selection-modal-grid .rich-table-row:hover .rich-table-cell {
	background: #f4f9fc !important;
}

.app-selection-modal-empty {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 30px 18px;
	background: #f8fbfd;
	color: #58708d;
	font-style: italic;
	text-align: center;
}

.app-selection-modal-pagination {
	display: flex;
	justify-content: center;
	min-height: 0;
	margin-top: 10px;
}

.app-selection-modal-pagination .rich-datascr {
	margin: 0 !important;
	border-color: #cbd8e8 !important;
	background: #f8fbfd !important;
	background-image: none !important;
}

.app-selection-modal-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 14px;
}

.app-selection-modal-actions > span {
	display: contents;
}

.app-selection-modal-actions input[type="submit"],
.app-selection-modal-actions input[type="button"] {
	min-width: 104px !important;
	min-height: 36px;
	margin: 0 !important;
	border-radius: 5px;
	background-image: none !important;
}

.app-selection-modal-primary input {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	color: #ffffff !important;
}

.app-selection-modal-primary input:hover {
	border-color: #cf3810 !important;
	background: #e94a16 !important;
}

.app-selection-modal-secondary input {
	border-color: #cbd8e8 !important;
	background: #ffffff !important;
	color: #10213d !important;
}

.app-selection-modal-secondary input:hover {
	border-color: #ff9a77 !important;
	background: #fff4ef !important;
	color: #e94a16 !important;
}

.app-selection-modal-actions input:focus,
.app-selection-modal-grid input:focus,
.app-selection-modal-pagination a:focus {
	outline: 2px solid #20b9d2 !important;
	outline-offset: 2px;
}

/* Selecao de formas de pagamento: lista compacta, carregada apenas na abertura
 * do modal, com acoes sempre visiveis fora da area rolavel. */
.app-payment-method-selection-modal,
.app-receipt-method-selection-modal,
.app-product-group-selection-modal {
	box-sizing: border-box;
	width: 620px;
	max-width: calc(100vw - 24px) !important;
}

.app-payment-method-selection-content,
.app-receipt-method-selection-content,
.app-product-group-selection-content {
	box-sizing: border-box;
	width: 100%;
}

.app-payment-method-selection-intro,
.app-receipt-method-selection-intro,
.app-product-group-selection-intro {
	display: grid;
	gap: 3px;
	margin-bottom: 12px;
	padding: 10px 12px;
	border-left: 3px solid #ff5a1f;
	border-radius: 0 5px 5px 0;
	background: #f7fafc;
}

.app-payment-method-selection-eyebrow,
.app-payment-method-selection-title,
.app-payment-method-selection-description,
.app-receipt-method-selection-eyebrow,
.app-receipt-method-selection-title,
.app-receipt-method-selection-description,
.app-product-group-selection-eyebrow,
.app-product-group-selection-title,
.app-product-group-selection-description {
	display: block;
}

.app-payment-method-selection-eyebrow,
.app-receipt-method-selection-eyebrow,
.app-product-group-selection-eyebrow {
	color: #e94a16;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: .08em;
}

.app-payment-method-selection-title,
.app-receipt-method-selection-title,
.app-product-group-selection-title {
	color: #10213d;
	font-size: 16px;
	font-weight: bold;
}

.app-payment-method-selection-description,
.app-receipt-method-selection-description,
.app-product-group-selection-description {
	color: #58708d;
	font-size: 12px;
	line-height: 1.4;
}

.app-payment-method-selection-grid,
.app-receipt-method-selection-grid,
.app-product-group-selection-grid {
	max-height: 400px;
}

.app-payment-method-selection-grid .rich-table,
.app-receipt-method-selection-grid .rich-table,
.app-product-group-selection-grid .rich-table {
	min-width: 0;
}

.app-payment-method-selection-grid .app-selection-modal-check-column,
.app-receipt-method-selection-grid .app-selection-modal-check-column,
.app-product-group-selection-grid .app-selection-modal-check-column {
	width: 96px;
}

.app-payment-method-selection-all,
.app-receipt-method-selection-all,
.app-product-group-selection-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.app-payment-method-selection-grid input[type="checkbox"],
.app-receipt-method-selection-grid input[type="checkbox"],
.app-product-group-selection-grid input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	vertical-align: middle;
}

@media screen and (max-width: 960px) {
	.app-selection-modal {
		max-width: calc(100vw - 24px) !important;
	}

	.app-selection-modal-grid {
		max-height: 300px;
	}
}

@media screen and (max-width: 520px) {
	body.app-theme-ugestor .app-selection-modal .rich-mpnl-body,
	body.app-theme-ruby .app-selection-modal .rich-mpnl-body {
		padding: 10px !important;
	}

	.app-selection-modal-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.app-selection-modal-actions > span,
	.app-selection-modal-actions input[type="submit"],
	.app-selection-modal-actions input[type="button"] {
		width: 100%;
	}

	.app-payment-method-selection-modal,
	.app-receipt-method-selection-modal,
	.app-product-group-selection-modal {
		width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	.app-payment-method-selection-grid,
	.app-receipt-method-selection-grid,
	.app-product-group-selection-grid {
		max-height: calc(100vh - 310px);
		max-height: calc(100dvh - 310px);
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-product-association-modal,
	body.app-theme-ruby .app-product-association-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		max-height: calc(100vh - 24px) !important;
		max-height: calc(100dvh - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-product-association-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-product-association-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-product-association-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-product-association-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-product-association-modal .rich-mpnl-content,
	body.app-theme-ruby .app-product-association-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
		max-height: 100% !important;
	}

	body.app-theme-ugestor .app-product-association-modal .rich-mpnl-body,
	body.app-theme-ruby .app-product-association-modal .rich-mpnl-body {
		box-sizing: border-box;
		max-height: calc(100vh - 80px);
		max-height: calc(100dvh - 80px);
		overflow: hidden;
	}

	.app-product-association-modal .app-selection-modal-content,
	.app-product-association-modal .app-selection-modal-form {
		display: flex;
		min-height: 0;
		flex-direction: column;
	}

	.app-product-association-modal .app-selection-modal-content {
		max-height: calc(100vh - 108px);
		max-height: calc(100dvh - 108px);
	}

	.app-product-association-modal .app-selection-modal-form {
		flex: 1 1 auto;
	}

	.app-product-association-modal .app-selection-modal-grid {
		min-height: 120px;
		max-height: none;
		flex: 1 1 auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-product-association-modal .app-selection-modal-check-target,
	.app-product-association-modal .app-modal-close-button {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		min-width: 44px;
		min-height: 44px;
	}

	.app-product-association-modal .app-selection-modal-check-target input[type="checkbox"] {
		width: 20px;
		height: 20px;
		margin: 0 !important;
	}

	.app-product-association-modal .app-selection-modal-actions input[type="submit"],
	.app-product-association-modal .app-selection-modal-actions input[type="button"] {
		min-height: 44px;
	}
}

/* Exclusao de acessos: identificacao do usuario, grid de estabelecimentos e acoes. */
.app-user-access-removal-modal-content,
.app-user-access-removal-form {
	box-sizing: border-box;
	width: 100%;
}

.app-user-access-removal-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 14px;
	border: 1px solid #d8e3e7;
	border-left: 4px solid #ff5a1f;
	border-radius: 6px;
	background: #f8fbfd;
}

.app-user-access-removal-fieldset > legend {
	max-width: calc(100% - 12px);
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
	word-break: break-word;
}

.app-user-access-removal-description .prop {
	margin: 0 !important;
}

.app-user-access-removal-instructions {
	margin-bottom: 10px;
}

.app-user-access-removal-instructions-text {
	display: block;
	color: #405977;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
}

.app-user-access-removal-grid {
	max-height: 330px;
}

.app-user-access-removal-grid .rich-table {
	min-width: 520px;
}

.app-user-access-removal-grid .rich-table-headercell:last-child,
.app-user-access-removal-grid .rich-table-cell:last-child,
.app-user-access-removal-row-check {
	text-align: center;
}

.app-user-access-removal-grid input[type="checkbox"] {
	margin: 0;
	vertical-align: middle;
}

.app-user-access-removal-actions {
	margin-top: 12px;
}

@media screen and (max-width: 520px) {
	.app-user-access-removal-fieldset {
		padding: 10px;
	}

	.app-user-access-removal-grid {
		max-height: 280px;
	}
}

/* Entidade compradora: filtro, grade de selecao e acoes no padrao de Produtos. */
.app-entity-buyer-selection-modal-content,
.app-entity-buyer-selection-form,
.app-entity-buyer-selection-workspace,
.app-entity-buyer-selection-body {
	box-sizing: border-box;
	width: 100%;
}

.app-entity-buyer-selection-filter {
	display: flex;
	align-items: flex-end;
	width: 100%;
	margin-bottom: 12px;
	padding: 12px 14px;
	border: 1px solid #d8e3e7;
	border-left: 4px solid #ff5a1f;
	border-radius: 6px;
	background: #f8fbfd;
}

.app-entity-buyer-selection-filter-field,
.app-entity-buyer-selection-filter-field .prop {
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
}

.app-entity-buyer-selection-filter-field .name {
	display: block;
	width: auto !important;
	margin: 0 0 6px !important;
	color: #10213d;
	font-weight: bold;
}

.app-entity-buyer-selection-filter-field .value {
	display: block;
	width: 100%;
}

.app-entity-buyer-selection-filter-field input[type="text"] {
	box-sizing: border-box;
	width: 100% !important;
	min-height: 36px;
	margin: 0 !important;
	padding: 7px 10px !important;
	border: 1px solid #b8cada !important;
	border-radius: 4px;
	background: #ffffff !important;
	color: #10213d;
}

.app-entity-buyer-selection-filter-field input[type="text"]:focus {
	border-color: #20b9d2 !important;
	outline: 2px solid rgba(32, 185, 210, .18) !important;
	outline-offset: 1px;
}

.app-entity-buyer-selection-grid {
	max-height: 300px;
}

.app-entity-buyer-selection-grid .rich-table {
	min-width: 0;
}

.app-entity-buyer-selection-row-action {
	display: flex;
	align-items: center;
	justify-content: center;
}

.app-entity-buyer-selection-row-action input[type="image"] {
	box-sizing: content-box;
	width: 18px;
	height: 18px;
	margin: 0 !important;
	padding: 5px !important;
	border: 1px solid transparent !important;
	border-radius: 4px;
	background: transparent !important;
}

.app-entity-buyer-selection-row-action input[type="image"]:hover {
	border-color: #ff9a77 !important;
	background: #fff4ef !important;
}

.app-entity-buyer-selection-actions {
	margin-top: 12px;
}

@media screen and (max-width: 700px) {
	.app-entity-buyer-selection-filter {
		padding: 10px;
	}

	.app-entity-buyer-selection-grid {
		max-height: 260px;
	}
}

/* Replicacao entre estabelecimentos: modal em duas etapas com grid compacto. */
body.app-theme-ugestor .app-replication-modal .rich-mpnl-content,
body.app-theme-ruby .app-replication-modal .rich-mpnl-content {
	border-color: #cbd8e8 !important;
	box-shadow: 0 22px 52px rgba(8, 20, 47, .26) !important;
}

body.app-theme-ugestor .app-replication-modal .rich-mpnl-header,
body.app-theme-ruby .app-replication-modal .rich-mpnl-header {
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
}

body.app-theme-ugestor .app-replication-modal .rich-mpnl-body,
body.app-theme-ruby .app-replication-modal .rich-mpnl-body {
	box-sizing: border-box;
	padding: 16px !important;
}

.app-replication-modal-content,
.app-replication-modal-form {
	box-sizing: border-box;
	width: 100%;
}

.app-replication-modal-prompt {
	margin: 0 0 14px;
	color: #10213d;
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
}

.app-replication-modal-grid {
	box-sizing: border-box;
	width: 100%;
	height: 300px;
	overflow: auto;
	border: 1px solid #d8e3e7;
	border-radius: 6px;
	background: #ffffff;
}

.app-replication-modal-grid .rich-table {
	width: 100%;
	border: 0 !important;
	border-collapse: collapse;
}

.app-replication-modal-grid .rich-table-headercell,
.app-replication-modal-grid .rich-table-subheadercell {
	padding: 8px 7px !important;
	border: 0 !important;
	border-right: 1px solid rgba(255, 255, 255, .14) !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 12px;
	font-weight: bold;
}

.app-replication-modal-grid .rich-table-cell {
	padding: 8px 7px !important;
	border-color: #e3eaed !important;
	color: #10213d;
}

.app-replication-modal-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 14px;
}

.app-replication-modal-actions > span {
	display: contents;
}

.app-replication-modal-actions input[type="submit"],
.app-replication-modal-actions input[type="button"] {
	min-width: 96px !important;
	min-height: 36px;
	margin: 0 !important;
	border-radius: 5px;
	background-image: none !important;
}

.app-replication-modal-primary input {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	color: #ffffff !important;
}

.app-replication-modal-primary input:hover {
	border-color: #cf3810 !important;
	background: #e94a16 !important;
}

.app-replication-modal-secondary input {
	border-color: #cbd8e8 !important;
	background: #ffffff !important;
	color: #10213d !important;
}

.app-replication-modal-secondary input:hover {
	border-color: #ff9a77 !important;
	background: #fff4ef !important;
	color: #e94a16 !important;
}

.app-replication-modal-actions input:focus,
.app-replication-modal-grid input:focus {
	outline: 2px solid #20b9d2 !important;
	outline-offset: 2px;
}

/* Modais de replicacao reutilizam largura fixa no contrato RichFaces legado.
 * Em Tablet e Smartphone, a geometria interna acompanha a area util sem criar
 * rolagem horizontal na pagina, mantendo cabecalho, X e acoes acessiveis. */
@media screen and (max-width: 1199px) {
	body.app-theme-ugestor .app-replication-modal,
	body.app-theme-ruby .app-replication-modal,
	body.app-theme-ugestor .app-entity-replication-modal,
	body.app-theme-ruby .app-entity-replication-modal {
		box-sizing: border-box;
		max-width: calc(100vw - 32px) !important;
		max-height: calc(100vh - 48px) !important;
		max-height: calc(100dvh - 48px) !important;
	}

	body.app-theme-ugestor .app-replication-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-replication-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-replication-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-replication-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-replication-modal .rich-mpnl-content,
	body.app-theme-ruby .app-replication-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-entity-replication-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-entity-replication-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-entity-replication-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-entity-replication-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-entity-replication-modal .rich-mpnl-content,
	body.app-theme-ruby .app-entity-replication-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
		max-height: 100% !important;
	}

	.app-operational-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-replication-modal-actions input[type="submit"],
	.app-replication-modal-actions input[type="button"] {
		min-height: 44px;
	}

	.app-replication-checkbox-target,
	.app-replication-icon-target {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		min-width: 44px;
		min-height: 44px;
	}

	.app-replication-checkbox-target input[type="checkbox"] {
		width: 20px;
		height: 20px;
		margin: 0 !important;
	}

	.app-replication-icon-action {
		box-sizing: content-box !important;
		width: 20px !important;
		height: 20px !important;
		padding: 12px !important;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-replication-modal,
	body.app-theme-ruby .app-replication-modal,
	body.app-theme-ugestor .app-entity-replication-modal,
	body.app-theme-ruby .app-entity-replication-modal {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-replication-modal .rich-mpnl-body,
	body.app-theme-ruby .app-replication-modal .rich-mpnl-body,
	body.app-theme-ugestor .app-entity-replication-modal .rich-mpnl-body,
	body.app-theme-ruby .app-entity-replication-modal .rich-mpnl-body {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow: hidden;
	}

	.app-replication-modal .app-replication-modal-content,
	.app-entity-replication-modal .app-entity-replication-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 176px);
		max-height: calc(100dvh - 176px);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-replication-modal-grid {
		height: min(240px, calc(100vh - 310px));
		height: min(240px, calc(100dvh - 310px));
		min-height: 120px;
	}
}

/* Replicacao cadastral da Empresa: origem e destinos encadeados. */
.app-entity-replication-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

.app-entity-replication-modal-content {
	max-height: 70vh;
	padding-right: 3px;
	overflow-x: hidden;
	overflow-y: auto;
}

.app-entity-replication-fields {
	box-sizing: border-box;
	width: 100%;
}

.app-entity-replication-source {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 10px;
	padding: 10px 12px;
	border-left: 3px solid #ff5a1f;
	border-radius: 4px;
	background: #fff7f3;
}

.app-entity-replication-source .name {
	color: #10213d;
	font-weight: bold;
}

.app-entity-replication-row {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0;
	table-layout: fixed;
	border-collapse: collapse;
}

.app-entity-replication-row > tbody > tr > td {
	box-sizing: border-box;
	padding: 7px 4px 7px 0;
	vertical-align: middle;
}

.app-entity-replication-row .app-entity-replication-main {
	width: calc(100% - 42px);
}

.app-entity-replication-row .app-entity-replication-swap {
	width: 42px;
	padding-right: 0;
	text-align: center;
}

.app-entity-replication-control {
	box-sizing: border-box;
	width: 100%;
}

.app-entity-replication-control input[type="image"] {
	box-sizing: content-box;
	width: 22px;
	height: 22px;
	padding: 5px !important;
	border: 1px solid #cbd8e8;
	border-radius: 5px;
	background: #ffffff;
	vertical-align: middle;
}

.app-entity-replication-control input[type="image"]:hover {
	border-color: #ff9a77;
	background: #fff4ef;
}

.app-entity-replication-control input[type="image"]:focus {
	outline: 2px solid #20b9d2;
	outline-offset: 2px;
}

.app-entity-replication-modal-actions {
	padding-top: 14px;
	border-top: 1px solid #e3eaed;
}

@media screen and (max-width: 520px) {
	.app-replication-modal-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.app-replication-modal-actions > span,
	.app-replication-modal-actions input[type="submit"],
	.app-replication-modal-actions input[type="button"] {
		width: 100%;
	}

	.app-entity-replication-row,
	.app-entity-replication-row > tbody,
	.app-entity-replication-row > tbody > tr,
	.app-entity-replication-row > tbody > tr > td {
		display: block;
		width: 100% !important;
	}

	.app-entity-replication-row .app-entity-replication-swap {
		padding-top: 0;
		text-align: right;
	}
}

/* Modal com abas, arvore e selecao: contrato compartilhado para cadastros. */
.app-tabbed-selection-tabs,
.app-tabbed-selection-scroll,
.app-tabbed-selection-pane,
.app-tabbed-selection-grid {
	box-sizing: border-box;
	width: 100%;
}

.app-tabbed-selection-tabs.rich-tabpanel {
	border: 0 !important;
}

.app-tabbed-selection-tabs .rich-tab-header {
	padding: 8px 12px !important;
	border-color: #cbd8e8 !important;
	background: #f7f9fc !important;
	background-image: none !important;
	color: #29476f !important;
	font-weight: bold;
}

.app-tabbed-selection-tabs .rich-tab-active {
	border-top: 3px solid #ff5a1f !important;
	background: #ffffff !important;
	color: #e94a16 !important;
}

.app-tabbed-selection-tabs .rich-tabpanel-content {
	box-sizing: border-box;
	padding: 12px !important;
	border-color: #cbd8e8 !important;
	background: #ffffff !important;
}

.app-tabbed-selection-scroll {
	overflow: auto;
	padding-right: 10px;
}

.app-tabbed-selection-pane {
	height: 400px;
}

/* Configuracoes de replicacao em Tablet: o conteudo das abas rola sem ocultar
 * o cabecalho nem as acoes locais de confirmacao e cancelamento. */
.app-replication-settings-modal-content {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	min-height: 0;
}

.app-replication-settings-modal .app-entity-replication-modal-content {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.app-replication-settings-modal .rich-mp-content-table {
	width: 100% !important;
}

.app-replication-modal .rich-mp-content-table {
	width: 100% !important;
}

/* RichFaces autosized calcula a tabela pelo menor campo; o shell responsivo
 * define a largura final e a tabela precisa ocupar essa area. */
.app-responsive-modal .rich-mp-content-table {
	width: 100% !important;
}

/* O RichFaces preserva no container interno a posicao e a largura calculadas
 * no instante em que o modal foi aberto. Ao mudar a viewport, esse estilo
 * inline pode manter o conteudo fora do painel responsivo. O contrato global
 * ancora toda a geometria interna ao painel que ja foi limitado ao viewport. */
@media screen and (max-width: 1199px) {
	body.app-theme-ugestor .app-responsive-modal,
	body.app-theme-ruby .app-responsive-modal {
		box-sizing: border-box;
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-responsive-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-responsive-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-responsive-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-responsive-modal .rich-mpnl-shadow {
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .app-responsive-modal .rich-mp-container,
	body.app-theme-ruby .app-responsive-modal .rich-mp-container {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		left: 0 !important;
		top: 0 !important;
	}

	body.app-theme-ugestor .app-responsive-modal .rich-mpnl-content,
	body.app-theme-ruby .app-responsive-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-responsive-modal .rich-mp-content-table,
	body.app-theme-ruby .app-responsive-modal .rich-mp-content-table,
	body.app-theme-ugestor .app-responsive-modal .rich-mpnl-body,
	body.app-theme-ruby .app-responsive-modal .rich-mpnl-body {
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .app-responsive-modal .rich-mp-content-table,
	body.app-theme-ruby .app-responsive-modal .rich-mp-content-table {
		table-layout: fixed;
	}
}

.app-replication-settings-actions {
	flex: 0 0 auto;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	body.app-theme-ugestor .app-replication-settings-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-replication-settings-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-replication-settings-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-replication-settings-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-replication-settings-modal .rich-mpnl-content,
	body.app-theme-ruby .app-replication-settings-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: calc(100vw - 32px) !important;
		max-height: calc(100vh - 48px) !important;
		max-height: calc(100dvh - 48px) !important;
	}

	body.app-theme-ugestor .app-replication-settings-modal .rich-mpnl-body,
	body.app-theme-ruby .app-replication-settings-modal .rich-mpnl-body {
		box-sizing: border-box;
		overflow: hidden;
	}

	.app-replication-settings-modal-content {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow: hidden;
	}

	.app-replication-settings-modal .app-tabbed-selection-scroll {
		box-sizing: border-box;
		height: 300px;
		max-height: calc(100vh - 260px);
		max-height: calc(100dvh - 260px);
		padding-right: 6px;
		overflow-x: auto;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-replication-settings-modal .app-tabbed-selection-pane {
		height: auto;
		min-height: 0;
	}

	.app-replication-settings-modal .rich-tab-header {
		padding: 13px 12px !important;
	}

	.app-replication-settings-modal .app-tabbed-selection-touch-action {
		min-height: 44px;
	}

	.app-replication-settings-modal .app-tabbed-selection-icon-target {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		min-width: 44px;
		min-height: 44px;
	}

	.app-replication-settings-modal .app-tabbed-selection-icon-action {
		box-sizing: content-box !important;
		width: 20px !important;
		height: 20px !important;
		padding: 12px !important;
	}

	.app-replication-settings-actions input[type="submit"],
	.app-replication-settings-actions input[type="button"] {
		min-height: 44px;
	}

	.app-replication-settings-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
	}
}

@media screen and (max-width: 767px) {
	.app-replication-settings-modal-content {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow: hidden;
	}

	.app-replication-settings-modal .app-entity-replication-modal-content {
		flex: 1 1 auto;
		min-height: 0;
	}

	.app-replication-settings-modal .rich-tab-header {
		box-sizing: border-box;
		min-height: 44px;
		padding: 13px 10px !important;
	}

	.app-replication-settings-modal .app-tabbed-selection-touch-action {
		min-height: 44px;
	}

	.app-replication-settings-modal .app-tabbed-selection-icon-target {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		min-width: 44px;
		min-height: 44px;
	}

	.app-replication-settings-modal .app-tabbed-selection-icon-action {
		box-sizing: content-box !important;
		width: 20px !important;
		height: 20px !important;
		padding: 12px !important;
	}

	.app-replication-settings-actions input[type="submit"],
	.app-replication-settings-actions input[type="button"] {
		min-height: 44px;
	}
}

.app-tabbed-selection-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 10px 0 0;
	padding: 10px;
	border: 1px solid #d8e3e7;
	border-radius: 6px;
}

.app-tabbed-selection-fieldset legend {
	padding: 0 5px;
	color: #10213d;
	font-weight: bold;
}

.app-tabbed-selection-tree {
	box-sizing: border-box;
	width: 100%;
	height: 300px;
	overflow: auto !important;
	border: 1px solid #d8e3e7;
	border-radius: 5px;
	background: #ffffff;
}

.app-compact-modal-grid.rich-table {
	width: 100% !important;
	border: 0 !important;
	border-collapse: collapse;
}

.app-compact-modal-grid .rich-table-headercell,
.app-compact-modal-grid .rich-table-subheadercell {
	padding: 7px 6px !important;
	border: 0 !important;
	border-right: 1px solid rgba(255, 255, 255, .14) !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 12px;
	font-weight: bold;
}

.app-compact-modal-grid .rich-table-cell {
	padding: 7px 6px !important;
	border-color: #e3eaed !important;
	color: #10213d;
}

.app-form-modal-scroll {
	box-sizing: border-box;
	width: 100%;
	max-height: 400px;
	overflow: auto;
}

/* Producao: os modais de composicao preservam as tabelas operacionais
 * completas, mas limitam a geometria ao viewport e oferecem rolagem interna. */
.app-production-grouped-components-modal,
.app-production-product-components-modal {
	box-sizing: border-box;
	width: 1120px;
	max-width: calc(100vw - 24px) !important;
}

.app-production-grouped-components-modal-content,
.app-production-product-components-modal-content {
	box-sizing: border-box;
	width: 100%;
	max-height: calc(100vh - 112px);
	max-height: calc(100dvh - 112px);
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.app-production-grouped-components-picklist-scroll,
.app-production-grouped-components-table-scroll,
.app-production-product-components-table-scroll {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.app-production-grouped-components-picklist {
	width: 100% !important;
	min-width: 880px;
}

.app-production-grouped-components-picklist .rich-picklist-list-content {
	width: 400px !important;
}

.app-production-grouped-components-picklist .rich-picklist-control-remove,
.app-production-grouped-components-picklist .rich-picklist-control-removeall,
.app-production-grouped-components-picklist [id$="disremove"],
.app-production-grouped-components-picklist [id$="disremoveAll"] {
	display: none !important;
}

.app-production-grouped-components-entry-grid,
.app-production-grouped-components-fieldset,
.app-production-product-components-entry-grid,
.app-production-product-components-fieldset {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.app-production-grouped-components-fieldset,
.app-production-product-components-fieldset {
	margin: 10px 0 0;
	padding: 12px;
	border: 1px solid #d8e3e7;
	border-radius: 6px;
}

.app-production-grouped-components-fieldset legend,
.app-production-product-components-fieldset legend {
	padding: 0 6px;
	color: #10213d;
	font-weight: bold;
}

.app-production-grouped-components-item-panel,
.app-production-product-components-item-panel {
	box-sizing: border-box;
	width: 310px;
	max-width: 100%;
}

.app-production-grouped-components-table.rich-table,
.app-production-product-components-table.rich-table {
	width: 100% !important;
	min-width: 980px;
}

.app-production-grouped-components-results,
.app-production-product-components-results {
	max-height: none;
	overflow: visible;
}

.app-production-grouped-components-stock-warning,
.app-production-product-components-stock-warning {
	display: block;
	margin-top: 10px;
	color: #b42318;
	font-size: 12px;
	font-weight: bold;
}

.app-production-standard-unit-components-modal {
	box-sizing: border-box;
	width: 1120px;
	max-width: calc(100vw - 24px) !important;
}

.app-production-standard-unit-components-modal-content {
	box-sizing: border-box;
	width: 100%;
	max-height: calc(100vh - 112px);
	max-height: calc(100dvh - 112px);
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.app-production-standard-unit-components-item-panel,
.app-production-standard-unit-components-table-scroll {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.app-production-standard-unit-components-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.app-production-standard-unit-components-table.rich-table {
	width: 100% !important;
	min-width: 1040px;
}

.app-production-standard-unit-components-subtable.rich-table {
	width: 100% !important;
	min-width: 520px;
}

.app-production-standard-unit-components-results {
	max-height: none;
	overflow: visible;
}

.app-production-batch-modal {
	box-sizing: border-box;
	width: 520px;
	max-width: calc(100vw - 24px) !important;
}

.app-production-batch-modal-content {
	box-sizing: border-box;
	width: 100%;
	max-height: calc(100vh - 112px);
	max-height: calc(100dvh - 112px);
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 1199px) {
	body.app-theme-ugestor .app-production-grouped-components-modal,
	body.app-theme-ruby .app-production-grouped-components-modal,
	body.app-theme-ugestor .app-production-product-components-modal,
	body.app-theme-ruby .app-production-product-components-modal,
	body.app-theme-ugestor .app-production-standard-unit-components-modal,
	body.app-theme-ruby .app-production-standard-unit-components-modal {
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-production-grouped-components-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-production-grouped-components-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-production-grouped-components-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-production-grouped-components-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-production-grouped-components-modal .rich-mpnl-content,
	body.app-theme-ruby .app-production-grouped-components-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-production-product-components-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-production-product-components-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-production-product-components-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-production-product-components-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-production-product-components-modal .rich-mpnl-content,
	body.app-theme-ruby .app-production-product-components-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-production-standard-unit-components-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-production-standard-unit-components-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-production-standard-unit-components-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-production-standard-unit-components-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-production-standard-unit-components-modal .rich-mpnl-content,
	body.app-theme-ruby .app-production-standard-unit-components-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-production-batch-modal,
	body.app-theme-ruby .app-production-batch-modal {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-production-batch-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-production-batch-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-production-batch-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-production-batch-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-production-batch-modal .rich-mpnl-content,
	body.app-theme-ruby .app-production-batch-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .app-production-batch-modal .rich-mpnl-body,
	body.app-theme-ruby .app-production-batch-modal .rich-mpnl-body {
		padding: 12px !important;
	}

	.app-production-batch-modal .app-modal-close-button {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
	}

	.app-production-batch-modal input[type="text"],
	.app-production-batch-modal input[type="submit"],
	.app-production-batch-modal input[type="button"] {
		min-height: 44px !important;
	}

	body.app-theme-ugestor .app-production-grouped-components-modal,
	body.app-theme-ruby .app-production-grouped-components-modal,
	body.app-theme-ugestor .app-production-product-components-modal,
	body.app-theme-ruby .app-production-product-components-modal,
	body.app-theme-ugestor .app-production-standard-unit-components-modal,
	body.app-theme-ruby .app-production-standard-unit-components-modal {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
	}

	body.app-theme-ugestor .app-production-grouped-components-modal .rich-mpnl-body,
	body.app-theme-ruby .app-production-grouped-components-modal .rich-mpnl-body,
	body.app-theme-ugestor .app-production-product-components-modal .rich-mpnl-body,
	body.app-theme-ruby .app-production-product-components-modal .rich-mpnl-body,
	body.app-theme-ugestor .app-production-standard-unit-components-modal .rich-mpnl-body,
	body.app-theme-ruby .app-production-standard-unit-components-modal .rich-mpnl-body {
		padding: 12px !important;
	}

	.app-production-grouped-components-entry-grid,
	.app-production-grouped-components-entry-grid > tbody,
	.app-production-grouped-components-entry-grid > tbody > tr,
	.app-production-grouped-components-entry-grid > tbody > tr > td,
	.app-production-product-components-entry-grid,
	.app-production-product-components-entry-grid > tbody,
	.app-production-product-components-entry-grid > tbody > tr,
	.app-production-product-components-entry-grid > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}

	.app-production-grouped-components-entry-grid > tbody > tr > td + td,
	.app-production-product-components-entry-grid > tbody > tr > td + td {
		padding-top: 12px;
	}

	.app-production-grouped-components-item-panel,
	.app-production-product-components-item-panel {
		width: 100%;
	}

	.app-production-grouped-components-modal .app-modal-close-button,
	.app-production-grouped-components-modal .app-modal-row-action,
	.app-production-grouped-components-modal .app-selection-modal-pagination a,
	.app-production-grouped-components-modal .rich-datascr-button,
	.app-production-product-components-modal .app-modal-close-button,
	.app-production-product-components-modal .app-modal-row-action,
	.app-production-product-components-modal .app-selection-modal-pagination a,
	.app-production-product-components-modal .rich-datascr-button,
	.app-production-standard-unit-components-modal .app-modal-close-button,
	.app-production-standard-unit-components-modal .app-selection-modal-pagination a,
	.app-production-standard-unit-components-modal .rich-datascr-button {
		box-sizing: border-box !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}

	.app-production-grouped-components-modal .app-modal-close-button,
	.app-production-grouped-components-modal .app-modal-row-action,
	.app-production-product-components-modal .app-modal-close-button,
	.app-production-product-components-modal .app-modal-row-action,
	.app-production-standard-unit-components-modal .app-modal-close-button {
		width: 44px !important;
		height: 44px !important;
		padding: 12px !important;
	}

	.app-production-grouped-components-modal input[type="text"],
	.app-production-grouped-components-modal input[type="submit"],
	.app-production-grouped-components-modal input[type="button"],
	.app-production-product-components-modal input[type="text"],
	.app-production-product-components-modal input[type="submit"],
	.app-production-product-components-modal input[type="button"],
	.app-production-standard-unit-components-modal input[type="text"],
	.app-production-standard-unit-components-modal input[type="submit"],
	.app-production-standard-unit-components-modal input[type="button"] {
		min-height: 44px !important;
	}
}

/* Selecao financeira e contabil: a arvore e as listas permanecem contidas no
 * modal, com rolagem apenas no conteudo e sem geometria fixa no XHTML. */
.app-accounting-selection-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

.app-accounting-selection-modal .rich-tree {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
}

.app-accounting-selection-modal .app-form-modal-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 14px 0 0;
	padding: 12px;
	border: 1px solid #d9e3ef;
	border-radius: 6px;
}

.app-accounting-selection-modal .app-form-modal-fieldset legend {
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-accounting-selection-modal .app-form-modal-summary-remove {
	margin-left: 8px;
	border: 0;
	vertical-align: middle;
}

.app-financial-allocation-modal .app-financial-allocation-entry {
	margin: 14px 0;
}

.app-financial-allocation-modal .app-financial-allocation-entry .value {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

.app-financial-allocation-modal .app-inline-primary-action {
	box-sizing: border-box;
	min-height: 34px;
	padding: 7px 14px !important;
	border: 1px solid #e94a16 !important;
	border-radius: 5px !important;
	background: #ff5a1f !important;
	background-image: none !important;
	color: #ffffff !important;
	font-weight: bold;
	cursor: pointer;
}

.app-financial-allocation-modal .app-financial-allocation-list {
	box-sizing: border-box;
	width: 100%;
	margin-top: 12px;
	overflow-x: auto;
}

.app-financial-allocation-modal .app-financial-allocation-percent {
	width: 130px;
	text-align: right;
}

.app-financial-allocation-modal .app-financial-allocation-action {
	width: 72px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-accounting-selection-modal,
	body.app-theme-ruby .app-accounting-selection-modal {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	.app-accounting-selection-modal .app-form-modal-scroll {
		max-height: calc(100vh - 220px);
		max-height: calc(100dvh - 220px);
	}

	.app-accounting-selection-modal .app-form-modal-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.app-accounting-selection-modal .app-form-modal-actions > span,
	.app-accounting-selection-modal .app-form-modal-actions input[type="submit"],
	.app-accounting-selection-modal .app-form-modal-actions input[type="button"] {
		width: 100%;
	}

	.app-financial-allocation-modal .app-financial-allocation-entry .value {
		align-items: stretch;
		flex-direction: column;
	}

	.app-financial-allocation-modal .app-financial-allocation-entry input[type="text"],
	.app-financial-allocation-modal .app-inline-primary-action {
		width: 100% !important;
	}
}

/* Compras: modal de duplicatas no contrato visual compartilhado de formularios. */
.app-purchase-duplicates-modal {
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
}

.app-modal-close-control {
	cursor: pointer;
}

.app-modal-close-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 8px;
	background: rgba(255, 255, 255, .1);
	color: #ffffff;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.app-modal-close-button:hover {
	border-color: #ffffff;
	background: #ffffff;
	color: var(--white-label-primary, #10213d);
	transform: translateY(-1px);
}

.app-modal-close-button:active {
	transform: translateY(0);
}

/* Compra: os includes legados preservam suas tabelas integrais, mas cada
 * regiao passa a controlar a propria rolagem sem ampliar a viewport. */
.app-purchase-maintenance-form .app-purchase-history-output {
	box-sizing: border-box;
	width: 100%;
	max-width: 350px;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.app-purchase-maintenance-form [id$="listCompraEstoqueProdDiv"],
.app-purchase-maintenance-form [id$="listCompraDespesaItemDiv"],
.app-purchase-maintenance-form [id$="listCompraProdServProdDiv"],
.app-purchase-maintenance-form [id$="listCompraServicoServProdDiv"],
.app-purchase-maintenance-form [id$="listCompraItemDespesaServProdDiv"],
.app-purchase-maintenance-form [id$="listCompraBemDiv"],
.app-purchase-maintenance-form [id$="listFormaPagamentoDiv"],
.app-purchase-maintenance-form [id$="listCentroCustoDiv"],
.app-purchase-maintenance-form [id$="listContaFinanceiraDiv"] {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
}

.app-purchase-maintenance-form [id$="listCompraEstoqueProdDiv"] > table,
.app-purchase-maintenance-form [id$="listCompraDespesaItemDiv"] > table,
.app-purchase-maintenance-form [id$="listCompraProdServProdDiv"] > table,
.app-purchase-maintenance-form [id$="listCompraServicoServProdDiv"] > table,
.app-purchase-maintenance-form [id$="listCompraItemDespesaServProdDiv"] > table,
.app-purchase-maintenance-form [id$="listCompraBemDiv"] > table,
.app-purchase-maintenance-form [id$="listFormaPagamentoDiv"] > table {
	min-width: 600px;
}

.app-purchase-maintenance-form [id$="listCentroCustoDiv"] > table,
.app-purchase-maintenance-form [id$="listContaFinanceiraDiv"] > table {
	min-width: 300px;
}

@media screen and (max-width: 767px) {
	.app-purchase-maintenance-form fieldset,
	.app-purchase-maintenance-form [id$="formaPgtoCompraDiv"] {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	.app-purchase-maintenance-form [id$="formaPgtoCompraDiv"] {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-purchase-maintenance-form [id$="gridExternoItem"],
	.app-purchase-maintenance-form [id$="gridExternoItem"] > tbody,
	.app-purchase-maintenance-form [id$="gridExternoItem"] > tbody > tr,
	.app-purchase-maintenance-form [id$="gridExternoItem"] > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}

	.app-purchase-maintenance-form [id$="addProdutoPanel"],
	.app-purchase-maintenance-form [id$="addItemDespesaPanel"],
	.app-purchase-maintenance-form [id$="addProdutoProdServPanel"],
	.app-purchase-maintenance-form [id$="addServicoProdServPanel"],
	.app-purchase-maintenance-form [id$="addItemDespesaProdServPanel"],
	.app-purchase-maintenance-form [id$="addBemPanel"] {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 310px;
	}

	.app-purchase-maintenance-form input[type="image"],
	.app-purchase-maintenance-form .rich-calendar-button {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
		object-fit: contain;
	}
}

.app-modal-close-glyph {
	display: block;
	color: inherit !important;
	font-family: Arial, sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
}

body.app-theme-ugestor .app-purchase-duplicates-modal-panel,
body.app-theme-ruby .app-purchase-duplicates-modal-panel,
body.app-theme-ugestor .app-purchase-duplicates-modal-panel .rich-panel-body,
body.app-theme-ruby .app-purchase-duplicates-modal-panel .rich-panel-body {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .app-purchase-duplicates-modal-panel .rich-panel-body,
body.app-theme-ruby .app-purchase-duplicates-modal-panel .rich-panel-body {
	padding: 0 !important;
}

.app-purchase-duplicates-modal-scroll {
	box-sizing: border-box;
	width: 100%;
	max-height: 400px;
	overflow: auto;
}

.app-purchase-duplicates-modal-grid {
	min-width: 720px;
}

.app-purchase-duplicates-modal .app-compact-modal-grid input[type="text"] {
	box-sizing: border-box;
	max-width: 100%;
	min-height: 34px;
}

.app-purchase-duplicate-title-control,
.app-purchase-duplicate-barcode-control {
	width: 100%;
}

.app-purchase-duplicate-date-actions {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-left: 8px;
}

.app-modal-row-action {
	margin: 0 2px;
	vertical-align: middle;
}

.app-purchase-duplicates-modal-actions {
	margin-top: 10px;
}

/* O modal de duplicatas preserva a grade integral em uma regiao rolavel e
 * mantem cabecalho, fechamento e acoes acessiveis no Smartphone. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-purchase-duplicates-modal,
	body.app-theme-ruby .app-purchase-duplicates-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-purchase-duplicates-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-purchase-duplicates-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-purchase-duplicates-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-purchase-duplicates-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-purchase-duplicates-modal .rich-mpnl-content,
	body.app-theme-ruby .app-purchase-duplicates-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-purchase-duplicates-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-purchase-duplicates-modal-scroll {
		max-height: calc(100vh - 260px);
		max-height: calc(100dvh - 260px);
		-webkit-overflow-scrolling: touch;
	}

	.app-purchase-duplicates-modal .app-modal-close-button,
	.app-purchase-duplicates-modal .app-modal-row-action {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}

	.app-purchase-duplicates-modal .app-modal-row-action {
		padding: 12px !important;
	}

	.app-purchase-duplicates-modal .rich-calendar-button {
		box-sizing: content-box;
		width: 18px !important;
		height: 18px !important;
		padding: 13px !important;
	}

	.app-purchase-duplicates-modal .app-form-modal-actions input[type="submit"],
	.app-purchase-duplicates-modal .app-form-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

.app-compact-modal-pagination {
	display: block;
	margin: 10px auto 0 !important;
}

.app-modal-empty-state {
	display: block;
	padding: 18px 12px;
	background: #f8fbfd;
	color: #58708d;
	font-style: italic;
	text-align: center;
}

.app-tabbed-selection-modal input:focus,
.app-tabbed-selection-modal select:focus,
.app-tabbed-selection-modal textarea:focus {
	outline: 2px solid #20b9d2 !important;
	outline-offset: 2px;
}

@media screen and (max-width: 520px) {
	.app-tabbed-selection-tabs .rich-tab-header {
		padding-right: 8px !important;
		padding-left: 8px !important;
	}
}

/* Cotacoes: o agrupamento conserva abas, grades e selecao integral dentro da
 * viewport, com rolagem local e alvos de toque adequados no Smartphone. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-grouping-modal,
	body.app-theme-ruby .app-quote-grouping-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-grouping-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-grouping-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-grouping-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-grouping-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-grouping-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-grouping-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quote-grouping-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-grouping-tabs .rich-tab-header {
		box-sizing: border-box;
		min-height: 44px;
		padding-top: 13px !important;
		padding-bottom: 13px !important;
	}

	.app-quote-grouping-grid {
		max-height: calc(100vh - 290px);
		max-height: calc(100dvh - 290px);
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-grouping-modal input[type="checkbox"] {
		box-sizing: content-box;
		width: 20px;
		height: 20px;
		padding: 12px;
		margin: -12px !important;
	}

	.app-quote-grouping-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-grouping-actions input[type="submit"],
	.app-quote-grouping-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Cotacoes: a justificativa de anulacao permanece integral, fluida e operavel
 * por toque sem alterar a confirmacao ou as validacoes existentes. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-annulment-modal,
	body.app-theme-ruby .app-quote-annulment-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-annulment-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-annulment-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-annulment-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-annulment-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-annulment-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-annulment-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quote-annulment-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-annulment-modal-fields .name,
	.app-quote-annulment-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-quote-annulment-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-quote-annulment-modal-fields textarea,
	body.app-theme-ruby .app-quote-annulment-modal-fields textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 116px;
	}

	.app-quote-annulment-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-annulment-modal-actions input[type="submit"],
	.app-quote-annulment-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Cotacoes: a aprovacao conserva o resumo e a observacao em uma composicao
 * fluida, com fechamento e acoes acessiveis por toque no Smartphone. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-approval-modal,
	body.app-theme-ruby .app-quote-approval-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-approval-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-approval-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-approval-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-approval-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-approval-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-approval-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quote-approval-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-approval-modal-fields .name,
	.app-quote-approval-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-quote-approval-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-quote-approval-modal-fields textarea,
	body.app-theme-ruby .app-quote-approval-modal-fields textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 116px;
	}

	.app-quote-approval-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-approval-modal-actions input[type="submit"],
	.app-quote-approval-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Cotacoes: os envios ao fornecedor conservam o resumo e a observacao em uma
 * composicao fluida, com fechamento e acoes acessiveis por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-supplier-email-modal,
	body.app-theme-ruby .app-quote-supplier-email-modal,
	body.app-theme-ugestor .app-quote-supplier-message-modal,
	body.app-theme-ruby .app-quote-supplier-message-modal,
	body.app-theme-ugestor .app-quote-supplier-whatsapp-modal,
	body.app-theme-ruby .app-quote-supplier-whatsapp-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-supplier-email-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-supplier-email-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-supplier-email-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-supplier-email-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-supplier-email-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-supplier-email-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-quote-supplier-message-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-supplier-message-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-supplier-message-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-supplier-message-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-supplier-message-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-supplier-message-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-quote-supplier-whatsapp-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-supplier-whatsapp-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-supplier-whatsapp-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-supplier-whatsapp-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-supplier-whatsapp-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-supplier-whatsapp-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quote-supplier-email-modal-content,
	.app-quote-supplier-message-modal-content,
	.app-quote-supplier-whatsapp-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-supplier-email-modal-fields .name,
	.app-quote-supplier-email-modal-fields .value,
	.app-quote-supplier-message-modal-fields .name,
	.app-quote-supplier-message-modal-fields .value,
	.app-quote-supplier-whatsapp-modal-fields .name,
	.app-quote-supplier-whatsapp-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-quote-supplier-email-modal-fields .name,
	.app-quote-supplier-message-modal-fields .name,
	.app-quote-supplier-whatsapp-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-quote-supplier-email-modal-fields textarea,
	body.app-theme-ruby .app-quote-supplier-email-modal-fields textarea,
	body.app-theme-ugestor .app-quote-supplier-message-modal-fields textarea,
	body.app-theme-ruby .app-quote-supplier-message-modal-fields textarea,
	body.app-theme-ugestor .app-quote-supplier-whatsapp-modal-fields textarea,
	body.app-theme-ruby .app-quote-supplier-whatsapp-modal-fields textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 116px;
	}

	.app-quote-supplier-email-modal .app-modal-close-button,
	.app-quote-supplier-message-modal .app-modal-close-button,
	.app-quote-supplier-whatsapp-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-supplier-email-modal-actions input[type="submit"],
	.app-quote-supplier-email-modal-actions input[type="button"],
	.app-quote-supplier-message-modal-actions input[type="submit"],
	.app-quote-supplier-message-modal-actions input[type="button"],
	.app-quote-supplier-whatsapp-modal-actions input[type="button"],
	.app-quote-supplier-whatsapp-modal-actions .app-form-modal-action-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px !important;
	}
}

/* Cotacoes: a edicao dos valores do item preserva resumo e calculos em uma
 * composicao fluida e tocavel no Smartphone. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-item-value-modal,
	body.app-theme-ruby .app-quote-item-value-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-item-value-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-item-value-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-item-value-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-item-value-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-item-value-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-item-value-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quote-item-value-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-item-value-modal-fields .name,
	.app-quote-item-value-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-quote-item-value-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-quote-item-value-modal-fields input[type="text"],
	body.app-theme-ruby .app-quote-item-value-modal-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px !important;
	}

	.app-quote-item-value-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-item-value-modal-actions input[type="submit"],
	.app-quote-item-value-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Cotacoes: o envio aos fornecedores conserva resumo, encerramento, anexo e
 * observacao em uma composicao fluida e tocavel no Smartphone. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-supplier-dispatch-modal,
	body.app-theme-ruby .app-quote-supplier-dispatch-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-supplier-dispatch-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-supplier-dispatch-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-supplier-dispatch-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-supplier-dispatch-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-supplier-dispatch-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-supplier-dispatch-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quote-supplier-dispatch-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-supplier-dispatch-modal-fields .name,
	.app-quote-supplier-dispatch-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-quote-supplier-dispatch-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-quote-supplier-dispatch-modal-fields input[type="text"],
	body.app-theme-ruby .app-quote-supplier-dispatch-modal-fields input[type="text"],
	body.app-theme-ugestor .app-quote-supplier-dispatch-modal-fields textarea,
	body.app-theme-ruby .app-quote-supplier-dispatch-modal-fields textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 44px !important;
	}

	body.app-theme-ugestor .app-quote-supplier-dispatch-modal-fields textarea,
	body.app-theme-ruby .app-quote-supplier-dispatch-modal-fields textarea {
		min-height: 116px !important;
	}

	.app-quote-supplier-dispatch-modal-fields input[type="checkbox"] {
		width: 44px;
		height: 44px;
		margin: 0;
	}

	.app-quote-supplier-dispatch-modal .rich-calendar-button {
		box-sizing: content-box;
		width: 18px !important;
		height: 18px !important;
		padding: 13px !important;
	}

	.app-quote-supplier-dispatch-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-supplier-dispatch-modal-actions input[type="submit"],
	.app-quote-supplier-dispatch-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

@media screen and (max-width: 520px) {
	.app-quote-supplier-dispatch-modal-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.app-quote-supplier-dispatch-modal-actions > span,
	.app-quote-supplier-dispatch-modal-actions input[type="submit"],
	.app-quote-supplier-dispatch-modal-actions input[type="button"] {
		width: 100%;
	}
}

/* Cotacoes: o envio para analise conserva resumo, confirmacao e observacao em
 * uma composicao fluida, com fechamento e acoes acessiveis por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-analysis-submit-modal,
	body.app-theme-ruby .app-quote-analysis-submit-modal,
	body.app-theme-ugestor .app-quote-reversal-modal,
	body.app-theme-ruby .app-quote-reversal-modal,
	body.app-theme-ugestor .app-quote-rejection-modal,
	body.app-theme-ruby .app-quote-rejection-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-analysis-submit-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-analysis-submit-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-analysis-submit-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-analysis-submit-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-analysis-submit-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-analysis-submit-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-quote-reversal-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-reversal-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-reversal-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-reversal-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-reversal-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-reversal-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-quote-rejection-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-rejection-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-rejection-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-rejection-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-rejection-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-rejection-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quote-analysis-submit-modal-content,
	.app-quote-reversal-modal-content,
	.app-quote-rejection-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-analysis-submit-modal-fields .name,
	.app-quote-analysis-submit-modal-fields .value,
	.app-quote-reversal-modal-fields .name,
	.app-quote-reversal-modal-fields .value,
	.app-quote-rejection-modal-fields .name,
	.app-quote-rejection-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-quote-analysis-submit-modal-fields .name,
	.app-quote-reversal-modal-fields .name,
	.app-quote-rejection-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-quote-analysis-submit-modal-fields textarea,
	body.app-theme-ruby .app-quote-analysis-submit-modal-fields textarea,
	body.app-theme-ugestor .app-quote-reversal-modal-fields textarea,
	body.app-theme-ruby .app-quote-reversal-modal-fields textarea,
	body.app-theme-ugestor .app-quote-rejection-modal-fields textarea,
	body.app-theme-ruby .app-quote-rejection-modal-fields textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 116px;
	}

	.app-quote-analysis-submit-modal .app-modal-close-button,
	.app-quote-reversal-modal .app-modal-close-button,
	.app-quote-rejection-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-analysis-submit-modal-actions input[type="submit"],
	.app-quote-analysis-submit-modal-actions input[type="button"],
	.app-quote-reversal-modal-actions input[type="submit"],
	.app-quote-reversal-modal-actions input[type="button"],
	.app-quote-rejection-modal-actions input[type="submit"],
	.app-quote-rejection-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Cotacoes: o historico da ultima compra conserva grid e paginador dentro da
 * viewport e disponibiliza fechamento e acao secundaria por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-last-purchase-modal,
	body.app-theme-ruby .app-quote-last-purchase-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-last-purchase-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-last-purchase-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-last-purchase-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-last-purchase-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-last-purchase-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-last-purchase-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quote-last-purchase-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-last-purchase-modal-grid {
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-last-purchase-modal-table {
		min-width: 520px;
	}

	.app-quote-last-purchase-modal .app-modal-close-button,
	.app-quote-last-purchase-modal .rich-datascr-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-last-purchase-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* A visualizacao de anexos conserva a grade e o paginador dentro da viewport,
 * com acoes de arquivo e fechamento acessiveis por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quote-attachment-viewer-modal,
	body.app-theme-ruby .app-quote-attachment-viewer-modal,
	body.app-theme-ugestor .app-document-attachment-viewer-modal,
	body.app-theme-ruby .app-document-attachment-viewer-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quote-attachment-viewer-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quote-attachment-viewer-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quote-attachment-viewer-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quote-attachment-viewer-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quote-attachment-viewer-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quote-attachment-viewer-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-document-attachment-viewer-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-document-attachment-viewer-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-document-attachment-viewer-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-document-attachment-viewer-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-document-attachment-viewer-modal .rich-mpnl-content,
	body.app-theme-ruby .app-document-attachment-viewer-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .app-quote-attachment-viewer-modal .rich-mp-content-table,
	body.app-theme-ruby .app-quote-attachment-viewer-modal .rich-mp-content-table,
	body.app-theme-ugestor .app-document-attachment-viewer-modal .rich-mp-content-table,
	body.app-theme-ruby .app-document-attachment-viewer-modal .rich-mp-content-table,
	body.app-theme-ugestor .app-quote-attachment-viewer-modal .rich-mpnl-body,
	body.app-theme-ruby .app-quote-attachment-viewer-modal .rich-mpnl-body,
	body.app-theme-ugestor .app-document-attachment-viewer-modal .rich-mpnl-body,
	body.app-theme-ruby .app-document-attachment-viewer-modal .rich-mpnl-body {
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .app-quote-attachment-viewer-modal .rich-mp-content-table,
	body.app-theme-ruby .app-quote-attachment-viewer-modal .rich-mp-content-table,
	body.app-theme-ugestor .app-document-attachment-viewer-modal .rich-mp-content-table,
	body.app-theme-ruby .app-document-attachment-viewer-modal .rich-mp-content-table {
		table-layout: fixed;
	}

	body.app-theme-ugestor .app-quote-attachment-viewer-modal .rich-mpnl-body,
	body.app-theme-ruby .app-quote-attachment-viewer-modal .rich-mpnl-body,
	body.app-theme-ugestor .app-document-attachment-viewer-modal .rich-mpnl-body,
	body.app-theme-ruby .app-document-attachment-viewer-modal .rich-mpnl-body {
		overflow: hidden;
		padding: 12px !important;
	}

	.app-quote-attachment-viewer-modal-content,
	.app-document-attachment-viewer-modal-content,
	.app-quote-attachment-viewer-modal-content .app-form-modal-form,
	.app-document-attachment-viewer-modal-content .app-form-modal-form,
	.app-quote-attachment-viewer-modal-grid,
	.app-document-attachment-viewer-modal-grid,
	.app-quote-attachment-viewer-modal-grid .app-query-table-scroll,
	.app-document-attachment-viewer-modal-grid .app-query-table-scroll {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.app-quote-attachment-viewer-modal-content,
	.app-document-attachment-viewer-modal-content {
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-attachment-viewer-modal-grid,
	.app-document-attachment-viewer-modal-grid {
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quote-attachment-viewer-modal-table,
	.app-document-attachment-viewer-modal-table {
		min-width: 640px;
	}

	.app-quote-attachment-viewer-modal .app-modal-close-button,
	.app-quote-attachment-viewer-modal .app-modal-row-action,
	.app-quote-attachment-viewer-modal .rich-datascr-button,
	.app-document-attachment-viewer-modal .app-modal-close-button,
	.app-document-attachment-viewer-modal .app-modal-row-action,
	.app-document-attachment-viewer-modal .rich-datascr-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-quote-attachment-viewer-modal-actions input[type="button"],
	.app-document-attachment-viewer-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Ordem de faturamento: o cancelamento do manifesto conserva o resumo e o
 * motivo em composicao fluida, com fechamento e acoes acessiveis por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-invoice-order-manifest-cancel-modal,
	body.app-theme-ruby .app-invoice-order-manifest-cancel-modal,
	body.app-theme-ugestor .app-sales-order-manifest-cancel-modal,
	body.app-theme-ruby .app-sales-order-manifest-cancel-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-invoice-order-manifest-cancel-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-invoice-order-manifest-cancel-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-invoice-order-manifest-cancel-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-invoice-order-manifest-cancel-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-invoice-order-manifest-cancel-modal .rich-mpnl-content,
	body.app-theme-ruby .app-invoice-order-manifest-cancel-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-sales-order-manifest-cancel-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-sales-order-manifest-cancel-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-sales-order-manifest-cancel-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-sales-order-manifest-cancel-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-sales-order-manifest-cancel-modal .rich-mpnl-content,
	body.app-theme-ruby .app-sales-order-manifest-cancel-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-invoice-order-manifest-cancel-modal-content,
	.app-sales-order-manifest-cancel-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-invoice-order-manifest-cancel-modal-fields .name,
	.app-invoice-order-manifest-cancel-modal-fields .value,
	.app-sales-order-manifest-cancel-modal-fields .name,
	.app-sales-order-manifest-cancel-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-invoice-order-manifest-cancel-modal-fields .name,
	.app-sales-order-manifest-cancel-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-invoice-order-manifest-cancel-modal-fields textarea,
	body.app-theme-ruby .app-invoice-order-manifest-cancel-modal-fields textarea,
	body.app-theme-ugestor .app-sales-order-manifest-cancel-modal-fields textarea,
	body.app-theme-ruby .app-sales-order-manifest-cancel-modal-fields textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 116px;
	}

	.app-invoice-order-manifest-cancel-modal .app-modal-close-button,
	.app-sales-order-manifest-cancel-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-invoice-order-manifest-cancel-modal-actions input[type="submit"],
	.app-invoice-order-manifest-cancel-modal-actions input[type="button"],
	.app-sales-order-manifest-cancel-modal-actions input[type="submit"],
	.app-sales-order-manifest-cancel-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Ordem de faturamento: a carta de correcao conserva resumo, instrucoes e
 * texto em composicao fluida, com fechamento e acoes acessiveis por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-invoice-order-correction-letter-modal,
	body.app-theme-ruby .app-invoice-order-correction-letter-modal,
	body.app-theme-ugestor .app-sales-order-correction-letter-modal,
	body.app-theme-ruby .app-sales-order-correction-letter-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-invoice-order-correction-letter-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-invoice-order-correction-letter-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-invoice-order-correction-letter-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-invoice-order-correction-letter-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-invoice-order-correction-letter-modal .rich-mpnl-content,
	body.app-theme-ruby .app-invoice-order-correction-letter-modal .rich-mpnl-content,
	body.app-theme-ugestor .app-sales-order-correction-letter-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-sales-order-correction-letter-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-sales-order-correction-letter-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-sales-order-correction-letter-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-sales-order-correction-letter-modal .rich-mpnl-content,
	body.app-theme-ruby .app-sales-order-correction-letter-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-invoice-order-correction-letter-modal-content,
	.app-sales-order-correction-letter-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-invoice-order-correction-letter-modal-fields .name,
	.app-invoice-order-correction-letter-modal-fields .value,
	.app-sales-order-correction-letter-modal-fields .name,
	.app-sales-order-correction-letter-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-invoice-order-correction-letter-modal-fields .name,
	.app-sales-order-correction-letter-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-invoice-order-correction-letter-modal-fields textarea,
	body.app-theme-ruby .app-invoice-order-correction-letter-modal-fields textarea,
	body.app-theme-ugestor .app-sales-order-correction-letter-modal-fields textarea,
	body.app-theme-ruby .app-sales-order-correction-letter-modal-fields textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 150px;
	}

	.app-invoice-order-correction-letter-modal .app-modal-close-button,
	.app-sales-order-correction-letter-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-invoice-order-correction-letter-modal-actions input[type="submit"],
	.app-invoice-order-correction-letter-modal-actions input[type="button"],
	.app-sales-order-correction-letter-modal-actions input[type="submit"],
	.app-sales-order-correction-letter-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Ordem de faturamento: a situacao financeira do cliente conserva todos os
 * indicadores em resumo fluido, com rolagem e fechamento acessiveis por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-customer-financial-status-modal,
	body.app-theme-ruby .app-customer-financial-status-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-customer-financial-status-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-customer-financial-status-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-customer-financial-status-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-customer-financial-status-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-customer-financial-status-modal .rich-mpnl-content,
	body.app-theme-ruby .app-customer-financial-status-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-customer-financial-status-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-customer-financial-status-modal-summary {
		padding: 12px;
	}

	.app-customer-financial-status-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-customer-financial-status-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Pedido: o desenho do formato preserva upload, previa e remocao em uma
 * composicao fluida, rolavel e acessivel por toque no Smartphone. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-sales-order-drawing-format-modal,
	body.app-theme-ruby .app-sales-order-drawing-format-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-sales-order-drawing-format-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-sales-order-drawing-format-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-sales-order-drawing-format-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-sales-order-drawing-format-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-sales-order-drawing-format-modal .rich-mpnl-content,
	body.app-theme-ruby .app-sales-order-drawing-format-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-sales-order-drawing-format-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-sales-order-drawing-format-modal-section,
	.app-sales-order-drawing-format-modal-upload,
	.app-sales-order-drawing-format-modal-preview {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}

	.app-sales-order-drawing-format-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-sales-order-drawing-format-modal-upload .rich-fileupload-button,
	.app-sales-order-drawing-format-modal-upload .fileUploadAddButtonClass,
	.app-sales-order-drawing-format-modal-actions input[type="submit"],
	.app-sales-order-drawing-format-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Ordem de faturamento: a devolucao fiscal conserva campos, conta financeira
 * e grade de produtos em composicao fluida e acessivel por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-invoice-order-return-invoice-modal,
	body.app-theme-ruby .app-invoice-order-return-invoice-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-invoice-order-return-invoice-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-invoice-order-return-invoice-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-invoice-order-return-invoice-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-invoice-order-return-invoice-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-invoice-order-return-invoice-modal .rich-mpnl-content,
	body.app-theme-ruby .app-invoice-order-return-invoice-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-invoice-order-return-invoice-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-invoice-order-return-invoice-modal-summary {
		padding: 12px;
	}

	.app-invoice-order-return-invoice-modal-fields .name,
	.app-invoice-order-return-invoice-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-invoice-order-return-invoice-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-invoice-order-return-invoice-modal-fields input[type="text"],
	body.app-theme-ruby .app-invoice-order-return-invoice-modal-fields input[type="text"],
	body.app-theme-ugestor .app-invoice-order-return-invoice-modal-fields select,
	body.app-theme-ruby .app-invoice-order-return-invoice-modal-fields select,
	body.app-theme-ugestor .app-invoice-order-return-invoice-modal-fields textarea,
	body.app-theme-ruby .app-invoice-order-return-invoice-modal-fields textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 44px !important;
	}

	body.app-theme-ugestor .app-invoice-order-return-invoice-modal-fields textarea,
	body.app-theme-ruby .app-invoice-order-return-invoice-modal-fields textarea {
		min-height: 116px !important;
	}

	.app-invoice-order-return-invoice-modal-grid-scroll {
		box-sizing: border-box;
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-invoice-order-return-invoice-modal-grid {
		min-width: 620px;
	}

	.app-invoice-order-return-invoice-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-invoice-order-return-invoice-modal .rich-calendar-button {
		box-sizing: content-box;
		width: 18px !important;
		height: 18px !important;
		padding: 13px !important;
	}

	.app-invoice-order-return-invoice-modal-actions input[type="submit"],
	.app-invoice-order-return-invoice-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Ordem de faturamento: a configuracao de boleto preserva todos os campos e
 * instrucoes em composicao fluida, rolavel e acessivel por toque. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-invoice-order-boleto-modal,
	body.app-theme-ruby .app-invoice-order-boleto-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-invoice-order-boleto-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-invoice-order-boleto-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-invoice-order-boleto-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-invoice-order-boleto-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-invoice-order-boleto-modal .rich-mpnl-content,
	body.app-theme-ruby .app-invoice-order-boleto-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-invoice-order-boleto-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-invoice-order-boleto-modal-fields .name,
	.app-invoice-order-boleto-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-invoice-order-boleto-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-invoice-order-boleto-modal-fields input[type="text"],
	body.app-theme-ruby .app-invoice-order-boleto-modal-fields input[type="text"],
	body.app-theme-ugestor .app-invoice-order-boleto-modal-fields select,
	body.app-theme-ruby .app-invoice-order-boleto-modal-fields select {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-height: 44px !important;
	}

	.app-invoice-order-boleto-modal-fields table,
	.app-invoice-order-boleto-modal-fields tbody,
	.app-invoice-order-boleto-modal-fields tr,
	.app-invoice-order-boleto-modal-fields td {
		box-sizing: border-box;
		max-width: 100%;
	}

	.app-invoice-order-boleto-modal-fields label {
		white-space: normal;
	}

	.app-invoice-order-boleto-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	.app-invoice-order-boleto-modal-actions input[type="submit"],
	.app-invoice-order-boleto-modal-actions input[type="button"] {
		min-height: 44px !important;
	}
}

/* Cotacoes: o gerenciamento do produto conserva abas, campos, grades e
 * paginadores dentro da viewport e usa alvos de toque no Smartphone. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quotation-product-manager-modal,
	body.app-theme-ruby .app-quotation-product-manager-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quotation-product-manager-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quotation-product-manager-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quotation-product-manager-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quotation-product-manager-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quotation-product-manager-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quotation-product-manager-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quotation-product-manager-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quotation-product-manager-modal-tabs {
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-quotation-product-manager-modal-grid {
		max-height: calc(100vh - 330px);
		max-height: calc(100dvh - 330px);
		-webkit-overflow-scrolling: touch;
	}

	.app-quotation-product-manager-modal-fields .name,
	.app-quotation-product-manager-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-quotation-product-manager-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-quotation-product-manager-modal-fields input[type="text"],
	body.app-theme-ruby .app-quotation-product-manager-modal-fields input[type="text"],
	body.app-theme-ugestor .app-quotation-product-manager-modal-fields select,
	body.app-theme-ruby .app-quotation-product-manager-modal-fields select {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px !important;
	}

	.app-quotation-product-manager-modal .app-modal-close-button,
	.app-quotation-product-manager-modal .app-modal-row-action {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}

	.app-quotation-product-manager-modal .app-modal-row-action {
		padding: 12px !important;
	}

	.app-quotation-product-manager-modal-actions input[type="submit"],
	.app-quotation-product-manager-modal-actions input[type="button"],
	.app-quotation-product-manager-modal-inline-actions input[type="submit"] {
		min-height: 44px !important;
	}

	.app-quotation-product-manager-modal .app-selection-modal-pagination a,
	.app-quotation-product-manager-modal .rich-datascr-button {
		box-sizing: border-box;
		min-width: 44px;
		min-height: 44px;
	}
}

/* Cotacoes: o gerenciamento de centros de custo conserva arvore, percentual,
 * grade e paginador dentro da viewport e usa alvos de toque no Smartphone. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-quotation-cost-center-modal,
	body.app-theme-ruby .app-quotation-cost-center-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	body.app-theme-ugestor .app-quotation-cost-center-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-quotation-cost-center-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-quotation-cost-center-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-quotation-cost-center-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-quotation-cost-center-modal .rich-mpnl-content,
	body.app-theme-ruby .app-quotation-cost-center-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	.app-quotation-cost-center-modal-content {
		box-sizing: border-box;
		max-height: calc(100vh - 112px);
		max-height: calc(100dvh - 112px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quotation-cost-center-modal-tabs {
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-quotation-cost-center-modal-tree,
	.app-quotation-cost-center-modal-grid {
		box-sizing: border-box;
		max-width: 100%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-quotation-cost-center-modal-grid {
		max-height: calc(100vh - 350px);
		max-height: calc(100dvh - 350px);
	}

	.app-quotation-cost-center-modal-fields .name,
	.app-quotation-cost-center-modal-fields .value {
		float: none;
		width: 100%;
	}

	.app-quotation-cost-center-modal-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .app-quotation-cost-center-modal-fields input[type="text"],
	body.app-theme-ruby .app-quotation-cost-center-modal-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px !important;
	}

	.app-quotation-cost-center-modal .app-modal-close-button,
	.app-quotation-cost-center-modal .app-modal-row-action {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}

	.app-quotation-cost-center-modal .app-modal-row-action {
		padding: 12px !important;
	}

	.app-quotation-cost-center-modal-actions input[type="submit"],
	.app-quotation-cost-center-modal-actions input[type="button"],
	.app-quotation-cost-center-modal-inline-actions input[type="submit"] {
		min-height: 44px !important;
	}

	.app-quotation-cost-center-modal .app-compact-modal-pagination a,
	.app-quotation-cost-center-modal .rich-datascr-button {
		box-sizing: border-box;
		min-width: 44px;
		min-height: 44px;
	}
}

.app-message-modal .infomsg {
	border-color: #b9e8f2 !important;
	border-left-color: #19b8da !important;
	background: #effcff !important;
	color: #163d62 !important;
}

.app-message-modal .warnmsg {
	border-color: #f0d39f !important;
	border-left-color: #c27a05 !important;
	background: #fff9ed !important;
	color: #6a4600 !important;
}

.app-message-modal .errormsg {
	border-color: #edc5c2 !important;
	border-left-color: #c9352b !important;
	background: #fff6f5 !important;
	color: #6e231f !important;
}

.app-message-modal-close {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
}

.app-message-modal .app-message-modal-content li,
.app-message-modal .errormsg,
.app-message-modal .warnmsg,
.app-message-modal .infomsg {
	box-sizing: border-box;
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.app-ajax-loading-icon {
	color: #19b8da !important;
}

.app-ajax-loading-title {
	color: #10213d !important;
}

@media screen and (max-width: 767px) {
	html,
	body.app-theme-ugestor,
	body.app-theme-ruby {
		width: 100% !important;
		min-width: 0 !important;
	}

	body.app-theme-ugestor .body,
	body.app-theme-ruby .body,
	body.app-theme-ugestor .conteudo,
	body.app-theme-ruby .conteudo {
		box-sizing: border-box;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	/* Grande parte das telas Seam usa tabelas de layout com width em atributo.
	 * Em smartphone elas passam a ocupar o viewport; as tabelas de resultados
	 * continuam dentro de .app-table-scroll, preservando todas as colunas. */
	body.app-theme-ugestor .conteudo form,
	body.app-theme-ruby .conteudo form,
	body.app-theme-ugestor .conteudo .rich-panel,
	body.app-theme-ruby .conteudo .rich-panel,
	body.app-theme-ugestor .conteudo fieldset,
	body.app-theme-ruby .conteudo fieldset {
		box-sizing: border-box;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.app-theme-ugestor .conteudo .rich-panel-body > table:not(.rich-table):not(.rich-dt),
	body.app-theme-ruby .conteudo .rich-panel-body > table:not(.rich-table):not(.rich-dt),
	body.app-theme-ugestor .conteudo form > table:not(.rich-table):not(.rich-dt),
	body.app-theme-ruby .conteudo form > table:not(.rich-table):not(.rich-dt) {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .conteudo .app-table-scroll,
	body.app-theme-ruby .conteudo .app-table-scroll {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.app-theme-ugestor .conteudo .app-table-scroll .rich-table,
	body.app-theme-ruby .conteudo .app-table-scroll .rich-table,
	body.app-theme-ugestor .conteudo .app-table-scroll .rich-dt,
	body.app-theme-ruby .conteudo .app-table-scroll .rich-dt {
		width: auto !important;
		min-width: 680px;
	}

	body.app-theme-ugestor .conteudo .column-left-width-50,
	body.app-theme-ruby .conteudo .column-left-width-50,
	body.app-theme-ugestor .conteudo .column-right-width-50,
	body.app-theme-ruby .conteudo .column-right-width-50 {
		box-sizing: border-box;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .conteudo,
	body.app-theme-ruby .conteudo {
		margin-right: 8px;
		margin-left: 8px;
	}

	body.app-theme-ugestor .app-page-heading,
	body.app-theme-ruby .app-page-heading,
	body.app-theme-ugestor .produto-page-heading,
	body.app-theme-ruby .produto-page-heading {
		border-radius: 8px;
	}

	body.app-theme-ugestor .conteudo .app-page-actions input,
	body.app-theme-ruby .conteudo .app-page-actions input {
		min-height: 42px;
	}
}

@media screen and (max-width: 480px) {
	#nomesDiv .app-header-logo {
		max-width: 156px;
	}

	body.app-theme-ugestor .app-page-heading,
	body.app-theme-ruby .app-page-heading,
	body.app-theme-ugestor .produto-page-heading,
	body.app-theme-ruby .produto-page-heading {
		padding: 15px !important;
	}

	body.app-theme-ugestor .app-page-heading h2,
	body.app-theme-ruby .app-page-heading h2,
	body.app-theme-ugestor .produto-page-heading h2,
	body.app-theme-ruby .produto-page-heading h2 {
		font-size: 23px !important;
	}

	body.app-theme-ugestor .conteudo .app-page-actions,
	body.app-theme-ruby .conteudo .app-page-actions {
		gap: 8px;
	}

	body.app-theme-ugestor .conteudo .app-page-actions input,
	body.app-theme-ruby .conteudo .app-page-actions input {
		flex-basis: 100%;
		width: 100% !important;
	}
}

/*
 * Cabeçalho de Produtos: separa o texto contextual das ações sem alterar
 * componentes JSF/Ajax ou contratos da tela.
 */
body.app-theme-ugestor .produto-page-heading.produto-page-heading-com-acoes,
body.app-theme-ruby .produto-page-heading.produto-page-heading-com-acoes {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 0 !important;
	padding-top: 16px !important;
	padding-right: 24px !important;
	padding-bottom: 16px !important;
}

body.app-theme-ugestor .produto-page-heading-content,
body.app-theme-ruby .produto-page-heading-content {
	position: relative;
	z-index: 1;
	min-width: 0;
	flex: 1 1 auto;
}

body.app-theme-ugestor .produto-page-heading-content h2,
body.app-theme-ruby .produto-page-heading-content h2 {
	margin-bottom: 4px !important;
}

body.app-theme-ugestor .produto-page-heading-content p,
body.app-theme-ruby .produto-page-heading-content p {
	margin-bottom: 0 !important;
}

body.app-theme-ugestor .produto-page-heading.produto-page-heading-com-acoes .produto-page-actions,
body.app-theme-ruby .produto-page-heading.produto-page-heading-com-acoes .produto-page-actions {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 1;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    flex: 0 0 auto;
	width: auto !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	white-space: nowrap;
}

@media screen and (max-width: 760px) {
	body.app-theme-ugestor .produto-page-heading.produto-page-heading-com-acoes,
	body.app-theme-ruby .produto-page-heading.produto-page-heading-com-acoes {
		display: block;
		padding: 16px 17px !important;
	}

	body.app-theme-ugestor .produto-page-heading.produto-page-heading-com-acoes .produto-page-actions,
	body.app-theme-ruby .produto-page-heading.produto-page-heading-com-acoes .produto-page-actions {
		justify-content: flex-end;
		flex-wrap: wrap;
		margin-top: 14px !important;
		white-space: normal;
	}
}

/* Experiência operacional compartilhada -----------------------------------
 * Esta camada final reduz a altura institucional dos templates sem alterar a
 * estrutura RichFaces. Azul-marinho sustenta a navegação; laranja concentra
 * as ações prioritárias. */
body.app-theme-ugestor #nomesDiv.app-header,
body.app-theme-ruby #nomesDiv.app-header {
	margin: 8px 0;
	padding: 8px 18px;
	border-radius: 8px;
	box-shadow: 0 4px 14px rgba(8, 20, 47, .05);
}

#nomesDiv .app-header-layout,
#nomesDiv .app-header-layout > tbody,
#nomesDiv .app-header-layout > tbody > tr {
	width: 100%;
}

#nomesDiv .app-header-brand {
	display: flex;
	min-height: 52px;
	align-items: center;
}

#nomesDiv .app-header-logo {
	max-width: 218px;
	max-height: 52px;
}

#nomesDiv .app-header-context {
	display: flex;
	min-height: 52px;
	align-items: center;
	justify-content: flex-end;
}

#nomesDiv .app-header-meta {
	margin-left: auto;
	color: #536278;
	font-size: 11px;
	line-height: 1.35 !important;
	text-align: right;
}

#nomesDiv .app-header-meta td {
	padding: 1px 0 !important;
	line-height: 1.35 !important;
}

#nomesDiv .app-header-meta .name,
#nomesDiv .app-header-meta .value {
	font-size: 11px;
	line-height: 1.35 !important;
}

#nomesDiv .app-header-meta .name {
	color: #10213d !important;
	font-weight: bold;
}

#nomesDiv .app-header-establishment {
	max-width: 640px;
	white-space: nowrap;
}

/* A versao fica no contexto compacto do cabecalho em todos os profiles.
 * Assim, em producao ela continua consultavel sem depender da faixa de
 * ambiente, que e exclusiva de desenvolvimento e homologacao. */
#nomesDiv .app-header-version {
	display: block;
	margin-top: 1px;
	color: #7a8798;
	font-size: 10px;
	line-height: 1.25;
}

#nomesDiv .app-header-version .prop {
	margin: 0;
}

#nomesDiv .app-header-version .name,
#nomesDiv .app-header-version .value {
	font-size: 10px;
	line-height: 1.25 !important;
}

    #MenuHorizontal.app-main-navigation,
    .app-main-navigation {
	margin: 0 0 12px;
}

    #MenuHorizontal .app-main-toolbar,
    .app-main-navigation .app-main-toolbar {
	min-height: 44px;
	border-radius: 8px;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item {
	height: 44px;
}

  #MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
  #MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
  #MenuHorizontal .app-main-toolbar .app-toolbar-logout,
  .app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
  .app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
  .app-main-navigation .app-main-toolbar .app-toolbar-logout {
	padding: 12px 15px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 18px !important;
	letter-spacing: .05px;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item > i > span,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label .rich-label-text-decor {
	font-size: 13px !important;
	font-weight: 600 !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label-select,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar td.app-navigation-active,
#MenuHorizontal .app-main-toolbar td.app-navigation-active > .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.app-navigation-active > .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar td.app-navigation-active .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.app-navigation-active .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"],
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"] > .rich-menu-item,
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"] > .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"] .rich-menu-item,
#MenuHorizontal .app-main-toolbar [data-app-navigation-active="true"] .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar .app-navigation-active,
#MenuHorizontal .app-main-toolbar .app-toolbar-logout:hover,
#MenuHorizontal .app-main-toolbar .app-toolbar-logout:focus,
#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:hover,
#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:focus {
	background: #17294e !important;
	box-shadow: inset 0 -3px 0 #ff5a1f;
}

#MenuHorizontal .app-main-toolbar .app-control-panel-trigger {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
	line-height: 18px !important;
}

/*
 * O Seam pode prefixar IDs no HTML renderizado. As classes declaradas no
 * template preservam a mesma navegação em todas as páginas autenticadas.
 */
.app-main-navigation {
	margin: 0 0 12px;
}

.app-main-navigation .app-main-toolbar {
	min-height: 44px;
	border-radius: 8px;
}

.app-main-navigation .app-main-toolbar td.rich-toolbar-item {
	height: 44px;
}

.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar .app-toolbar-logout {
	padding: 12px 15px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 18px !important;
	letter-spacing: .05px;
}

.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-menu-item > i > span,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label .rich-label-text-decor {
	font-size: 13px !important;
	font-weight: 600 !important;
}

.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:hover,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:hover,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label-select,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item.app-navigation-active,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-item,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar td.app-navigation-active,
.app-main-navigation .app-main-toolbar td.app-navigation-active > .rich-menu-item,
.app-main-navigation .app-main-toolbar td.app-navigation-active > .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar td.app-navigation-active .rich-menu-item,
.app-main-navigation .app-main-toolbar td.app-navigation-active .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"],
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"] > .rich-menu-item,
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"] > .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"] .rich-menu-item,
.app-main-navigation .app-main-toolbar [data-app-navigation-active="true"] .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar .app-navigation-active,
.app-main-navigation .app-main-toolbar .app-toolbar-logout:hover,
.app-main-navigation .app-main-toolbar .app-toolbar-logout:focus,
.app-main-navigation .app-main-toolbar .app-control-panel-trigger:hover,
.app-main-navigation .app-main-toolbar .app-control-panel-trigger:focus {
	background: #17294e !important;
	box-shadow: inset 0 -3px 0 #ff5a1f;
}

.app-main-navigation .app-main-toolbar .app-control-panel-trigger {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
	line-height: 18px !important;
}

/* O script identifica o item e seus contêineres RichFaces como ativos. A
 * linha de estado pertence somente ao item semântico, evitando sublinhados
 * sobrepostos no menu principal. */
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"],
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item [data-app-navigation-active="true"],
.app-main-navigation .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"],
.app-main-navigation .app-main-toolbar td.rich-toolbar-item [data-app-navigation-active="true"] {
	box-shadow: none !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item [aria-current="page"],
.app-main-navigation .app-main-toolbar td.rich-toolbar-item [aria-current="page"] {
	box-shadow: inset 0 -3px 0 #ff5a1f !important;
}

/* Quando o primeiro item da barra e o ativo, o seu fundo acompanha os
 * cantos externos do toolbar; os demais itens ativos permanecem retangulares
 * para nao quebrar a continuidade da navegacao. */
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item:first-child.app-navigation-active,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item:first-child[data-app-navigation-active="true"],
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item:first-child .app-navigation-active,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item:first-child [data-app-navigation-active="true"],
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item:first-child [aria-current="page"] {
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

/* O espaco final do grupo direito faz parte do botao do Painel de Controle,
 * para que hover e foco preencham toda a sua area clicavel. */
#MenuHorizontal .app-main-toolbar .app-control-panel-trigger {
	margin-right: 0 !important;
	padding-right: 29px !important;
	border-bottom-right-radius: 8px;
}

#MenuHorizontal .app-main-toolbar .app-control-panel-label {
	display: none;
}

#MenuHorizontal .app-main-toolbar .app-toolbar-actions-end {
	display: none;
}

/* Cabeçalho institucional --------------------------------------------------
 * A marca vem de whiteLabelIdentity: nos hosts White Label ela continua
 * dinâmica; o asset Grupo Ugestor é somente o padrão dos perfis centrais. */
body.app-theme-ugestor #nomesDiv.app-header.app-header-modern,
body.app-theme-ruby #nomesDiv.app-header.app-header-modern {
	box-sizing: border-box;
	width: 100%;
	margin: 6px 0 0;
	padding: 0;
	border: 1px solid #dfe5ee;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(8, 20, 47, .08);
	overflow: hidden;
}

/* No template com navegacao, cabecalho e menu formam um unico conjunto.
 * Somente os cantos externos permanecem arredondados; o template sem menu
 * conserva o cartao completo. */
body.app-theme-ugestor #nomesDiv.app-header.app-header-modern.app-header-with-menu,
body.app-theme-ruby #nomesDiv.app-header.app-header-modern.app-header-with-menu {
	border-radius: 12px 12px 0 0;
}

#MenuHorizontal.app-main-navigation .app-main-toolbar {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 8px;
	border-bottom-left-radius: 8px;
}

#MenuHorizontal.app-main-navigation {
	box-sizing: border-box;
	width: 100%;
}

#nomesDiv.app-header-modern .app-header-modern-layout,
#nomesDiv.app-header-modern .app-header-modern-layout > tbody,
#nomesDiv.app-header-modern .app-header-modern-layout > tbody > tr {
	width: 100%;
}

#nomesDiv.app-header-modern .app-header-modern-layout > tbody > tr > td {
	padding: 6px 18px !important;
	vertical-align: middle;
}

#nomesDiv.app-header-modern .app-header-modern-layout > tbody > tr > td + td {
	border-left: 0;
}

#nomesDiv.app-header-modern .app-header-brand {
	display: flex;
	align-items: center;
	min-height: 0;
}

#nomesDiv.app-header-modern .app-header-brand-link {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
}

#nomesDiv.app-header-modern .app-header-logo {
	display: block;
	width: auto;
	max-width: 205px;
	max-height: 48px;
	margin: 0;
}

#nomesDiv.app-header-modern .app-header-context {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 0;
}

#nomesDiv.app-header-modern .app-header-identity-card {
	box-sizing: border-box;
	width: 590px;
	max-width: 100%;
	margin-left: auto;
	padding: 4px 8px;
	border: 1px solid #e3e9f1;
	border-left: 3px solid #ff5a1f;
	border-radius: 8px;
	background: #f8fafc;
	box-shadow: 0 2px 7px rgba(16, 33, 61, .04);
	text-align: left;
}

#nomesDiv.app-header-modern .app-header-meta {
	width: 100%;
	margin: 0;
	color: #56657a;
	font-size: 11px;
	line-height: 1.35 !important;
	text-align: left;
}

#nomesDiv.app-header-modern .app-header-meta td {
	padding: 0 !important;
	line-height: 1.35 !important;
}

#nomesDiv.app-header-modern .app-header-meta .name,
#nomesDiv.app-header-modern .app-header-meta .value {
	font-size: 11px;
	line-height: 1.35 !important;
}

#nomesDiv.app-header-modern .app-header-meta .name {
	color: #10213d !important;
	font-weight: bold;
}

/* Contexto operacional unificado: usuário e estabelecimento pertencem ao
 * mesmo cartão, com respiro e divisor internos. */
#nomesDiv.app-header-modern .app-header-user {
	margin: 0;
}

#nomesDiv.app-header-modern .app-header-support-slot {
	display: inline-block;
	margin-right: 8px;
	line-height: normal;
	vertical-align: middle;
}

#nomesDiv.app-header-modern .app-header-user .prop {
	display: block;
	margin: 0;
	padding: 0 0 4px;
	border: 0;
	background: transparent;
	box-shadow: none;
	text-align: left;
}

#nomesDiv.app-header-modern .app-header-user .name,
#nomesDiv.app-header-modern .app-header-user .value {
	display: block;
}

#nomesDiv.app-header-modern .app-header-user .name {
	color: #758298 !important;
	font-size: 8px;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.2 !important;
}

#nomesDiv.app-header-modern .app-header-user .value {
	margin-top: 1px;
	color: #243b5a;
	font-size: 11px;
	font-weight: 600;
}

#nomesDiv.app-header-modern .app-header-establishment {
	display: block;
	width: 100%;
	max-width: none;
	margin: 3px 0 0;
	white-space: nowrap;
}

#nomesDiv.app-header-modern .app-header-establishment [id$="entidadeSelectDiv"],
#nomesDiv.app-header-modern .app-header-establishment [id$="entidadeSelectDiv"] > tbody,
#nomesDiv.app-header-modern .app-header-establishment [id$="entidadeSelectDiv"] > tbody > tr,
#nomesDiv.app-header-modern .app-header-establishment [id$="entidadeSelectDiv"] > tbody > tr > td {
	box-sizing: border-box;
	width: 100%;
}

#nomesDiv.app-header-modern .app-header-establishment > tbody > tr > td {
	vertical-align: middle;
}

#nomesDiv.app-header-modern .app-header-establishment .prop {
	display: block;
	margin: 0;
	padding: 5px 0 0;
	border: 0;
	border-top: 1px solid #e3e9f1;
	background: transparent;
	box-shadow: none;
	text-align: left;
}

/* Ao trocar o estabelecimento, o autocomplete legado volta a ocupar o
 * mesmo selo contextual, em vez de renderizar seus campos soltos no header. */
#nomesDiv.app-header-modern .app-header-establishment-select {
	display: block;
	box-sizing: border-box;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

#nomesDiv.app-header-modern .app-header-establishment .name,
#nomesDiv.app-header-modern .app-header-establishment .value {
	display: block;
}

#nomesDiv.app-header-modern .app-header-establishment .name {
	color: #758298 !important;
	font-size: 8px;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.2 !important;
}

#nomesDiv.app-header-modern .app-header-establishment-select .name {
	display: none;
}

/* No header, o componente preserva a mesma geometria do selo selecionado.
 * O !important e restrito ao estilo inline legado do input RichFaces. */
#nomesDiv.app-header-modern .app-header-establishment-select .app-autocomplete-control {
	width: 100%;
}

#nomesDiv.app-header-modern .app-header-establishment-select .app-autocomplete-control > tbody > tr > td:first-child {
	width: 100%;
}

#nomesDiv.app-header-modern .app-header-establishment-select .app-autocomplete-input {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
}

#nomesDiv.app-header-modern .app-header-establishment .value {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 1px;
	color: #223b5c;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.35 !important;
}

#nomesDiv.app-header-modern .app-header-establishment-value {
	display: flex;
	align-items: center;
	width: 100%;
	gap: 6px;
	min-width: 0;
}

#nomesDiv.app-header-modern .app-header-establishment-value > span:first-child {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#nomesDiv.app-header-modern .app-header-establishment .app-header-establishment-value input[type="image"] {
	box-sizing: content-box;
	flex: 0 0 auto;
	display: block;
	width: 16px;
	height: 16px;
	padding: 4px;
	border: 1px solid #dce4ee;
	border-radius: 7px;
	background: #ffffff;
	box-shadow: 0 2px 6px rgba(16, 33, 61, .05);
	cursor: pointer;
}

#nomesDiv.app-header-modern .app-header-establishment .app-header-establishment-value input[type="image"]:hover,
#nomesDiv.app-header-modern .app-header-establishment .app-header-establishment-value input[type="image"]:focus {
	border-color: #ffb496;
	box-shadow: 0 0 0 3px rgba(255, 90, 31, .12);
}

/* Cabecalho compartilhado das paginas externas. Remove o posicionamento
 * absoluto do legado imgback e preserva a identidade resolvida pelo contexto
 * White Label sem introduzir outra arvore funcional. */
.app-external-corporate-header {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 16px 24px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .13);
	background: #08142f;
}

.app-external-corporate-header-layout,
.app-external-corporate-header-layout > tbody,
.app-external-corporate-header-layout > tbody > tr {
	width: 100%;
}

.app-external-corporate-header-layout > tbody > tr > td {
	padding: 0 !important;
}

.app-external-corporate-header-link {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
}

.app-external-corporate-header .app-header-logo-corporate {
	display: block;
	width: auto;
	max-width: 184px;
	max-height: 54px;
	margin: 0;
	mix-blend-mode: normal;
}

@media screen and (max-width: 760px) {
	.app-external-corporate-header {
		padding: 14px 16px;
	}

	.app-external-corporate-header .app-header-logo-corporate {
		max-width: 162px;
		max-height: 48px;
	}

	body.app-theme-ugestor #nomesDiv.app-header.app-header-modern,
	body.app-theme-ruby #nomesDiv.app-header.app-header-modern {
		margin-top: 8px;
	}

	#nomesDiv.app-header-modern .app-header-modern-layout,
	#nomesDiv.app-header-modern .app-header-modern-layout > tbody,
	#nomesDiv.app-header-modern .app-header-modern-layout > tbody > tr,
	#nomesDiv.app-header-modern .app-header-modern-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	#nomesDiv.app-header-modern .app-header-modern-layout > tbody > tr > td {
		padding: 8px 12px !important;
		text-align: left !important;
	}

	#nomesDiv.app-header-modern .app-header-modern-layout > tbody > tr > td + td {
		border-top: 1px solid #e8edf3;
		border-left: 0;
	}

	#nomesDiv.app-header-modern .app-header-logo {
		max-width: 180px;
		max-height: 44px;
	}

	#nomesDiv.app-header-modern .app-header-context {
		justify-content: flex-start;
		min-height: 0;
	}

	#nomesDiv.app-header-modern .app-header-meta {
		width: 100%;
		margin: 0;
		text-align: left;
	}

	#nomesDiv.app-header-modern .app-header-identity-card {
		width: 100%;
		margin-left: 0;
	}

	#nomesDiv.app-header-modern .app-header-establishment {
		width: 100%;
		max-width: 100%;
		white-space: normal;
	}

	#nomesDiv.app-header-modern .app-header-establishment .prop {
		padding-top: 5px;
	}
}

/* Autocomplete compartilhado ------------------------------------------------
 * Padrao unico para os componentes reutilizaveis e para suggestionboxes
 * RichFaces declarados diretamente nas telas legadas. */
.app-autocomplete-control {
	border-collapse: separate;
	border-spacing: 4px 0;
}

.app-autocomplete-control td {
	vertical-align: middle;
}

input.app-autocomplete-input,
input.suggestion,
input[class*="suggestion"] {
	box-sizing: border-box;
	min-height: 30px;
	padding: 5px 8px;
	border: 1px solid #cfd9e6;
	border-radius: 5px;
	background: #ffffff;
	color: #243b5a;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 18px;
	box-shadow: inset 0 1px 2px rgba(16, 33, 61, .04);
	transition: border-color .16s ease, box-shadow .16s ease;
}

input.app-autocomplete-input:hover,
input.suggestion:hover,
input[class*="suggestion"]:hover {
	border-color: #aebdce;
}

input.app-autocomplete-input:focus,
input.suggestion:focus,
input[class*="suggestion"]:focus {
	border-color: var(--white-label-accent, #f04409);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(240, 68, 9, .12);
}

input.app-autocomplete-input[disabled],
input.suggestion[disabled],
input[class*="suggestion"][disabled] {
	background: #f2f5f8;
	color: #8290a2;
	cursor: not-allowed;
}

.app-autocomplete-trigger,
img[src$="zoom.png"] {
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	padding: 6px;
	border: 1px solid #cfd9e6;
	border-radius: 5px;
	background: #f8fafc;
	cursor: pointer;
}

.app-autocomplete-trigger:hover,
img[src$="zoom.png"]:hover {
	border-color: var(--white-label-accent, #f04409);
	background: #fff4ef;
}

.app-autocomplete-trigger:focus,
img[src$="zoom.png"]:focus {
	border-color: var(--white-label-accent, #f04409);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(240, 68, 9, .12);
}

.app-autocomplete-loading {
	margin-left: 2px;
}

/* Classes emitidas pelo rich:suggestionbox 3.3. */
.rich-sb-common-container {
	box-sizing: border-box;
	height: 180px !important;
	max-height: 180px !important;
	border-radius: 8px;
	font-family: Arial, Helvetica, sans-serif;
}

.rich-sb-ext-decor-1,
.rich-sb-ext-decor-2,
.rich-sb-ext-decor-3 {
	box-sizing: border-box;
	height: 100% !important;
	max-height: 180px;
	border-radius: 8px;
}

.rich-sb-ext-decor-1 {
	background: transparent !important;
	box-shadow: 0 12px 28px rgba(16, 33, 61, .18);
}

.rich-sb-ext-decor-2 {
	border-color: #cfd9e6 !important;
	background: #ffffff !important;
	overflow: hidden;
}

.rich-sb-ext-decor-3 {
	background: #ffffff;
}

.rich-sb-shadow {
	display: none;
}

.rich-sb-overflow {
	box-sizing: border-box;
	height: 100% !important;
	max-height: 180px !important;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-color: #aebdce #f5f8fc;
	scrollbar-width: thin;
}

.rich-sb-overflow::-webkit-scrollbar {
	width: 8px;
}

.rich-sb-overflow::-webkit-scrollbar-track {
	background: #f5f8fc;
}

.rich-sb-overflow::-webkit-scrollbar-thumb {
	border: 2px solid #f5f8fc;
	border-radius: 999px;
	background: #aebdce;
}

.rich-sb-overflow::-webkit-scrollbar-thumb:hover {
	background: #8fa1b5;
}

.rich-sb-int-decor-table {
	width: 100%;
	border-collapse: collapse;
	background: #ffffff;
	border-spacing: 0;
}

/* O RichFaces aplica rich-sb-int nas linhas, nao na tabela. */
.rich-sb-int {
	background: #ffffff;
	color: #243b5a;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	cursor: pointer;
}

tr.rich-sb-int td,
.rich-sb-int .rich-sb-cell-padding {
	padding: 9px 12px !important;
	background: #ffffff;
	border-bottom: 1px solid #edf1f5;
	line-height: 1.4;
}

tr.rich-sb-int:last-child td {
	border-bottom: 0;
}

tr.rich-sb-int:hover td {
	background: #f5f8fc;
	color: #1d3a61;
}

tr.rich-sb-int.rich-sb-int-sel,
.rich-sb-int-sel {
	background: #eaf1fb !important;
	background-image: none !important;
	color: #173d6a !important;
}

tr.rich-sb-int.rich-sb-int-sel td,
.rich-sb-int-sel .rich-sb-cell-padding {
	background: #eaf1fb !important;
	background-image: none !important;
	color: #173d6a !important;
	box-shadow: none;
}

tr.rich-sb-int.rich-sb-int-sel td:first-child {
	border-left: 3px solid #ff5a1f;
	padding-left: 9px !important;
}

/* O RichFaces aplica popupClass no contêiner interno da lista. As colunas
 * usam o algoritmo automático do navegador: códigos e documentos reservam só
 * o necessário e a descrição recebe o espaço restante. */
.app-autocomplete-popup tr.rich-sb-int td {
	padding-top: 9px !important;
	padding-bottom: 9px !important;
	vertical-align: middle;
}

.app-autocomplete-popup tr.rich-sb-int td:first-child {
	padding-left: 12px !important;
}

.app-autocomplete-popup tr.rich-sb-int.rich-sb-int-sel td:first-child {
	padding-left: 9px !important;
}

.app-autocomplete-popup .app-autocomplete-entity-code {
	width: 56px;
	white-space: nowrap;
}

.app-autocomplete-popup .app-autocomplete-entity-description {
	white-space: nowrap;
}

.app-autocomplete-popup .app-autocomplete-entity-document {
	width: 140px;
	white-space: nowrap;
}

/* Home: o destaque abre caminho para a operacao; os cartoes possuem area de
 * clique integral, foco por teclado e um proximo passo explicito. */
#homeForm .home-hero {
	min-height: 250px;
	padding: 32px 5.2%;
}

#homeForm .home-hero-copy {
	max-width: 570px;
}

#homeForm .home-kicker {
	margin-bottom: 14px;
}

#homeForm .home-hero h1 {
	font-size: 33px;
}

#homeForm .home-hero p {
	margin-top: 17px;
	font-size: 16px;
}

#homeForm .home-hero-highlight {
	margin-top: 22px;
	padding-top: 13px;
}

#homeForm .home-modules-section {
	margin-top: 16px;
	padding: 26px 34px 30px;
}

#homeForm .home-module-list {
	margin-top: 22px;
}

#homeForm .home-module-card {
	min-height: 0;
}

#homeForm .home-module-card:hover {
	border-color: #ff5a1f;
	box-shadow: 0 10px 22px rgba(233, 74, 22, .14);
}

#homeForm .home-module-card-link,
#homeForm .home-module-card-link:visited {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	min-width: 44px;
	min-height: 44px;
	margin-top: 14px;
	padding: 10px 0;
	color: #e94a16;
	cursor: pointer;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.2;
	text-decoration: none;
}

#homeForm .home-module-card-link:hover {
	color: #b7350d;
	text-decoration: underline;
}

#homeForm .home-module-card-link:focus {
	outline: 3px solid rgba(25, 201, 232, .45);
	outline-offset: 2px;
}

#homeForm .home-module-card-link .fa {
	margin-left: 4px;
}

/* Mantem o rodape no fim do viewport em telas curtas sem reservar uma barra
 * de rolagem. Em telas longas, o conteudo continua rolando normalmente. */
html {
	min-height: 100%;
	overflow-y: auto;
}

body {
	min-height: 100vh;
	margin-top: 0;
	margin-bottom: 0;
}

.body {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.conteudo {
	flex: 1 0 auto;
}

/* Rodape compartilhado pelos templates do ERP. A faixa de ambiente replica
 * a sinalizacao visual do App uGestor e nunca e exibida em producao. */
.app-footer {
	clear: both;
	flex: 0 0 auto;
	margin: auto 0 0;
	font-family: Arial, Helvetica, sans-serif;
}

.app-footer-copyright {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 8px 0;
	color: #6d6b7d;
	font-size: 13px;
	line-height: 1.35;
}

.app-footer-version {
	flex: 0 0 auto;
	color: #78879a;
	font-size: 11px;
	line-height: 1.35;
	text-align: right;
	white-space: nowrap;
}

.app-footer-version-label {
	margin-right: 4px;
	color: #596a80;
	font-size: 9px;
	font-weight: bold;
	letter-spacing: .07em;
}

.app-footer-environment {
	box-sizing: border-box;
	width: 100%;
	padding: 4px 12px;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.25;
	text-align: center;
}

.app-footer-environment-development {
	background-color: red;
}

.app-footer-environment-staging {
	background-color: yellowgreen;
}

@media screen and (max-width: 980px) {
	#nomesDiv .app-header-logo {
		max-width: 186px;
		max-height: 46px;
	}

	#nomesDiv .app-header-establishment {
		max-width: 470px;
	}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
#MenuHorizontal .app-main-toolbar .app-toolbar-logout,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
.app-main-navigation .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
.app-main-navigation .app-main-toolbar .app-toolbar-logout {
		padding-right: 10px !important;
		padding-left: 10px !important;
		font-size: 12px !important;
	}
}

@media screen and (max-width: 760px) {
	body.app-theme-ugestor #nomesDiv.app-header,
	body.app-theme-ruby #nomesDiv.app-header {
		margin: 6px 0;
		padding: 9px 12px;
	}

	#nomesDiv .app-header-layout,
	#nomesDiv .app-header-layout > tbody,
	#nomesDiv .app-header-layout > tbody > tr,
	#nomesDiv .app-header-layout > tbody > tr > td {
		display: block;
		width: 100% !important;
	}

	/* A regra mobile histórica centralizava todas as células do panelGrid.
	 * O contexto operacional deve permanecer legível e alinhado à esquerda,
	 * inclusive quando o estabelecimento usar duas colunas internamente. */
	#nomesDiv .app-header-layout > tbody > tr > td,
	#nomesDiv .app-header-meta td {
		text-align: left !important;
	}

	#nomesDiv .app-header-brand,
	#nomesDiv .app-header-context {
		min-height: auto;
		justify-content: flex-start;
	}

	#nomesDiv .app-header-brand {
		margin-bottom: 7px;
	}

	#nomesDiv .app-header-logo {
		max-width: 164px;
		max-height: 42px;
	}

	#nomesDiv .app-header-meta {
		margin-left: 0;
		text-align: left;
	}

	#nomesDiv .app-header-establishment {
		max-width: 100%;
		white-space: normal;
	}

#MenuHorizontal.app-main-navigation {
  overflow-x: auto;
  margin-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}

#MenuHorizontal.app-main-navigation,
.app-main-navigation {
  overflow-x: auto;
  margin-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}

#MenuHorizontal .app-main-toolbar {
  min-width: 620px;
}

#MenuHorizontal .app-main-toolbar,
.app-main-navigation .app-main-toolbar {
  min-width: 620px;
}

	#homeForm .home-hero {
		min-height: 232px;
		padding: 26px 28px;
	}

	#homeForm .home-hero h1 {
		font-size: 29px;
	}

	#homeForm .home-modules-section {
		padding: 24px;
	}
}

@media screen and (max-width: 480px) {
	#homeForm .home-hero {
		min-height: 240px;
		padding: 24px 20px;
	}

	#homeForm .home-hero h1 {
		font-size: 26px;
	}

	#homeForm .home-hero p {
		font-size: 15px;
	}

	#homeForm .home-modules-section {
		padding: 22px 18px;
	}

	#homeForm .home-module-card-link,
	#homeForm .home-module-card-link:visited {
		min-width: 44px;
		min-height: 44px;
		padding: 10px 0;
	}
}

@media screen and (max-width: 760px) {
	.app-footer-copyright {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.app-footer-version {
		margin-left: auto;
	}
}

/* O RichFaces mantém os popups de menu dentro da célula da toolbar. O estado
 * ativo da área (por exemplo, Cadastros) não pode vazar para esses níveis:
 * somente o item principal fica em azul-marinho; os itens internos preservam
 * fundo claro, contraste e o hover laranja da navegação. */
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border {
	background: #ffffff !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-group,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-group {
	background: #ffffff !important;
	box-shadow: none !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-item *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-group *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-item *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-group * {
	color: #10213d !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-item:hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-group:hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-item-hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-group-hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-item:hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-group:hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-item-hover,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-group-hover {
	background: #fff1ea !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-item:hover *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-group:hover *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-item-hover *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active .rich-menu-list-border .rich-menu-group-hover *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-item:hover *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-group:hover *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-item-hover *,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item[data-app-navigation-active="true"] .rich-menu-list-border .rich-menu-group-hover * {
	color: #e94a16 !important;
}

/* Etiquetas de Produtos: organiza configuracao, pesquisa e selecao em uma
 * unica area operacional, preservando geracao PDF e contratos RichFaces. */
.app-product-label-page-actions {
	min-width: 148px;
}

body.app-theme-ugestor .conteudo .app-product-label-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-product-label-panel > .rich-panel-body {
	padding: 0 !important;
}

body.app-theme-ugestor .conteudo .app-product-label-tabs,
body.app-theme-ruby .conteudo .app-product-label-tabs {
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 0 0 7px 7px;
	box-shadow: none;
}

body.app-theme-ugestor .conteudo .app-product-label-tabs .rich-tabpanel-content,
body.app-theme-ruby .conteudo .app-product-label-tabs .rich-tabpanel-content {
	box-sizing: border-box;
	padding: 18px !important;
	border: 0 !important;
	border-radius: 0 0 7px 7px;
}

.app-product-label-config-workspace,
.app-product-label-products-form {
	box-sizing: border-box;
	width: 100%;
}

.app-product-label-config-workspace {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	align-items: stretch;
	gap: 14px;
}

.app-product-label-config-workspace > .app-product-label-section-heading {
	grid-column: 1 / -1;
}

.app-product-label-section-heading {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 2px;
}

.app-product-label-section-heading h3 {
	margin: 0;
	color: #10213d;
	font-size: 16px;
	line-height: 1.3;
}

.app-product-label-section-heading p {
	margin: 4px 0 0;
	color: #58708d;
	font-size: 12px;
	line-height: 1.45;
}

.app-product-label-section-heading-compact {
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid #dce5ed;
}

.app-product-label-config-card,
.app-product-label-search-card {
	box-sizing: border-box;
	width: 100%;
	padding: 15px;
	border: 1px solid #d7dfeb;
	border-top: 3px solid #ff5a1f;
	border-radius: 6px;
	background: #fbfcfe;
}

.app-product-label-config-card .name,
.app-product-label-filter-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-product-label-config-card .value,
.app-product-label-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-product-label-model-grid,
body.app-theme-ruby .conteudo .app-product-label-model-grid {
	box-sizing: border-box;
	width: 100%;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	background: transparent !important;
}

.app-product-label-model-grid > tbody > tr > td {
	box-sizing: border-box;
	padding: 0 12px 0 0;
	vertical-align: top;
}

.app-product-label-model-grid > tbody > tr > td:last-child {
	padding-right: 0;
}

.app-product-label-model-choice,
.app-product-label-code-choice {
	color: #10213d;
	font-size: 12px;
}

.app-product-label-model-choice td,
.app-product-label-code-choice td {
	padding: 7px 6px 7px 0;
	vertical-align: middle;
}

.app-product-label-model-preview {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.app-product-label-model-preview > span {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	min-height: 38px;
	padding: 5px 9px;
	border: 1px solid #dbe5ed;
	border-radius: 5px;
	background: #ffffff;
	color: #415672;
	font-size: 12px;
	line-height: 1.3;
}

.app-product-label-model-preview img {
	display: block;
	width: 28px;
	height: 28px;
	margin: 0 8px 0 0;
	padding: 0 !important;
	object-fit: contain;
}

.app-product-label-config-fields,
.app-product-label-filter-fields {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo input.app-product-label-quantity,
body.app-theme-ruby .conteudo input.app-product-label-quantity {
	box-sizing: border-box;
	width: 120px !important;
	max-width: 100%;
	text-align: right;
}

.app-product-label-products-form > .app-product-label-section-heading {
	margin-bottom: 12px;
}

.app-product-label-search-card {
	padding-bottom: 12px;
}

body.app-theme-ugestor .conteudo .app-product-label-filter-fields input[type="text"],
body.app-theme-ruby .conteudo .app-product-label-filter-fields input[type="text"] {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-label-filter-fields select,
body.app-theme-ruby .conteudo .app-product-label-filter-fields select {
	box-sizing: border-box;
	width: 320px;
	max-width: 100%;
}

.app-product-label-filter-fields .rich-calendar-input {
	box-sizing: border-box;
	width: 128px !important;
}

.app-product-label-filter-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 9px;
	padding-top: 12px;
	border-top: 1px solid #dce5ed;
}

.app-product-label-results {
	margin-top: 14px;
}

.app-product-label-table-scroll {
	box-sizing: border-box;
	width: 100%;
	border-radius: 6px 6px 0 0;
}

body.app-theme-ugestor .conteudo .app-product-label-table,
body.app-theme-ruby .conteudo .app-product-label-table {
	width: 100% !important;
	min-width: 940px;
}

body.app-theme-ugestor .conteudo .app-product-label-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-product-label-table .rich-table-cell {
	padding: 9px 10px !important;
	vertical-align: middle;
}

body.app-theme-ugestor .conteudo input.app-product-label-row-quantity,
body.app-theme-ruby .conteudo input.app-product-label-row-quantity {
	box-sizing: border-box;
	width: 58px !important;
	min-height: 30px;
	padding: 4px 7px;
	text-align: right;
}

.app-product-label-selection-column,
.app-product-label-selection-column > div {
	text-align: center;
}

.app-product-label-selection-column input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	vertical-align: middle;
}

@media screen and (max-width: 980px) {
	.app-product-label-config-workspace {
		grid-template-columns: 1fr;
	}

	.app-product-label-config-workspace > .app-product-label-section-heading {
		grid-column: auto;
	}
}

@media screen and (max-width: 620px) {
	.app-product-label-config-card .name,
	.app-product-label-config-card .value,
	.app-product-label-filter-fields .name,
	.app-product-label-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-product-label-config-card .name,
	.app-product-label-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-product-label-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-product-label-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-product-label-filter-fields select,
	body.app-theme-ruby .conteudo .app-product-label-filter-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	body.app-theme-ugestor .conteudo input.app-product-label-quantity,
	body.app-theme-ruby .conteudo input.app-product-label-quantity,
	body.app-theme-ugestor .conteudo input.app-product-label-row-quantity,
	body.app-theme-ruby .conteudo input.app-product-label-row-quantity {
		min-height: 44px;
	}

	.app-product-label-model-choice td,
	.app-product-label-code-choice td {
		height: 44px;
	}

	.app-product-label-model-choice input[type="radio"],
	.app-product-label-code-choice input[type="radio"],
	.app-product-label-selection-column input[type="checkbox"] {
		width: 22px;
		height: 22px;
	}

	.app-product-label-selection-column,
	.app-product-label-selection-control {
		min-width: 44px;
		min-height: 44px;
	}

	.app-product-label-model-grid,
	.app-product-label-model-grid > tbody,
	.app-product-label-model-grid > tbody > tr,
	.app-product-label-model-grid > tbody > tr > td {
		display: block;
		width: 100% !important;
	}

	.app-product-label-model-grid > tbody > tr > td {
		padding: 0;
	}

	.app-product-label-filter-actions,
	.app-product-label-filter-actions .app-page-actions,
	.app-product-label-filter-actions input {
		width: 100%;
	}

}

/* Consulta de Feriados: filtro compacto, grid e paginador legado conectados
 * ao padrao de Produtos sem alterar consulta, ordenacao ou navegacao JSF. */
.app-holiday-search-panel.app-holiday-filter-fields,
.app-holiday-search-panel .app-holiday-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-holiday-filter-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-holiday-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-holiday-filter-fields input[type="text"],
body.app-theme-ruby .conteudo .app-holiday-filter-fields input[type="text"] {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-holiday-filter-fields select,
body.app-theme-ruby .conteudo .app-holiday-filter-fields select {
	box-sizing: border-box;
	width: 320px;
	max-width: 100%;
}

.app-holiday-filter-fields .rich-calendar-input {
	box-sizing: border-box;
	width: 140px !important;
}

.app-holiday-query-results,
.app-holiday-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

.app-holiday-table-scroll {
	border-radius: 6px 6px 0 0;
}

body.app-theme-ugestor .conteudo .app-holiday-table,
body.app-theme-ruby .conteudo .app-holiday-table {
	width: 100% !important;
	min-width: 720px;
}

body.app-theme-ugestor .conteudo .app-holiday-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-holiday-table .rich-table-cell {
	padding: 10px 12px !important;
	vertical-align: middle;
}

.app-holiday-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 78px;
}

.app-holiday-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-holiday-pagination .app-query-pager {
	min-height: 54px;
}

.app-holiday-deletion-modal .app-deletion-confirmation-modal-entity {
	margin-top: 9px;
}

/* Consulta de Tabelas de Preco: preserva filtros, ordenacao, acoes e o
 * rich:datascroller legado, alinhando a composicao a baseline de Produtos. */
.app-price-table-search-panel .app-price-table-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-price-table-filter-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-price-table-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-price-table-filter-fields input.app-price-table-short-input,
body.app-theme-ruby .conteudo .app-price-table-filter-fields input.app-price-table-short-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-price-table-filter-fields input.app-price-table-name-input,
body.app-theme-ruby .conteudo .app-price-table-filter-fields input.app-price-table-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-price-table-filter-fields select,
body.app-theme-ruby .conteudo .app-price-table-filter-fields select {
	box-sizing: border-box;
	width: 320px;
	max-width: 100%;
}

.app-price-table-filter-fields .rich-calendar-input {
	box-sizing: border-box;
	width: 140px !important;
}

.app-price-table-query-results,
.app-price-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

.app-price-table-scroll {
	border-radius: 6px 6px 0 0;
}

body.app-theme-ugestor .conteudo .app-price-table-table,
body.app-theme-ruby .conteudo .app-price-table-table {
	width: 100% !important;
	min-width: 880px;
}

body.app-theme-ugestor .conteudo .app-price-table-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-price-table-table .rich-table-cell {
	padding: 10px 12px !important;
	vertical-align: middle;
}

.app-price-table-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 78px;
}

.app-price-table-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-price-table-pagination .app-query-pager {
	min-height: 54px;
}

.app-price-table-deletion-modal .app-deletion-confirmation-modal-entity {
	margin-top: 9px;
}

@media screen and (max-width: 620px) {
	.app-price-table-filter-fields .name,
	.app-price-table-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-price-table-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-price-table-filter-fields input.app-price-table-short-input,
	body.app-theme-ruby .conteudo .app-price-table-filter-fields input.app-price-table-short-input,
	body.app-theme-ugestor .conteudo .app-price-table-filter-fields input.app-price-table-name-input,
	body.app-theme-ruby .conteudo .app-price-table-filter-fields input.app-price-table-name-input,
	body.app-theme-ugestor .conteudo .app-price-table-filter-fields select,
	body.app-theme-ruby .conteudo .app-price-table-filter-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	body.app-theme-ugestor .conteudo .app-price-table-filter-fields input.app-price-table-short-input,
	body.app-theme-ruby .conteudo .app-price-table-filter-fields input.app-price-table-short-input,
	body.app-theme-ugestor .conteudo .app-price-table-filter-fields input.app-price-table-name-input,
	body.app-theme-ruby .conteudo .app-price-table-filter-fields input.app-price-table-name-input {
		min-height: 44px;
	}

	.app-price-table-filter-fields input[type="radio"] {
		width: 22px;
		height: 22px;
	}

	.app-price-table-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-price-table-pagination .app-query-pager {
		align-items: stretch;
		flex-direction: column;
	}

	.app-price-table-pagination .app-query-pager .pager-summary {
		margin-right: 0;
	}

	.app-price-table-pagination .app-query-legacy-pager {
		display: flex;
		justify-content: center;
	}
}

/* Cadastro de Tabela de Preco: organiza configuracoes, seletores, editores e
 * grids associados sem alterar os contratos JSF/Ajax do formulario legado. */
.app-price-list-page-actions {
	max-width: 720px;
}

.app-price-list-actions-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.app-price-list-form-panel .rich-panel-body {
	padding: 0 !important;
}

.app-price-list-tabs {
	box-sizing: border-box;
	width: 100%;
	margin-top: 0 !important;
}

.app-price-list-config-section,
.app-price-list-tab-content,
.app-price-list-items-workspace,
.app-price-list-period-content {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.app-price-list-config-section {
	max-width: 1040px;
}

.app-price-list-config-section .name,
.app-price-list-selector .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-price-list-config-section .value,
.app-price-list-selector .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-price-list-short-input,
body.app-theme-ruby .conteudo .app-price-list-short-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-price-list-name-input,
body.app-theme-ruby .conteudo .app-price-list-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-price-list-config-section select,
body.app-theme-ruby .conteudo .app-price-list-config-section select {
	box-sizing: border-box;
	width: 360px;
	max-width: 100%;
}

.app-price-list-config-section .rich-calendar-input,
.app-price-list-period-content .rich-calendar-input {
	box-sizing: border-box;
	width: 140px !important;
}

.app-price-list-replication-grid,
.app-price-list-applications-grid {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 760px;
	table-layout: auto;
}

.app-price-list-replication-grid td,
.app-price-list-applications-grid td {
	padding: 4px 10px 4px 0;
	vertical-align: top;
}

.app-price-list-tab-content {
	padding-top: 4px;
}

.app-price-list-selector {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-price-list-search-control {
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
}

.app-price-list-search-control td {
	padding: 0 5px 0 0;
	vertical-align: middle;
}

body.app-theme-ugestor .conteudo .app-price-list-search-input,
body.app-theme-ruby .conteudo .app-price-list-search-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-price-list-search-trigger {
	display: block;
	cursor: pointer;
}

.app-price-list-spinner {
	display: block;
}

.app-price-list-editor-wrapper {
	box-sizing: border-box;
	width: 100%;
	max-width: 620px;
	margin: 14px 0;
}

body.app-theme-ugestor .conteudo .app-price-list-editor-card,
body.app-theme-ruby .conteudo .app-price-list-editor-card {
	box-sizing: border-box;
	width: 100% !important;
	border: 1px solid #d7e0ea;
	border-radius: 7px;
	background: #f8fafc;
}

.app-price-list-editor-close {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 3px;
}

.app-price-list-editor-title {
	display: inline-block;
	max-width: 100%;
	line-height: 1.45;
}

body.app-theme-ugestor .conteudo .app-price-list-money-input,
body.app-theme-ruby .conteudo .app-price-list-money-input {
	box-sizing: border-box;
	width: 160px !important;
	max-width: 100%;
}

.app-price-list-editor-actions,
.app-price-list-period-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 10px;
}

.app-price-list-grid-results {
	box-sizing: border-box;
	width: 100%;
	margin-top: 14px;
}

.app-price-list-table-scroll,
.app-price-list-period-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-price-list-table,
body.app-theme-ruby .conteudo .app-price-list-table {
	width: 100% !important;
	min-width: 860px;
}

body.app-theme-ugestor .conteudo .app-price-list-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-price-list-table .rich-table-cell,
body.app-theme-ugestor .conteudo .app-price-list-period-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-price-list-period-table .rich-table-cell,
body.app-theme-ugestor .conteudo .app-price-list-week-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-price-list-week-table .rich-table-cell {
	padding: 10px 12px !important;
	vertical-align: middle;
}

.app-price-list-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 56px;
}

.app-price-list-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-price-list-inline-pagination {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin-top: -1px;
	padding: 8px 12px;
	border: 1px solid #f0d4c8;
	border-top: 3px solid #ff5a1f;
	border-radius: 0 0 7px 7px;
	background: #fff;
}

.app-price-list-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 12px 0 0;
	padding: 14px;
	border: 1px solid #d7e0ea;
	border-radius: 7px;
	background: #fff;
}

.app-price-list-fieldset legend {
	padding: 0 7px;
	color: #0c2348;
	font-weight: 700;
}

.app-price-list-period-editor-grid,
.app-price-list-week-grid {
	box-sizing: border-box;
	width: 100% !important;
}

/* O panelGrid semanal possui uma unica coluna lógica, mas o conteúdo inclui um
 * grid rolável. O layout automático de tabela propagava a largura mínima do
 * grid interno para o documento inteiro em tablets. */
.app-price-list-week-grid {
	max-width: 100%;
	table-layout: fixed;
}

.app-price-list-week-grid > tbody > tr > td,
.app-price-list-week-grid .value {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
}

.app-price-list-week-grid .value {
	display: block;
}

.app-price-list-period-results,
.app-price-list-week-results {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-price-list-period-table,
body.app-theme-ruby .conteudo .app-price-list-period-table,
body.app-theme-ugestor .conteudo .app-price-list-week-table,
body.app-theme-ruby .conteudo .app-price-list-week-table {
	width: 100% !important;
}

.app-price-list-period-pagination .app-query-pager {
	min-height: 54px;
}

@media screen and (max-width: 720px) {
	.app-price-list-tabs {
		overflow-x: auto;
	}

	.app-price-list-actions-inner {
		align-items: stretch;
		flex-direction: column;
	}

	.app-price-list-actions-inner input[type="submit"] {
		width: 100%;
	}

	.app-price-list-config-section .name,
	.app-price-list-config-section .value,
	.app-price-list-selector .name,
	.app-price-list-selector .value {
		float: none;
		width: 100%;
	}

	.app-price-list-config-section .name,
	.app-price-list-selector .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-price-list-short-input,
	body.app-theme-ruby .conteudo .app-price-list-short-input,
	body.app-theme-ugestor .conteudo .app-price-list-name-input,
	body.app-theme-ruby .conteudo .app-price-list-name-input,
	body.app-theme-ugestor .conteudo .app-price-list-config-section select,
	body.app-theme-ruby .conteudo .app-price-list-config-section select,
	body.app-theme-ugestor .conteudo .app-price-list-search-input,
	body.app-theme-ruby .conteudo .app-price-list-search-input {
		width: 100% !important;
		min-height: 44px;
	}

	body.app-theme-ugestor .conteudo .app-price-list-money-input,
	body.app-theme-ruby .conteudo .app-price-list-money-input,
	body.app-theme-ugestor .conteudo .app-price-list-config-section .rich-calendar-input,
	body.app-theme-ruby .conteudo .app-price-list-config-section .rich-calendar-input,
	body.app-theme-ugestor .conteudo .app-price-list-period-content .rich-calendar-input,
	body.app-theme-ruby .conteudo .app-price-list-period-content .rich-calendar-input {
		min-height: 44px;
	}

	.app-price-list-search-trigger,
	.app-price-list-editor-close input[type="image"],
	.app-price-list-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-price-list-editor-actions input[type="submit"],
	.app-price-list-period-actions input[type="submit"] {
		min-height: 44px;
	}

	.app-price-list-replication-grid,
	.app-price-list-replication-grid tbody,
	.app-price-list-replication-grid tr,
	.app-price-list-replication-grid td,
	.app-price-list-applications-grid,
	.app-price-list-applications-grid tbody,
	.app-price-list-applications-grid tr,
	.app-price-list-applications-grid td {
		display: block;
		width: 100% !important;
	}

	.app-price-list-period-pagination .app-query-pager {
		align-items: stretch;
		flex-direction: column;
	}

	.app-price-list-period-pagination .app-query-pager .pager-summary {
		margin-right: 0;
	}

	.app-price-list-period-pagination .app-query-legacy-pager {
		display: flex;
		justify-content: center;
	}
}

@media screen and (max-width: 620px) {
	.app-holiday-filter-fields .name,
	.app-holiday-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-holiday-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-holiday-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-holiday-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-holiday-filter-fields select,
	body.app-theme-ruby .conteudo .app-holiday-filter-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-holiday-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-holiday-pagination .app-query-pager {
		align-items: stretch;
		flex-direction: column;
	}

	.app-holiday-pagination .app-query-pager .pager-summary {
		margin-right: 0;
	}

	.app-holiday-pagination .app-query-legacy-pager {
		display: flex;
		justify-content: center;
	}
}

/* Cadastro de Feriados: formulario simples com a mesma hierarquia, largura de
 * leitura e ritmo responsivo da baseline de Produtos, sem alterar componentes. */
.app-holiday-form-panel .app-holiday-form-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-holiday-form-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-holiday-form-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-holiday-form-fields input[type="text"],
body.app-theme-ruby .conteudo .app-holiday-form-fields input[type="text"] {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-holiday-form-fields select,
body.app-theme-ruby .conteudo .app-holiday-form-fields select {
	box-sizing: border-box;
	width: 320px;
	max-width: 100%;
}

.app-holiday-form-fields .rich-calendar-input {
	box-sizing: border-box;
	width: 140px !important;
}

body.app-theme-ugestor .conteudo .app-holiday-form-panel .rich-panel-footer,
body.app-theme-ruby .conteudo .app-holiday-form-panel .rich-panel-footer {
	display: none !important;
}

@media screen and (max-width: 620px) {
	.app-holiday-form-fields .name,
	.app-holiday-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-holiday-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-holiday-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-holiday-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-holiday-form-fields select,
	body.app-theme-ruby .conteudo .app-holiday-form-fields select {
		width: 100% !important;
		min-height: 44px;
	}
}

/* Tributacao de produto: formulario fiscal denso organizado em duas colunas
 * no desktop e uma coluna em viewports menores, preservando os decoradores. */
.app-product-tax-form-grid {
	box-sizing: border-box;
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0 4px;
}

.app-product-tax-form-grid > tbody > tr > td {
	box-sizing: border-box;
	width: 50%;
	padding: 0 18px 8px 0;
	vertical-align: top;
}

.app-product-tax-form-grid .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-product-tax-form-grid .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-product-tax-form-grid input[type="text"],
body.app-theme-ruby .conteudo .app-product-tax-form-grid input[type="text"],
body.app-theme-ugestor .conteudo .app-product-tax-form-grid select,
body.app-theme-ruby .conteudo .app-product-tax-form-grid select {
	box-sizing: border-box;
	max-width: 100%;
}

@media screen and (max-width: 1100px) {
	.app-product-tax-form-grid,
	.app-product-tax-form-grid > tbody,
	.app-product-tax-form-grid > tbody > tr,
	.app-product-tax-form-grid > tbody > tr > td {
		display: block;
		width: 100%;
	}

	.app-product-tax-form-grid > tbody > tr > td {
		padding-right: 0;
	}
}

@media screen and (max-width: 760px) {
	body.app-theme-ugestor .conteudo .app-product-tax-form-grid input[type="text"],
	body.app-theme-ruby .conteudo .app-product-tax-form-grid input[type="text"],
	body.app-theme-ugestor .conteudo .app-product-tax-form-grid select,
	body.app-theme-ruby .conteudo .app-product-tax-form-grid select {
		width: 100% !important;
	}
}

/* Grupo de negocio: editor simples e lista associada no mesmo ritmo visual
 * da baseline de Produtos, sem alterar o fluxo de cadastro ou as acoes Ajax. */
.app-business-group-actions,
.app-business-group-actions .app-page-action-group {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px;
}

.app-business-group-actions .app-page-action-group {
	display: contents;
}

.app-business-group-form-fields .name {
	box-sizing: border-box;
	width: 200px;
	padding-right: 12px;
}

.app-business-group-form-fields .value {
	box-sizing: border-box;
	width: calc(100% - 200px);
}

body.app-theme-ugestor .conteudo .app-business-group-form-fields input[type="text"],
body.app-theme-ruby .conteudo .app-business-group-form-fields input[type="text"] {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-business-group-associated-fieldset,
body.app-theme-ruby .conteudo .app-business-group-associated-fieldset {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin: 16px 0 0;
	padding: 14px 0 0;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: none;
}

.app-business-group-associated-fieldset > legend {
	margin-left: 12px;
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-business-group-query-results {
	width: 100%;
	margin-top: 0;
}

body.app-theme-ugestor .conteudo .app-business-group-table,
body.app-theme-ruby .conteudo .app-business-group-table {
	width: 100% !important;
	min-width: 680px;
}

.app-business-group-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 64px;
}

.app-business-group-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

@media screen and (max-width: 760px) {
	.app-business-group-form-fields .name,
	.app-business-group-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-business-group-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-business-group-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-business-group-form-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px;
	}

	.app-business-group-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}
}

/* Consulta de Acoes da Venda: filtro e grid preservam os componentes legados
 * em uma composicao responsiva de consulta. */
.app-negative-sale-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-negative-sale-query-results .app-query-table-scroll,
.app-negative-sale-query-results .app-negative-sale-table {
	box-sizing: border-box;
	width: 100% !important;
}

.app-negative-sale-query-results .app-negative-sale-table {
	min-width: 760px;
}

/* Consulta de Status da Venda: mantem filtro, grid, paginacao e acoes
 * integralmente acessiveis na faixa Smartphone. */
.app-sale-status-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-sale-status-query-results .app-query-table-scroll,
.app-sale-status-query-results .app-sale-status-table {
	box-sizing: border-box;
	width: 100% !important;
}

.app-sale-status-query-results .app-sale-status-table {
	min-width: 640px;
}

@media screen and (max-width: 767px) {
	.app-negative-sale-filter-fields .name,
	.app-negative-sale-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-negative-sale-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-negative-sale-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-negative-sale-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-negative-sale-filter-fields select,
	body.app-theme-ruby .conteudo .app-negative-sale-filter-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-negative-sale-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-sale-status-filter-fields .name,
	.app-sale-status-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-sale-status-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-sale-status-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-sale-status-filter-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px;
	}

	.app-sale-status-filter-fields input[type="checkbox"] {
		width: 22px;
		height: 22px;
	}

	.app-sale-status-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}
}

.app-negative-sale-form-panel .app-negative-sale-form-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-sale-status-form-panel .app-sale-status-form-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

/* Consultas dos tipos de producao: contrato compartilhado para campos,
 * tabela e acoes na faixa Smartphone. */
.app-production-type-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-production-type-query-results .app-query-table-scroll,
.app-production-type-query-results .app-production-type-table {
	box-sizing: border-box;
	width: 100% !important;
}

.app-production-type-query-results .app-production-type-table {
	min-width: 560px;
}

.app-production-type-form-panel .app-production-type-form-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-production-ggf-items-results .app-query-table-scroll,
.app-production-ggf-items-results .app-production-ggf-items-table {
	box-sizing: border-box;
	width: 100% !important;
}

.app-production-ggf-items-results .app-production-ggf-items-table {
	min-width: 560px;
}

@media screen and (max-width: 767px) {
	.app-negative-sale-form-fields .name,
	.app-negative-sale-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-negative-sale-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-negative-sale-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-negative-sale-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-negative-sale-form-fields select,
	body.app-theme-ruby .conteudo .app-negative-sale-form-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-negative-sale-form-fields input[type="checkbox"] {
		width: 22px;
		height: 22px;
	}

	.app-sale-status-form-fields .name,
	.app-sale-status-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-sale-status-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-sale-status-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-sale-status-form-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px;
	}

	.app-sale-status-form-fields input[type="checkbox"] {
		width: 22px;
		height: 22px;
	}

	.app-production-type-filter-fields .name,
	.app-production-type-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-production-type-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-production-type-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-production-type-filter-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px;
	}

	.app-production-type-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-production-type-form-fields .name,
	.app-production-type-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-production-type-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-production-type-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-production-type-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-production-type-form-fields select,
	body.app-theme-ruby .conteudo .app-production-type-form-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-production-type-form-fields input[type="checkbox"] {
		width: 22px;
		height: 22px;
	}

	.app-production-ggf-add-action,
	.app-production-ggf-item-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-production-ggf-add-action {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* Consulta de padroes de producao e venda: composicao visual isolada. */
.app-production-unit-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-production-unit-query-results .app-query-table-scroll,
.app-production-unit-query-results .app-production-unit-table {
	box-sizing: border-box;
	width: 100% !important;
}

.app-production-unit-query-results .app-production-unit-table {
	min-width: 680px;
}

.app-production-unit-composition-items-table {
	min-width: 360px;
}

.app-production-unit-form-panel,
.app-production-unit-form-fields,
.app-production-unit-composition-list,
.app-production-unit-composition-list .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-production-unit-form-fields {
	max-width: 920px;
}

.app-production-unit-composition-edit-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 560px;
}

@media screen and (max-width: 767px) {
	.app-production-unit-filter-fields .name,
	.app-production-unit-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-production-unit-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-production-unit-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-production-unit-filter-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px;
	}

	.app-production-unit-filter-fields input[type="radio"] {
		width: 22px;
		height: 22px;
	}

	.app-production-unit-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-production-unit-form-fields .name,
	.app-production-unit-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-production-unit-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-production-unit-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-production-unit-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-production-unit-form-fields select,
	body.app-theme-ruby .conteudo .app-production-unit-form-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-production-unit-add-panel {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 310px;
	}

	.app-production-unit-composition-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}
}

/* Consulta de caracteristicas padrao: campos, tabela e acoes no Smartphone. */
.app-characteristic-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-characteristic-query-results .app-query-table-scroll,
.app-characteristic-query-results .app-characteristic-table {
	box-sizing: border-box;
	width: 100% !important;
}

.app-characteristic-query-results .app-characteristic-table {
	min-width: 560px;
}

.app-characteristic-form-panel,
.app-characteristic-form-fields,
.app-characteristic-edit-results,
.app-characteristic-edit-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-characteristic-form-fields {
	max-width: 920px;
}

.app-characteristic-edit-results .app-characteristic-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 560px;
}

.app-characteristic-group-form-panel,
.app-characteristic-group-form-fields,
.app-characteristic-group-edit-results,
.app-characteristic-group-edit-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-characteristic-group-form-fields {
	max-width: 920px;
}

.app-characteristic-group-form-fields fieldset {
	box-sizing: border-box;
	width: 100%;
}

.app-characteristic-group-edit-results .app-characteristic-group-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 560px;
}

@media screen and (max-width: 767px) {
	.app-characteristic-filter-fields .name,
	.app-characteristic-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-characteristic-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-characteristic-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-characteristic-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-characteristic-filter-fields select,
	body.app-theme-ruby .conteudo .app-characteristic-filter-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-characteristic-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-characteristic-form-fields .name,
	.app-characteristic-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-characteristic-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-characteristic-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-characteristic-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-characteristic-form-fields select,
	body.app-theme-ruby .conteudo .app-characteristic-form-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-characteristic-remove-action {
		display: inline-flex;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-characteristic-group-form-fields .name,
	.app-characteristic-group-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-characteristic-group-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-characteristic-group-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-characteristic-group-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-characteristic-group-form-fields select,
	body.app-theme-ruby .conteudo .app-characteristic-group-form-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-characteristic-group-remove-action {
		display: inline-flex;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}
}

/* Consulta de Historico Padrao: filtros, periodo e grid no Smartphone. */
.app-standard-history-filter-fields,
.app-standard-history-legend-filter-fields,
.app-standard-history-query-results,
.app-standard-history-query-results .app-query-table-scroll,
.app-standard-history-legend-query-results,
.app-standard-history-legend-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-standard-history-filter-fields,
.app-standard-history-legend-filter-fields {
	max-width: 920px;
}

.app-standard-history-query-results .app-standard-history-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 760px;
}

.app-standard-history-legend-query-results .app-standard-history-legend-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 760px;
}

.app-standard-history-form-panel,
.app-standard-history-form-fields,
.app-standard-history-legend-form-panel,
.app-standard-history-legend-form-fields {
	box-sizing: border-box;
	width: 100% !important;
}

.app-standard-history-form-fields,
.app-standard-history-legend-form-fields {
	max-width: 920px;
}

@media screen and (max-width: 767px) {
	.app-standard-history-filter-fields .name,
	.app-standard-history-filter-fields .value,
	.app-standard-history-legend-filter-fields .name,
	.app-standard-history-legend-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-standard-history-filter-fields .name,
	.app-standard-history-legend-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-standard-history-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-standard-history-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-standard-history-filter-fields select,
	body.app-theme-ruby .conteudo .app-standard-history-filter-fields select,
	body.app-theme-ugestor .conteudo .app-standard-history-legend-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-standard-history-legend-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-standard-history-legend-filter-fields select,
	body.app-theme-ruby .conteudo .app-standard-history-legend-filter-fields select {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-standard-history-date-range,
	.app-standard-history-legend-date-range {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		align-items: center;
		width: 100%;
	}

	.app-standard-history-date-range .rich-calendar-input,
	.app-standard-history-legend-date-range .rich-calendar-input {
		box-sizing: border-box;
		width: calc(100% - 44px) !important;
		min-height: 44px;
	}

	.app-standard-history-row-actions input[type="image"],
	.app-standard-history-legend-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-standard-history-form-fields .name,
	.app-standard-history-form-fields .value,
	.app-standard-history-legend-form-fields .name,
	.app-standard-history-legend-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-standard-history-form-fields .name,
	.app-standard-history-legend-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-standard-history-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-standard-history-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-standard-history-form-fields textarea,
	body.app-theme-ruby .conteudo .app-standard-history-form-fields textarea,
	body.app-theme-ugestor .conteudo .app-standard-history-legend-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-standard-history-legend-form-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	body.app-theme-ugestor .conteudo .app-standard-history-form-fields textarea,
	body.app-theme-ruby .conteudo .app-standard-history-form-fields textarea {
		min-height: 112px;
	}
}

/* Consulta de Lancamento Contabil Padrao no Smartphone. */
.app-standard-entry-filter-fields,
.app-standard-entry-query-results,
.app-standard-entry-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-standard-entry-filter-fields {
	max-width: 920px;
}

.app-standard-entry-query-results .app-standard-entry-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 720px;
}

.app-standard-entry-form-panel,
.app-standard-entry-form-tabs,
.app-standard-entry-basic-tab,
.app-standard-entry-dual-grid,
.app-standard-entry-edit-results,
.app-standard-entry-edit-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-standard-entry-column fieldset,
.app-standard-entry-items-editor fieldset {
	box-sizing: border-box;
	width: 100%;
}

.app-standard-entry-edit-results .app-standard-entry-edit-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 560px;
}

.app-standard-entry-edit-results .app-standard-entry-items-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 760px;
}

@media screen and (max-width: 767px) {
	.app-standard-entry-filter-fields .name,
	.app-standard-entry-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-standard-entry-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-standard-entry-filter-fields select,
	body.app-theme-ruby .conteudo .app-standard-entry-filter-fields select {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-standard-entry-filter-fields .app-control-options td {
		display: block;
		box-sizing: border-box;
		min-height: 44px;
		padding: 8px 0;
	}

	.app-standard-entry-date-range {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		align-items: center;
		width: 100%;
	}

	.app-standard-entry-date-range .rich-calendar-input {
		box-sizing: border-box;
		width: calc(100% - 44px) !important;
		min-height: 44px;
	}

	.app-standard-entry-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-standard-entry-basic-tab .name,
	.app-standard-entry-basic-tab .value,
	.app-standard-entry-items-editor .name,
	.app-standard-entry-items-editor .value,
	.app-standard-entry-column .name,
	.app-standard-entry-column .value {
		float: none;
		width: 100%;
	}

	.app-standard-entry-basic-tab .name,
	.app-standard-entry-items-editor .name,
	.app-standard-entry-column .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-standard-entry-form input[type="text"],
	body.app-theme-ruby .conteudo .app-standard-entry-form input[type="text"],
	body.app-theme-ugestor .conteudo .app-standard-entry-form select,
	body.app-theme-ruby .conteudo .app-standard-entry-form select,
	body.app-theme-ugestor .conteudo .app-standard-entry-form textarea,
	body.app-theme-ruby .conteudo .app-standard-entry-form textarea {
		box-sizing: border-box;
		max-width: 100%;
		min-height: 44px;
	}

	body.app-theme-ugestor .conteudo .app-standard-entry-basic-tab input[type="text"],
	body.app-theme-ruby .conteudo .app-standard-entry-basic-tab input[type="text"],
	body.app-theme-ugestor .conteudo .app-standard-entry-basic-tab textarea,
	body.app-theme-ruby .conteudo .app-standard-entry-basic-tab textarea {
		width: 100% !important;
	}

	.app-standard-entry-dual-grid,
	.app-standard-entry-dual-grid > tbody,
	.app-standard-entry-dual-grid > tbody > tr,
	.app-standard-entry-dual-grid > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-standard-entry-dual-grid > tbody > tr > td + td {
		margin-top: 12px;
	}

	.app-standard-entry-remove-action,
	.app-standard-entry-remove-image {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}
}

/* Consulta de Plano de Contas no Smartphone. */
.app-account-plan-filter-fields,
.app-account-plan-query-results,
.app-account-plan-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-account-plan-filter-fields {
	max-width: 920px;
}

.app-account-plan-query-results .app-account-plan-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 560px;
}

.app-account-plan-form-panel,
.app-account-plan-tabs,
.app-account-plan-form-fields,
.app-account-plan-hierarchy-panel {
	box-sizing: border-box;
	width: 100% !important;
}

.app-account-plan-form-fields {
	max-width: 920px;
}

.app-account-plan-form-fields fieldset {
	box-sizing: border-box;
	width: 100%;
}

.app-account-plan-tree {
	box-sizing: border-box;
	max-width: 100%;
	overflow-x: auto;
}

@media screen and (max-width: 767px) {
	.app-account-plan-filter-fields .name,
	.app-account-plan-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-account-plan-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-account-plan-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-account-plan-filter-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-account-plan-form-fields .name,
	.app-account-plan-form-fields .value,
	.app-account-plan-hierarchy-panel .name,
	.app-account-plan-hierarchy-panel .value {
		float: none;
		width: 100%;
	}

	.app-account-plan-form-fields .name,
	.app-account-plan-hierarchy-panel .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-account-plan-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-account-plan-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-account-plan-form-fields select,
	body.app-theme-ruby .conteudo .app-account-plan-form-fields select,
	body.app-theme-ugestor .conteudo .app-account-plan-hierarchy-panel input[type="text"],
	body.app-theme-ruby .conteudo .app-account-plan-hierarchy-panel input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-account-plan-tree-search-action,
	.app-account-plan-reference-remove-action {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
		cursor: pointer;
	}
}

/* Plano de Contas Referenciais: formulario, upload e arvore no Smartphone. */
.app-reference-account-form-panel,
.app-reference-account-form-fields,
.app-reference-account-hierarchy-panel,
.app-reference-account-upload-result,
.app-reference-account-upload,
.app-reference-account-upload-status {
	box-sizing: border-box;
	width: 100% !important;
}

.app-reference-account-form-fields {
	max-width: 920px;
}

.app-reference-account-tree {
	box-sizing: border-box;
	max-width: 100%;
	overflow-x: auto;
}

@media screen and (max-width: 767px) {
	.app-reference-account-form-fields .name,
	.app-reference-account-form-fields .value,
	.app-reference-account-hierarchy-panel .name,
	.app-reference-account-hierarchy-panel .value {
		float: none;
		width: 100%;
	}

	.app-reference-account-form-fields .name,
	.app-reference-account-hierarchy-panel .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-reference-account-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-reference-account-form-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-reference-account-form-fields select,
	body.app-theme-ruby .conteudo .app-reference-account-form-fields select,
	body.app-theme-ugestor .conteudo .app-reference-account-hierarchy-panel input[type="text"],
	body.app-theme-ruby .conteudo .app-reference-account-hierarchy-panel input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-reference-account-upload-result,
	.app-reference-account-upload-result > tbody,
	.app-reference-account-upload-result > tbody > tr,
	.app-reference-account-upload-result > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-reference-account-upload-result > tbody > tr > td:first-child {
		padding-top: 8px;
		font-weight: 700;
	}

	.app-reference-account-upload input,
	.app-reference-account-upload button,
	.app-reference-account-upload .rich-fileupload-button-border {
		box-sizing: border-box;
		min-height: 44px;
	}

	.app-reference-account-tree-search-action {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
		cursor: pointer;
	}
}

/* Consulta de Indice de Reajuste de Contrato no Smartphone. */
.app-contract-index-filter-fields,
.app-contract-index-query-results,
.app-contract-index-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-contract-index-filter-fields {
	max-width: 920px;
}

.app-contract-index-query-results .app-contract-index-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 520px;
}

.app-contract-index-form-panel,
.app-contract-index-form-fields {
	box-sizing: border-box;
	width: 100% !important;
}

.app-contract-index-form-fields {
	max-width: 920px;
}

@media screen and (max-width: 767px) {
	.app-contract-index-filter-fields .name,
	.app-contract-index-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-contract-index-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-contract-index-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-contract-index-filter-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-contract-index-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-contract-index-form-fields .name,
	.app-contract-index-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-contract-index-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-contract-index-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-contract-index-form-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}
}

/* Consulta De/Para de Itens de Produto no Smartphone. */
.app-product-item-mapping-filter-fields,
.app-product-item-mapping-query-results,
.app-product-item-mapping-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-product-item-mapping-filter-fields {
	max-width: 920px;
}

.app-product-item-mapping-query-results .app-product-item-mapping-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 1050px;
}

.app-product-item-mapping-query-results .app-product-item-mapping-origin-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 520px;
}

.app-product-item-mapping-form-panel,
.app-product-item-mapping-form-layout,
.app-product-item-mapping-destination-fields,
.app-product-item-mapping-origin-panel,
.app-product-item-mapping-origin-fields,
.app-product-item-mapping-selected-results,
.app-product-item-mapping-selected-results .app-query-table-scroll,
.app-product-item-mapping-suggestion-results,
.app-product-item-mapping-suggestion-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-product-item-mapping-selected-results .app-product-item-mapping-selected-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 620px;
}

.app-product-item-mapping-suggestion-results .app-product-item-mapping-suggestion-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 920px;
}

@media screen and (max-width: 767px) {
	.app-product-item-mapping-filter-fields .name,
	.app-product-item-mapping-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-product-item-mapping-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-product-item-mapping-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-product-item-mapping-filter-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-product-item-mapping-export-actions .app-filter-action-icon,
	.app-product-item-mapping-row-actions input[type="image"],
	.app-product-item-mapping-form-row-actions a {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-product-item-mapping-form-row-actions a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.app-product-item-mapping-form-row-actions img {
		box-sizing: border-box;
		width: 24px !important;
		height: 24px !important;
		padding: 0 !important;
	}

	.app-product-item-mapping-form-layout,
	.app-product-item-mapping-form-layout > tbody,
	.app-product-item-mapping-form-layout > tbody > tr,
	.app-product-item-mapping-form-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	.app-product-item-mapping-destination-fields .name,
	.app-product-item-mapping-destination-fields .value,
	.app-product-item-mapping-origin-fields .name,
	.app-product-item-mapping-origin-fields .value {
		float: none;
		width: 100%;
	}

	.app-product-item-mapping-destination-fields .name,
	.app-product-item-mapping-origin-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-product-item-mapping-form input[type="text"],
	body.app-theme-ruby .conteudo .app-product-item-mapping-form input[type="text"],
	body.app-theme-ugestor .conteudo .app-product-item-mapping-form select,
	body.app-theme-ruby .conteudo .app-product-item-mapping-form select {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-product-item-mapping-search-action {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		margin-top: 8px;
	}
}

/* Consulta De/Para de Itens de Servico no Smartphone. */
.app-service-item-mapping-filter-fields,
.app-service-item-mapping-query-results,
.app-service-item-mapping-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-service-item-mapping-filter-fields {
	max-width: 920px;
}

.app-service-item-mapping-query-results .app-service-item-mapping-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 1050px;
}

.app-service-item-mapping-query-results .app-service-item-mapping-origin-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 520px;
}

.app-service-item-mapping-form-panel,
.app-service-item-mapping-form-layout,
.app-service-item-mapping-destination-fields,
.app-service-item-mapping-origin-panel,
.app-service-item-mapping-origin-fields,
.app-service-item-mapping-selected-results,
.app-service-item-mapping-selected-results .app-query-table-scroll,
.app-service-item-mapping-suggestion-results,
.app-service-item-mapping-suggestion-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-service-item-mapping-selected-results .app-service-item-mapping-selected-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 620px;
}

.app-service-item-mapping-suggestion-results .app-service-item-mapping-suggestion-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 920px;
}

@media screen and (max-width: 767px) {
	.app-service-item-mapping-filter-fields .name,
	.app-service-item-mapping-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-service-item-mapping-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-service-item-mapping-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-service-item-mapping-filter-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-service-item-mapping-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-service-item-mapping-form-row-actions a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-service-item-mapping-form-row-actions img {
		box-sizing: border-box;
		width: 24px !important;
		height: 24px !important;
		padding: 0 !important;
	}

	.app-service-item-mapping-form-layout,
	.app-service-item-mapping-form-layout > tbody,
	.app-service-item-mapping-form-layout > tbody > tr,
	.app-service-item-mapping-form-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	.app-service-item-mapping-destination-fields .name,
	.app-service-item-mapping-destination-fields .value,
	.app-service-item-mapping-origin-fields .name,
	.app-service-item-mapping-origin-fields .value {
		float: none;
		width: 100%;
	}

	.app-service-item-mapping-destination-fields .name,
	.app-service-item-mapping-origin-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-service-item-mapping-form input[type="text"],
	body.app-theme-ruby .conteudo .app-service-item-mapping-form input[type="text"],
	body.app-theme-ugestor .conteudo .app-service-item-mapping-form select,
	body.app-theme-ruby .conteudo .app-service-item-mapping-form select {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-service-item-mapping-search-action {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		margin-top: 8px;
	}
}

/* Consulta de Eventos Financeiros por Conta no Smartphone. */
.app-financial-event-account-filter-fields,
.app-financial-event-account-query-results,
.app-financial-event-account-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-financial-event-account-filter-fields {
	max-width: 920px;
}

.app-financial-event-account-query-results .app-financial-event-account-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 1320px;
}

.app-financial-event-account-table td,
.app-financial-event-account-table th {
	overflow-wrap: anywhere;
}

.app-financial-event-account-form-panel,
.app-financial-event-account-event-fields,
.app-financial-event-account-tabs,
.app-financial-event-account-tree,
.app-financial-event-account-selection-fields,
.app-financial-event-account-selected-results,
.app-financial-event-account-selected-results .app-query-table-scroll,
.app-financial-event-account-ledger-fields,
.app-financial-event-account-ledger-layout {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
}

.app-financial-event-account-selected-results .app-financial-event-account-selected-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 620px;
}

@media screen and (max-width: 767px) {
	.app-financial-event-account-filter-fields .name,
	.app-financial-event-account-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-financial-event-account-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-financial-event-account-filter-fields select,
	body.app-theme-ruby .conteudo .app-financial-event-account-filter-fields select {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-financial-event-account-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-financial-event-account-event-fields .name,
	.app-financial-event-account-event-fields .value,
	.app-financial-event-account-selection-fields .name,
	.app-financial-event-account-selection-fields .value {
		float: none;
		width: 100%;
	}

	.app-financial-event-account-event-fields .name,
	.app-financial-event-account-selection-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-financial-event-account-form input[type="text"],
	body.app-theme-ruby .conteudo .app-financial-event-account-form input[type="text"],
	body.app-theme-ugestor .conteudo .app-financial-event-account-form select,
	body.app-theme-ruby .conteudo .app-financial-event-account-form select {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-financial-event-account-form-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-financial-event-account-ledger-layout,
	.app-financial-event-account-ledger-layout > tbody,
	.app-financial-event-account-ledger-layout > tbody > tr,
	.app-financial-event-account-ledger-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	.app-financial-event-account-ledger-fields fieldset {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.app-financial-event-account-ledger-fields input[type="checkbox"] {
		box-sizing: content-box;
		width: 20px;
		height: 20px;
		min-width: 20px;
		min-height: 20px;
		padding: 12px;
	}
}

/* Consulta de Tipos de Operacao por Conta Financeira no Smartphone. */
.app-operation-account-filter-fields,
.app-operation-account-query-results,
.app-operation-account-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-operation-account-filter-fields {
	max-width: 920px;
}

.app-operation-account-query-results .app-operation-account-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 820px;
}

.app-operation-account-form-panel,
.app-operation-account-type-fields,
.app-operation-account-tabs,
.app-operation-account-tree,
.app-operation-account-selection-fields,
.app-operation-account-selected-results,
.app-operation-account-selected-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
}

.app-operation-account-selected-results .app-operation-account-selected-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 560px;
}

@media screen and (max-width: 767px) {
	.app-operation-account-filter-fields .name,
	.app-operation-account-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-operation-account-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-operation-account-filter-fields select,
	body.app-theme-ruby .conteudo .app-operation-account-filter-fields select {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-operation-account-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-operation-account-type-fields .name,
	.app-operation-account-type-fields .value,
	.app-operation-account-selection-fields .name,
	.app-operation-account-selection-fields .value {
		float: none;
		width: 100%;
	}

	.app-operation-account-type-fields .name,
	.app-operation-account-selection-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-operation-account-form input[type="text"],
	body.app-theme-ruby .conteudo .app-operation-account-form input[type="text"],
	body.app-theme-ugestor .conteudo .app-operation-account-form select,
	body.app-theme-ruby .conteudo .app-operation-account-form select {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-operation-account-form-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}
}

/* Consulta de Projetos no Smartphone. */
.app-project-filter-fields,
.app-project-query-results,
.app-project-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-project-filter-fields {
	max-width: 920px;
}

.app-project-query-results .app-project-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 1480px;
}

.app-project-table td,
.app-project-table th {
	overflow-wrap: anywhere;
}

@media screen and (max-width: 767px) {
	.app-project-filter-fields .name,
	.app-project-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-project-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-project-filter-fields select,
	body.app-theme-ruby .conteudo .app-project-filter-fields select {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
	}

	.app-project-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}
}

/* Consulta de Veiculos no Smartphone. */
.app-vehicle-filter-fields,
.app-vehicle-query-results,
.app-vehicle-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-vehicle-filter-fields {
	max-width: 920px;
}

.app-vehicle-query-results .app-vehicle-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 980px;
}

@media screen and (max-width: 767px) {
	.app-vehicle-filter-fields .name,
	.app-vehicle-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-vehicle-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-vehicle-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-vehicle-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-vehicle-filter-fields select,
	body.app-theme-ruby .conteudo .app-vehicle-filter-fields select {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-vehicle-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}
}

.app-vehicle-form-panel,
.app-vehicle-form-tabs,
.app-vehicle-basic-fields,
.app-vehicle-owner-fields,
.app-vehicle-financial-tree,
.app-vehicle-financial-fields,
.app-vehicle-financial-results,
.app-vehicle-financial-results .app-query-table-scroll,
.app-vehicle-accounting-fields {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
}

.app-vehicle-financial-results .app-vehicle-financial-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 620px;
}

.app-vehicle-accounting-fieldset {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

@media screen and (max-width: 767px) {
	.app-vehicle-form .name,
	.app-vehicle-form .value {
		float: none;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	.app-vehicle-form .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-vehicle-form input[type="text"],
	body.app-theme-ruby .conteudo .app-vehicle-form input[type="text"],
	body.app-theme-ugestor .conteudo .app-vehicle-form select,
	body.app-theme-ruby .conteudo .app-vehicle-form select {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-vehicle-form-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}
}

/* Consulta de Rotas no Smartphone. */
.app-route-filter-fields,
.app-route-query-results,
.app-route-query-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
}

.app-route-filter-fields {
	max-width: 920px;
}

.app-route-query-results .app-route-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 560px;
}

@media screen and (max-width: 767px) {
	.app-route-filter-fields .name,
	.app-route-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-route-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-route-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-route-filter-fields input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-route-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}
}

.app-route-form-panel,
.app-route-form-fields,
.app-route-client-fields,
.app-route-client-results,
.app-route-client-results .app-query-table-scroll {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
}

.app-route-client-fieldset,
.app-route-client-list-fieldset {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.app-route-client-results .app-route-client-table {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 780px;
}

@media screen and (max-width: 767px) {
	.app-route-form-fields .name,
	.app-route-form-fields .value,
	.app-route-client-fields .name,
	.app-route-client-fields .value {
		float: none;
		width: 100%;
	}

	.app-route-form-fields .name,
	.app-route-client-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-route-form input[type="text"],
	body.app-theme-ruby .conteudo .app-route-form input[type="text"] {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-route-form-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}
}

/* Manutencao de Projeto no Smartphone. */
.app-project-form-panel,
.app-project-form-tabs,
.app-project-form-fields,
.app-project-negotiation-fields,
.app-project-option-fields,
.app-project-item-tabs,
.app-project-item-section,
.app-project-management-fields,
.app-project-tree,
.app-project-selection-fields,
.app-project-financial-section,
.app-project-accounting-fields,
.app-project-grid-scroll {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
}

.app-project-grid-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.app-project-grid-scroll .rich-table {
	box-sizing: border-box;
	min-width: 560px;
}

.app-project-product-results .rich-table {
	min-width: 1480px;
}

.app-project-service-results .rich-table {
	min-width: 900px;
}

.app-project-item-editor {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 700px;
}

.app-project-financial-fieldset,
.app-project-accounting-fieldset {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.app-project-payment-options {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

@media screen and (max-width: 767px) {
	.app-project-form .name,
	.app-project-form .value {
		float: none;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	.app-project-form .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-project-form input[type="text"],
	body.app-theme-ruby .conteudo .app-project-form input[type="text"],
	body.app-theme-ugestor .conteudo .app-project-form select,
	body.app-theme-ruby .conteudo .app-project-form select,
	body.app-theme-ugestor .conteudo .app-project-form textarea,
	body.app-theme-ruby .conteudo .app-project-form textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	.app-project-options-grid,
	.app-project-options-grid > tbody,
	.app-project-options-grid > tbody > tr,
	.app-project-options-grid > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	.app-project-form input[type="checkbox"] {
		box-sizing: content-box;
		width: 20px;
		height: 20px;
		min-width: 20px;
		min-height: 20px;
		padding: 12px;
	}

	.app-project-grid-scroll input[type="image"],
	.app-project-grid-scroll a img {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px;
		min-height: 44px;
		padding: 10px !important;
	}

	.app-project-item-section fieldset {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
}

/* Consulta de padroes de producao e venda: composicao visual isolada. */
.app-ppv-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-ppv-filter-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-ppv-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo input.app-ppv-code-input,
body.app-theme-ruby .conteudo input.app-ppv-code-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo input.app-ppv-name-input,
body.app-theme-ruby .conteudo input.app-ppv-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-ppv-status-options {
	border-collapse: collapse;
}

.app-ppv-status-options td {
	padding: 2px 14px 2px 0;
}

.app-ppv-query-results {
	width: 100%;
	margin-top: 0;
}

.app-ppv-query-tabs {
	box-sizing: border-box;
	width: 100%;
}

.app-ppv-query-results .app-ppv-table-scroll {
	border: 0;
	border-radius: 0;
}

body.app-theme-ugestor .conteudo .app-ppv-table,
body.app-theme-ruby .conteudo .app-ppv-table {
	width: 100% !important;
	min-width: 760px;
}

.app-ppv-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 70px;
}

.app-ppv-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

body.app-theme-ugestor .conteudo .app-ppv-nested-table,
body.app-theme-ruby .conteudo .app-ppv-nested-table {
	width: 100% !important;
	min-width: 360px;
	margin: 0 !important;
	box-shadow: none;
}

body.app-theme-ugestor .conteudo .app-ppv-nested-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-ppv-nested-table .rich-table-cell {
	padding: 7px 9px !important;
}

.app-ppv-nested-pagination {
	display: flex;
	justify-content: center;
	padding-top: 6px;
}

.app-ppv-nested-pagination .rich-datascr {
	margin: 0 !important;
}

.app-ppv-query-summary {
	display: flex;
	align-items: center;
	min-height: 58px;
	padding: 10px 14px;
}

.app-ppv-query-summary .pager-summary {
	margin: 0;
	padding: 8px 12px;
	border-left: 3px solid #ff4f1f;
	border-radius: 4px;
	background: #fff7f3;
	color: #10213d;
}

@media screen and (max-width: 760px) {
	.app-ppv-filter-fields .name,
	.app-ppv-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-ppv-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo input.app-ppv-code-input,
	body.app-theme-ruby .conteudo input.app-ppv-code-input,
	body.app-theme-ugestor .conteudo input.app-ppv-name-input,
	body.app-theme-ruby .conteudo input.app-ppv-name-input {
		width: 100% !important;
		min-height: 44px;
	}

	.app-ppv-status-options input[type="radio"] {
		width: 22px;
		height: 22px;
	}

	.app-ppv-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}
}

/* Padrao de producao e venda: formulario, composicoes e grids associados. */
.app-ppv-form-actions {
	max-width: 560px;
}

body.app-theme-ugestor .conteudo .app-ppv-form-panel,
body.app-theme-ruby .conteudo .app-ppv-form-panel {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-ppv-form-tabs,
body.app-theme-ruby .conteudo .app-ppv-form-tabs {
	box-sizing: border-box;
	width: 100%;
}

.app-ppv-basic-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-ppv-basic-fields .name,
.app-ppv-editor-card .name,
.app-ppv-measures-fieldset .name {
	box-sizing: border-box;
	width: 215px;
	padding-right: 12px;
}

.app-ppv-basic-fields .value,
.app-ppv-editor-card .value,
.app-ppv-measures-fieldset .value {
	box-sizing: border-box;
	width: calc(100% - 215px);
}

body.app-theme-ugestor .conteudo .app-ppv-basic-fields input[type="text"],
body.app-theme-ruby .conteudo .app-ppv-basic-fields input[type="text"],
body.app-theme-ugestor .conteudo .app-ppv-basic-fields select,
body.app-theme-ruby .conteudo .app-ppv-basic-fields select,
body.app-theme-ugestor .conteudo .app-ppv-editor-card input[type="text"],
body.app-theme-ruby .conteudo .app-ppv-editor-card input[type="text"],
body.app-theme-ugestor .conteudo .app-ppv-editor-card select,
body.app-theme-ruby .conteudo .app-ppv-editor-card select,
body.app-theme-ugestor .conteudo .app-ppv-measures-fieldset input[type="text"],
body.app-theme-ruby .conteudo .app-ppv-measures-fieldset input[type="text"] {
	box-sizing: border-box;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-ppv-basic-fields input[id$="dsCodigoInput"],
body.app-theme-ruby .conteudo .app-ppv-basic-fields input[id$="dsCodigoInput"],
body.app-theme-ugestor .conteudo .app-ppv-basic-fields input[id$="qtdepecasInput"],
body.app-theme-ruby .conteudo .app-ppv-basic-fields input[id$="qtdepecasInput"] {
	width: 220px !important;
}

body.app-theme-ugestor .conteudo .app-ppv-basic-fields input[id$="nomProdutoInput"],
body.app-theme-ruby .conteudo .app-ppv-basic-fields input[id$="nomProdutoInput"],
body.app-theme-ugestor .conteudo .app-ppv-product-card input[id$="nomeItemInput"],
body.app-theme-ruby .conteudo .app-ppv-product-card input[id$="nomeItemInput"] {
	width: 520px !important;
}

body.app-theme-ugestor .conteudo .app-ppv-basic-fields select,
body.app-theme-ruby .conteudo .app-ppv-basic-fields select,
body.app-theme-ugestor .conteudo .app-ppv-editor-card select,
body.app-theme-ruby .conteudo .app-ppv-editor-card select {
	width: 320px;
}

.app-ppv-product-workspace,
.app-ppv-service-workspace,
.app-ppv-product-editor,
.app-ppv-service-editor,
.app-ppv-product-editor-content,
.app-ppv-service-editor-content {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

body.app-theme-ugestor .conteudo .app-ppv-product-editor-layout,
body.app-theme-ruby .conteudo .app-ppv-product-editor-layout {
	box-sizing: border-box;
	width: 100% !important;
	table-layout: fixed;
}

.app-ppv-product-editor-layout > tbody > tr > td {
	box-sizing: border-box;
	vertical-align: top;
}

.app-ppv-product-editor-layout > tbody > tr > td:first-child {
	width: 72%;
	padding-right: 16px;
}

.app-ppv-product-editor-layout > tbody > tr > td:last-child {
	width: 28%;
}

body.app-theme-ugestor .conteudo .app-ppv-editor-card,
body.app-theme-ruby .conteudo .app-ppv-editor-card {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	border-color: #d8e3ed;
	box-shadow: none;
}

body.app-theme-ugestor .conteudo .app-ppv-fieldset,
body.app-theme-ruby .conteudo .app-ppv-fieldset {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin: 10px 0 0;
	padding: 14px;
	border-color: #d8e3ed;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: none;
}

.app-ppv-fieldset > legend {
	padding: 0 6px;
	color: #10213d;
	font-size: 13px;
	font-weight: bold;
}

.app-ppv-proportion-fieldset {
	max-width: 620px;
}

.app-ppv-linked-services-fieldset {
	padding-right: 0 !important;
	padding-left: 0 !important;
	overflow: hidden;
}

.app-ppv-linked-services-fieldset > legend {
	margin-left: 12px;
}

.app-ppv-linked-services-filter {
	padding-right: 14px;
	padding-left: 14px;
}

.app-ppv-editor-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #dce5ed;
}

body.app-theme-ugestor .conteudo .app-ppv-editor-actions input,
body.app-theme-ruby .conteudo .app-ppv-editor-actions input {
	min-width: 110px;
	margin: 0 !important;
}

.app-ppv-form-results,
.app-ppv-linked-services-results {
	box-sizing: border-box;
	width: 100%;
	margin-top: 14px;
}

.app-ppv-linked-services-results {
	margin-top: 10px;
}

body.app-theme-ugestor .conteudo .app-ppv-form-table,
body.app-theme-ruby .conteudo .app-ppv-form-table {
	width: 100% !important;
}

body.app-theme-ugestor .conteudo .app-ppv-product-table,
body.app-theme-ruby .conteudo .app-ppv-product-table {
	min-width: 1120px;
}

body.app-theme-ugestor .conteudo .app-ppv-service-table,
body.app-theme-ruby .conteudo .app-ppv-service-table {
	min-width: 760px;
}

body.app-theme-ugestor .conteudo .app-ppv-linked-services-table,
body.app-theme-ruby .conteudo .app-ppv-linked-services-table {
	min-width: 820px;
}

body.app-theme-ugestor .conteudo .app-ppv-form-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-ppv-form-table .rich-table-cell {
	padding: 9px 10px !important;
	vertical-align: middle;
}

body.app-theme-ugestor .conteudo .app-ppv-form-nested-table,
body.app-theme-ruby .conteudo .app-ppv-form-nested-table {
	width: 100% !important;
	min-width: 420px;
	margin: 0 !important;
	box-shadow: none;
}

body.app-theme-ugestor .conteudo .app-ppv-form-nested-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-ppv-form-nested-table .rich-table-cell {
	padding: 7px 8px !important;
}

.app-ppv-measure-values {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px;
	width: auto !important;
}

.app-ppv-measure-values input[type="text"] {
	margin: 0 !important;
}

.app-ppv-inline-pagination {
	min-height: 54px !important;
}

.app-ppv-proportion-layout,
.app-ppv-service-proportion-layout {
	box-sizing: border-box;
	width: 100%;
}

@media screen and (max-width: 1100px) {
	body.app-theme-ugestor .conteudo .app-ppv-product-editor-layout,
	body.app-theme-ruby .conteudo .app-ppv-product-editor-layout,
	.app-ppv-product-editor-layout > tbody,
	.app-ppv-product-editor-layout > tbody > tr,
	.app-ppv-product-editor-layout > tbody > tr > td {
		display: block;
		width: 100% !important;
	}

	.app-ppv-product-editor-layout > tbody > tr > td:first-child {
		padding-right: 0;
	}

	.app-ppv-measures-fieldset {
		margin-top: 14px !important;
	}
}

@media screen and (max-width: 760px) {
	.app-ppv-basic-fields .name,
	.app-ppv-basic-fields .value,
	.app-ppv-editor-card .name,
	.app-ppv-editor-card .value,
	.app-ppv-measures-fieldset .name,
	.app-ppv-measures-fieldset .value {
		float: none;
		width: 100%;
	}

	.app-ppv-basic-fields .name,
	.app-ppv-editor-card .name,
	.app-ppv-measures-fieldset .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-ppv-basic-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-ppv-basic-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-ppv-basic-fields select,
	body.app-theme-ruby .conteudo .app-ppv-basic-fields select,
	body.app-theme-ugestor .conteudo .app-ppv-editor-card input[type="text"],
	body.app-theme-ruby .conteudo .app-ppv-editor-card input[type="text"],
	body.app-theme-ugestor .conteudo .app-ppv-editor-card select,
	body.app-theme-ruby .conteudo .app-ppv-editor-card select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-ppv-form-panel input[type="checkbox"] {
		width: 22px;
		height: 22px;
	}

	.app-ppv-proportion-layout > tbody,
	.app-ppv-proportion-layout > tbody > tr,
	.app-ppv-proportion-layout > tbody > tr > td,
	.app-ppv-service-proportion-layout > tbody,
	.app-ppv-service-proportion-layout > tbody > tr,
	.app-ppv-service-proportion-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-ppv-form-panel .app-ppv-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-ppv-form-panel .app-ppv-row-actions a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 44px;
		height: 44px;
	}

	.app-ppv-form-panel .app-ppv-row-actions a img {
		width: 20px;
		height: 20px;
	}

	.app-ppv-editor-actions,
	.app-ppv-editor-actions input {
		width: 100% !important;
	}
}

/* Consulta compartilhada de Pessoas, Empregados e Socios. */
.app-person-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-person-filter-fields .name {
	box-sizing: border-box;
	width: 220px;
	padding-right: 12px;
}

.app-person-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 220px);
}

.app-person-query-results,
.app-person-query-tabs {
	box-sizing: border-box;
	width: 100%;
}

.app-person-query-results .app-person-table-scroll {
	border: 0;
	border-radius: 0;
}

body.app-theme-ugestor .conteudo .app-person-table,
body.app-theme-ruby .conteudo .app-person-table {
	width: 100% !important;
	min-width: 980px;
}

body.app-theme-ugestor .conteudo .app-person-basic-table,
body.app-theme-ruby .conteudo .app-person-basic-table {
	min-width: 1380px;
}

body.app-theme-ugestor .conteudo .app-person-accounting-table,
body.app-theme-ruby .conteudo .app-person-accounting-table,
body.app-theme-ugestor .conteudo .app-person-tax-table,
body.app-theme-ruby .conteudo .app-person-tax-table {
	min-width: 1240px;
}

body.app-theme-ugestor .conteudo .app-person-financial-table,
body.app-theme-ruby .conteudo .app-person-financial-table {
	min-width: 1120px;
}

body.app-theme-ugestor .conteudo .app-person-nested-table,
body.app-theme-ruby .conteudo .app-person-nested-table {
	width: 100% !important;
	min-width: 320px;
	margin: 0 !important;
	box-shadow: none;
}

.app-person-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 132px;
}

@media screen and (max-width: 767px) {
	.app-person-filter-fields .name,
	.app-person-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-person-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-person-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-person-filter-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px;
	}

	.app-person-filter-fields input[type="checkbox"],
	.app-person-filter-fields input[type="radio"] {
		width: 22px;
		height: 22px;
	}

	.app-person-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}
}

/* Manutencao compartilhada de Pessoas, Empregados e Socios. */
.app-person-form-panel,
.app-person-form-tabs {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.app-person-form-panel fieldset {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

.app-person-form-grid {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
}

@media screen and (max-width: 767px) {
	.app-person-form-tabs .rich-tabpanel-content {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow-x: visible;
	}

	.app-person-form-grid,
	.app-person-form-grid > tbody,
	.app-person-form-grid > tbody > tr,
	.app-person-form-grid > tbody > tr > td {
		box-sizing: border-box;
		display: block;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
	}

	.app-person-form-grid > tbody > tr > td + td {
		margin-top: 12px;
	}

	body.app-theme-ugestor .conteudo .app-person-form-panel input[type="text"],
	body.app-theme-ugestor .conteudo .app-person-form-panel input[type="password"],
	body.app-theme-ugestor .conteudo .app-person-form-panel select,
	body.app-theme-ugestor .conteudo .app-person-form-panel textarea,
	body.app-theme-ruby .conteudo .app-person-form-panel input[type="text"],
	body.app-theme-ruby .conteudo .app-person-form-panel input[type="password"],
	body.app-theme-ruby .conteudo .app-person-form-panel select,
	body.app-theme-ruby .conteudo .app-person-form-panel textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 44px;
		font-size: 16px;
	}

	body.app-theme-ugestor .conteudo .app-person-form-panel .rich-calendar-exterior,
	body.app-theme-ruby .conteudo .app-person-form-panel .rich-calendar-exterior {
		width: auto !important;
		max-width: calc(100vw - 32px);
	}

	.app-person-date-control {
		box-sizing: border-box;
		max-width: 100%;
	}

	.app-person-registration-types,
	.app-person-type-options,
	.app-person-registration-types > tbody,
	.app-person-type-options > tbody,
	.app-person-registration-types > tbody > tr,
	.app-person-type-options > tbody > tr {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
	}

	.app-person-registration-types > tbody > tr,
	.app-person-type-options > tbody > tr {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.app-person-registration-types > tbody > tr > td,
	.app-person-type-options > tbody > tr > td {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		min-width: 0;
		min-height: 44px;
		margin: 0 !important;
		padding: 8px !important;
		border: 1px solid #d7e2ea;
		border-radius: 6px;
		background: #ffffff;
	}

	.app-person-registration-types input[type="checkbox"],
	.app-person-type-options input[type="radio"] {
		box-sizing: content-box;
		flex: 0 0 auto;
		margin: 0 8px 0 0 !important;
	}

	.app-person-registration-types label,
	.app-person-type-options label {
		min-width: 0;
		margin: 0 !important;
		line-height: 1.3;
		white-space: normal;
		overflow-wrap: anywhere;
		cursor: pointer;
	}

	.app-person-form-panel input[type="checkbox"],
	.app-person-form-panel input[type="radio"] {
		width: 22px;
		height: 22px;
	}

	body.app-theme-ugestor .conteudo .app-person-form-panel .rich-table,
	body.app-theme-ruby .conteudo .app-person-form-panel .rich-table {
		min-width: 720px;
	}

	.app-person-form-panel .rich-table input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}
}

@media screen and (min-width: 390px) and (max-width: 767px) {
	.app-person-registration-types > tbody > tr,
	.app-person-type-options > tbody > tr {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Consulta de Grupos de Pessoa. */
.app-person-group-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

body.app-theme-ugestor .conteudo .app-person-group-filter-fields .app-control-name,
body.app-theme-ruby .conteudo .app-person-group-filter-fields .app-control-name {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-person-group-query-results,
.app-person-group-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-person-group-table,
body.app-theme-ruby .conteudo .app-person-group-table {
	width: 100% !important;
	min-width: 640px;
}

.app-person-group-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 132px;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .conteudo .app-person-group-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-person-group-filter-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px;
	}

	.app-person-group-row-actions input[type="image"] {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}
}

/* Manutencao de Grupos de Pessoa. */
.app-person-group-form-panel,
.app-person-group-form-fields {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

body.app-theme-ugestor .conteudo .app-person-group-form-fields .app-control-name,
body.app-theme-ruby .conteudo .app-person-group-form-fields .app-control-name {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .conteudo .app-person-group-form-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-person-group-form-fields input[type="text"] {
		width: 100% !important;
		min-height: 44px;
	}
}

/* Consulta de Grupos de Produto: preserva filtro, ordenacao, permissoes,
 * paginacao backend e modal Ajax, aplicando a composicao homologada. */
.app-product-group-search-panel .app-product-group-filter-fields,
.app-service-group-search-panel .app-service-group-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-product-group-filter-fields .name,
.app-service-group-filter-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-product-group-filter-fields .value,
.app-service-group-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-product-group-name-input,
body.app-theme-ruby .conteudo .app-product-group-name-input,
body.app-theme-ugestor .conteudo .app-service-group-name-input,
body.app-theme-ruby .conteudo .app-service-group-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-product-group-query-results,
.app-product-group-table-scroll,
.app-service-group-query-results,
.app-service-group-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-group-table,
body.app-theme-ruby .conteudo .app-product-group-table,
body.app-theme-ugestor .conteudo .app-service-group-table,
body.app-theme-ruby .conteudo .app-service-group-table {
	width: 100% !important;
	min-width: 680px;
}

body.app-theme-ugestor .conteudo .app-product-group-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-product-group-table .rich-table-cell,
body.app-theme-ugestor .conteudo .app-service-group-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-service-group-table .rich-table-cell {
	padding: 10px 12px !important;
	vertical-align: middle;
}

.app-product-group-row-actions,
.app-service-group-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-width: 78px;
}

.app-product-group-row-actions input[type="image"],
.app-service-group-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

body.app-theme-ugestor .conteudo .app-product-group-table .rich-table-footer,
body.app-theme-ruby .conteudo .app-product-group-table .rich-table-footer {
	padding: 0 !important;
	border: 0 !important;
	background: #ffffff !important;
	background-image: none !important;
}

.app-product-group-pagination {
	margin: -1px !important;
	border-radius: 0 0 7px 7px !important;
}

.app-product-group-pagination .app-query-pager {
	min-height: 54px;
}

.app-product-group-deletion-modal .app-deletion-confirmation-modal-entity {
	margin-top: 9px;
}

body.app-theme-ugestor .conteudo .app-service-group-code-input,
body.app-theme-ruby .conteudo .app-service-group-code-input {
	box-sizing: border-box;
	width: 280px !important;
	max-width: 100%;
}

.app-service-group-deletion-modal .app-deletion-confirmation-modal-entity {
	margin-top: 9px;
}

/* Consulta de Servicos: mantem filtros, abas e seis visoes do grid dentro da
 * viewport sem alterar os dados ou as acoes legadas. */
.app-service-search-panel,
.app-service-filter-fields,
.app-service-query-results,
.app-service-query-tabs,
.app-service-table-scroll {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.app-service-search-panel {
	max-width: 920px;
}

.app-service-filter-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-service-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-service-filter-fields input[type="text"],
body.app-theme-ruby .conteudo .app-service-filter-fields input[type="text"],
body.app-theme-ugestor .conteudo .app-service-filter-fields select,
body.app-theme-ruby .conteudo .app-service-filter-fields select {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-service-table,
body.app-theme-ruby .conteudo .app-service-table {
	width: 100% !important;
	min-width: 980px;
}

@media screen and (max-width: 767px) {
	.app-service-filter-fields .name,
	.app-service-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-service-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-service-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-service-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-service-filter-fields select,
	body.app-theme-ruby .conteudo .app-service-filter-fields select {
		width: 100% !important;
		min-height: 44px;
	}

	.app-service-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
		object-fit: contain;
	}

	.app-service-query-results .app-query-pager {
		align-items: stretch;
		flex-direction: column;
	}

	.app-service-query-results .app-query-pager .pager-summary {
		margin-right: 0;
	}
}

/* Manutencao de Servicos: limita o formulario legado e seus oito paineis ao
 * espaco util do Smartphone, mantendo a rolagem interna de tabelas extensas. */
.app-service-maintenance-form,
.app-service-maintenance-panel,
.app-service-maintenance-tabs {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.app-service-accounting-fiscal-layout {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	table-layout: fixed;
}

.app-service-accounting-fiscal-layout > tbody > tr > td {
	box-sizing: border-box;
	min-width: 0;
}

@media screen and (max-width: 1199px) {
	#cadastrarServicoForm .coluna1-noborder,
	#cadastrarServicoForm .coluna2-noborder,
	.app-service-accounting-fiscal-layout,
	.app-service-accounting-fiscal-layout > tbody,
	.app-service-accounting-fiscal-layout > tbody > tr {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}

	#cadastrarServicoForm .coluna1-noborder,
	#cadastrarServicoForm .coluna2-noborder,
	.app-service-accounting-fiscal-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}

	.app-service-accounting-fiscal-layout > tbody > tr > td + td {
		margin-top: 16px;
	}

	.app-service-accounting-fiscal-layout fieldset {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
	}
}

@media screen and (max-width: 767px) {
	#cadastrarServicoForm .rich-tabpanel-content,
	#cadastrarServicoForm fieldset,
	#cadastrarServicoForm h\:panelGrid,
	#cadastrarServicoForm table {
		box-sizing: border-box;
		max-width: 100% !important;
	}

	#cadastrarServicoForm .rich-tabpanel-content {
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
	}

	#cadastrarServicoForm fieldset {
		width: auto !important;
		min-width: 0;
	}

	#cadastrarServicoForm.app-standard-controls input[type="text"],
	#cadastrarServicoForm.app-standard-controls input[type="password"],
	#cadastrarServicoForm.app-standard-controls select,
	#cadastrarServicoForm.app-standard-controls textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px;
	}

	#cadastrarServicoForm.app-standard-controls input[type="checkbox"],
	#cadastrarServicoForm.app-standard-controls input[type="radio"] {
		width: 22px;
		height: 22px;
	}

	#cadastrarServicoForm input[type="submit"],
	#cadastrarServicoForm input[type="button"] {
		min-height: 44px;
	}
}

/* Consulta de Subgrupos de Produto: reutiliza integralmente a composicao da
 * consulta de Grupos e ajusta apenas autocomplete, largura do grid e modal. */
.app-product-subgroup-parent-filter .app-autocomplete-control {
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-subgroup-parent-filter input.app-autocomplete-input,
body.app-theme-ruby .conteudo .app-product-subgroup-parent-filter input.app-autocomplete-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-product-subgroup-parent-value {
	display: inline-block;
	max-width: calc(100% - 42px);
	min-height: 30px;
	margin-right: 5px;
	line-height: 30px;
	vertical-align: middle;
	word-break: break-word;
}

body.app-theme-ugestor .conteudo .app-product-subgroup-filter-clear,
body.app-theme-ruby .conteudo .app-product-subgroup-filter-clear {
	box-sizing: content-box;
	width: 16px;
	height: 16px;
	margin: 0 !important;
	padding: 6px !important;
	border: 1px solid #cbd8e8;
	border-radius: 5px;
	background: #ffffff;
	vertical-align: middle;
}

body.app-theme-ugestor .conteudo .app-product-subgroup-filter-clear:hover,
body.app-theme-ruby .conteudo .app-product-subgroup-filter-clear:hover {
	border-color: #ff9a77;
	background: #fff4ef;
}

body.app-theme-ugestor .conteudo .app-product-subgroup-table,
body.app-theme-ruby .conteudo .app-product-subgroup-table {
	min-width: 900px;
}

.app-product-subgroup-deletion-entity {
	box-sizing: border-box;
	width: 100%;
}

.app-product-subgroup-deletion-entity .app-deletion-confirmation-modal-entity {
	margin-top: 9px;
}

.app-product-subgroup-deletion-parent-label {
	display: inline-block;
	margin: 8px 5px 0 12px;
	color: #52627a;
	font-size: 12px;
	font-weight: bold;
}

.app-product-subgroup-deletion-parent {
	display: inline;
	color: #10213d;
	font-size: 12px;
	font-weight: bold;
}

/* Inclusao, alteracao e visualizacao de Subgrupo de Produto: mantem a mesma
 * geometria do formulario de Grupo e especializa apenas o seletor do pai. */
.app-product-subgroup-parent-select .app-autocomplete-control {
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-subgroup-parent-select input.app-autocomplete-input,
body.app-theme-ruby .conteudo .app-product-subgroup-parent-select input.app-autocomplete-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

/* Inclusao, alteracao e visualizacao de Grupo de Produto: a mesma hierarquia
 * da consulta, mantendo os decoradores e componentes JSF legados intactos. */
.app-product-group-form-actions,
.app-service-group-form-actions {
	max-width: 100%;
}

.app-product-group-form-panel .app-product-group-form-fields,
.app-service-group-form-panel .app-service-group-form-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-product-group-form-fields .name,
.app-service-group-form-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-product-group-form-fields .value,
.app-service-group-form-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

body.app-theme-ugestor .conteudo .app-product-group-form-name-input,
body.app-theme-ruby .conteudo .app-product-group-form-name-input,
body.app-theme-ugestor .conteudo .app-service-group-form-name-input,
body.app-theme-ruby .conteudo .app-service-group-form-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-product-group-application-options {
	width: auto !important;
	margin: 0;
	border-collapse: collapse;
}

.app-product-group-application-options td {
	padding: 2px 18px 2px 0;
	white-space: nowrap;
}

.app-product-group-application-options input[type="radio"] {
	margin: 0 5px 0 0;
	vertical-align: middle;
}

body.app-theme-ugestor .conteudo .app-product-group-linked-panel .rich-panel-body,
body.app-theme-ruby .conteudo .app-product-group-linked-panel .rich-panel-body {
	padding: 0 !important;
	overflow: hidden;
}

.app-product-group-linked-results {
	width: 100%;
	margin-top: 0;
}

.app-product-group-linked-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-group-linked-table,
body.app-theme-ruby .conteudo .app-product-group-linked-table {
	width: 100% !important;
	min-width: 560px;
}

body.app-theme-ugestor .conteudo .app-product-group-linked-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-product-group-linked-table .rich-table-cell {
	padding: 10px 12px !important;
	vertical-align: middle;
}

@media screen and (max-width: 620px) {
	.app-product-group-filter-fields .name,
	.app-product-group-filter-fields .value,
	.app-service-group-filter-fields .name,
	.app-service-group-filter-fields .value,
	.app-product-group-form-fields .name,
	.app-product-group-form-fields .value,
	.app-service-group-form-fields .name,
	.app-service-group-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-product-group-filter-fields .name,
	.app-service-group-filter-fields .name,
	.app-product-group-form-fields .name,
	.app-service-group-form-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-product-group-name-input,
	body.app-theme-ruby .conteudo .app-product-group-name-input,
	body.app-theme-ugestor .conteudo .app-service-group-code-input,
	body.app-theme-ruby .conteudo .app-service-group-code-input,
	body.app-theme-ugestor .conteudo .app-service-group-name-input,
	body.app-theme-ruby .conteudo .app-service-group-name-input,
	body.app-theme-ugestor .conteudo .app-product-group-form-name-input,
	body.app-theme-ruby .conteudo .app-product-group-form-name-input,
	body.app-theme-ugestor .conteudo .app-service-group-form-name-input,
	body.app-theme-ruby .conteudo .app-service-group-form-name-input,
	body.app-theme-ugestor .conteudo .app-product-subgroup-parent-filter input.app-autocomplete-input,
	body.app-theme-ruby .conteudo .app-product-subgroup-parent-filter input.app-autocomplete-input,
	body.app-theme-ugestor .conteudo .app-product-subgroup-parent-select input.app-autocomplete-input,
	body.app-theme-ruby .conteudo .app-product-subgroup-parent-select input.app-autocomplete-input {
		width: 100% !important;
		min-height: 44px;
	}

	.app-product-group-row-actions input[type="image"],
	.app-service-group-row-actions input[type="image"],
	body.app-theme-ugestor .conteudo .app-product-subgroup-filter-clear,
	body.app-theme-ruby .conteudo .app-product-subgroup-filter-clear {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-product-group-query-results .app-query-pager,
	.app-service-group-query-results .app-query-pager {
		align-items: stretch;
		flex-direction: column;
	}

	.app-product-group-query-results .app-query-pager .pager-summary,
	.app-service-group-query-results .app-query-pager .pager-summary {
		margin-right: 0;
	}

	.app-product-group-application-options td {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 3px 0;
	}

	.app-product-group-linked-pagination {
		display: flex;
		justify-content: center;
		min-height: 44px;
	}
}

/* Consulta de Associacoes de Produtos: preserva o autocomplete e o
 * datascroller legados, conectando filtro, grid e rodape a baseline visual. */
.app-product-association-search-panel .app-product-association-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-product-association-filter-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-product-association-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

.app-product-association-autocomplete .app-autocomplete-control {
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-association-autocomplete input.app-autocomplete-input,
body.app-theme-ruby .conteudo .app-product-association-autocomplete input.app-autocomplete-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-product-association-selected-product .app-product-association-product-name,
.app-product-association-selected-product .app-product-association-product-details {
	display: inline-block;
	max-width: calc(100% - 44px);
	color: #10213d;
	line-height: 1.45;
	vertical-align: middle;
	word-break: break-word;
}

.app-product-association-selected-product .app-product-association-product-name {
	font-weight: bold;
}

.app-product-association-query-results,
.app-product-association-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-association-table,
body.app-theme-ruby .conteudo .app-product-association-table {
	width: 100% !important;
	min-width: 560px;
}

.app-product-association-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
}

.app-product-association-deletion-details {
	display: block;
	margin-top: 5px;
	color: #52627a;
	font-size: 12px;
	line-height: 1.4;
	text-align: left;
	word-break: break-word;
}

/* Inclusao, alteracao e visualizacao de Associacao de Produtos: reutiliza a
 * geometria da consulta e conecta o grid secundario ao painel cadastral. */
.app-product-association-form-actions {
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-product-association-form-panel .rich-panel-body,
body.app-theme-ruby .conteudo .app-product-association-form-panel .rich-panel-body {
	padding: 0 !important;
	overflow: hidden;
}

.app-product-association-form-panel .app-product-association-form-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
	min-height: 72px;
	padding: 18px;
}

.app-product-association-form-fields .name {
	box-sizing: border-box;
	width: 205px;
	padding-right: 12px;
}

.app-product-association-form-fields .value {
	box-sizing: border-box;
	width: calc(100% - 205px);
}

.app-product-association-form-autocomplete .app-autocomplete-control {
	max-width: 100%;
}

.app-product-association-linked-results,
.app-product-association-linked-table-scroll {
	box-sizing: border-box;
	width: 100%;
}

.app-product-association-linked-results {
	margin: 0;
}

body.app-theme-ugestor .conteudo .app-product-association-linked-table,
body.app-theme-ruby .conteudo .app-product-association-linked-table {
	width: 100% !important;
	min-width: 620px;
}

body.app-theme-ugestor .conteudo .app-product-association-linked-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-product-association-linked-table .rich-table-cell {
	padding: 10px 12px !important;
	vertical-align: middle;
}

.app-product-association-linked-empty {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 22px 18px;
	border-top: 1px solid #f0d4c8;
	color: #64748b;
	font-style: italic;
	text-align: center;
}

.app-product-association-linked-pagination {
	margin-top: -1px !important;
}

.app-product-association-linked-pagination .app-query-pager {
	min-height: 54px;
}

@media screen and (max-width: 620px) {
	.app-product-association-filter-fields .name,
	.app-product-association-filter-fields .value,
	.app-product-association-form-fields .name,
	.app-product-association-form-fields .value {
		float: none;
		width: 100%;
	}

	.app-product-association-filter-fields .name,
	.app-product-association-form-fields .name {
		padding: 5px 0 3px;
	}

	.app-product-association-form-panel .app-product-association-form-fields {
		padding: 14px;
	}

	body.app-theme-ugestor .conteudo .app-product-association-autocomplete input.app-autocomplete-input,
	body.app-theme-ruby .conteudo .app-product-association-autocomplete input.app-autocomplete-input {
		width: 100% !important;
		min-height: 44px;
	}

	.app-product-association-selected-product .app-query-filter-clear,
	.app-product-association-row-actions input[type="image"],
	.app-product-association-row-actions a {
		box-sizing: border-box;
		width: 44px !important;
		height: 44px !important;
		padding: 10px !important;
	}

	.app-product-association-row-actions a {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.app-product-association-row-actions a img {
		display: block;
		max-width: 24px;
		max-height: 24px;
	}

	.app-product-association-query-results .app-query-pager {
		align-items: stretch;
		flex-direction: column;
	}

	.app-product-association-query-results .app-query-pager .pager-summary {
		margin-right: 0;
	}

	.app-product-association-linked-results .app-query-pager {
		align-items: stretch;
		flex-direction: column;
	}

	.app-product-association-linked-results .app-query-pager .pager-summary {
		margin-right: 0;
	}
}

/* Administracao de acessos: seletor de contexto e checklist de itens de menu. */
.app-access-configuration-form,
.app-access-configuration-fields,
.app-access-configuration-options {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-access-configuration-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-access-configuration-panel > .rich-panel-body {
	padding: 0 !important;
	overflow: hidden;
}

.app-access-configuration-fields {
	min-height: 70px;
	padding: 18px 20px;
	border-bottom: 1px solid #e1e9ee;
	background: #f8fbfd;
}

.app-access-configuration-selector .name {
	box-sizing: border-box;
	width: 180px;
	padding-right: 14px;
}

.app-access-configuration-selector .value {
	box-sizing: border-box;
	width: calc(100% - 180px);
}

body.app-theme-ugestor .conteudo .app-access-configuration-selector select,
body.app-theme-ruby .conteudo .app-access-configuration-selector select {
	width: 100% !important;
	max-width: 420px;
}

.app-access-configuration-options {
	padding: 18px 20px 20px;
}

body.app-theme-ugestor .conteudo .app-access-configuration-fieldset,
body.app-theme-ruby .conteudo .app-access-configuration-fieldset {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 14px;
	border: 1px solid #d8e3e7;
	border-left: 4px solid #ff5a1f;
	border-radius: 6px;
	background: #ffffff;
}

.app-access-configuration-fieldset > legend {
	padding: 0 7px;
	color: #10213d !important;
	font-size: 14px;
	font-weight: bold;
}

.app-access-configuration-checklist {
	width: 100%;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.app-access-configuration-checklist > tbody {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.app-access-configuration-checklist > tbody > tr {
	display: block;
	box-sizing: border-box;
	min-width: 0;
	border: 1px solid #e1e9ee;
	border-radius: 5px;
	background: #f8fbfd;
}

.app-access-configuration-checklist > tbody > tr > td {
	display: flex;
	align-items: flex-start;
	box-sizing: border-box;
	width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	color: #29445f;
	line-height: 1.4;
}

.app-access-configuration-checklist input[type="checkbox"] {
	flex: 0 0 auto;
	margin: 2px 9px 0 0;
}

.app-access-configuration-checklist label {
	min-width: 0;
	word-break: break-word;
}

.app-access-configuration-checklist > tbody > tr:hover {
	border-color: #cbd8e8;
	background: #f2f7fb;
}

.app-access-configuration-checklist input[type="checkbox"]:focus {
	outline: 2px solid #20b9d2;
	outline-offset: 2px;
}

@media screen and (max-width: 720px) {
	.app-access-configuration-checklist > tbody {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 560px) {
	.app-access-configuration-fields,
	.app-access-configuration-options {
		padding: 14px;
	}

	.app-access-configuration-selector .name,
	.app-access-configuration-selector .value {
		float: none;
		width: 100%;
	}

	.app-access-configuration-selector .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-access-configuration-selector select,
	body.app-theme-ruby .conteudo .app-access-configuration-selector select {
		max-width: none;
	}
}

/* Consulta de legendas RCS: filtro, grid e paginador legado conectados. */
body.app-theme-ugestor .conteudo .app-rcs-legend-search-panel .rich-panel-header,
body.app-theme-ruby .conteudo .app-rcs-legend-search-panel .rich-panel-header {
	padding: 10px 14px !important;
	border-bottom: 1px solid #f0d4c8 !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-rcs-legend-search-panel .rich-panel-body,
body.app-theme-ruby .conteudo .app-rcs-legend-search-panel .rich-panel-body {
	padding-bottom: 12px !important;
}

.app-rcs-legend-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-rcs-legend-filter-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-rcs-legend-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-rcs-legend-filter-fields input.app-rcs-legend-code-input,
body.app-theme-ruby .conteudo .app-rcs-legend-filter-fields input.app-rcs-legend-code-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-legend-filter-fields input.app-rcs-legend-description-input,
body.app-theme-ruby .conteudo .app-rcs-legend-filter-fields input.app-rcs-legend-description-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-rcs-legend-query-results,
.app-rcs-legend-table-scroll,
.app-rcs-legend-table {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-legend-table,
body.app-theme-ruby .conteudo .app-rcs-legend-table {
	min-width: 760px;
}

.app-rcs-legend-code {
	font-weight: bold;
}

.app-rcs-legend-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 76px;
}

.app-rcs-legend-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-rcs-legend-pagination {
	margin-top: -1px !important;
}

.app-rcs-legend-deletion-content,
.app-rcs-legend-deletion-form {
	box-sizing: border-box;
	width: 100%;
}

.app-rcs-legend-deletion-entity {
	word-break: break-word;
}

.app-rcs-legend-deletion-actions {
	margin-top: 14px;
}

@media screen and (max-width: 620px) {
	.app-rcs-legend-filter-fields .name,
	.app-rcs-legend-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-rcs-legend-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-rcs-legend-filter-fields input.app-rcs-legend-code-input,
	body.app-theme-ruby .conteudo .app-rcs-legend-filter-fields input.app-rcs-legend-code-input,
	body.app-theme-ugestor .conteudo .app-rcs-legend-filter-fields input.app-rcs-legend-description-input,
body.app-theme-ruby .conteudo .app-rcs-legend-filter-fields input.app-rcs-legend-description-input {
		width: 100% !important;
	}
}

/* Formulario de RCS de entrada: organiza os blocos operacionais e fiscais
 * preservando a arvore JSF, os componentes contabeis e os ciclos Ajax. */
.app-rcs-entry-maintenance-form > .app-legacy-heading-separator,
.app-rcs-entry-maintenance-form > .app-legacy-layout-break {
	display: none;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-maintenance-panel,
body.app-theme-ruby .conteudo .app-rcs-entry-maintenance-panel {
	box-sizing: border-box;
	width: 100%;
	margin-top: 12px;
	overflow: hidden;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-maintenance-panel > .rich-panel-header,
body.app-theme-ruby .conteudo .app-rcs-entry-maintenance-panel > .rich-panel-header {
	padding: 11px 15px !important;
	border-bottom: 1px solid #f0d4c8 !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-maintenance-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-rcs-entry-maintenance-panel > .rich-panel-body {
	padding: 0 !important;
}

.app-rcs-entry-basic-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 980px;
	padding: 18px 20px 12px;
}

.app-rcs-entry-basic-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-rcs-entry-basic-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-rcs-entry-basic-fields input[type="text"],
body.app-theme-ruby .conteudo .app-rcs-entry-basic-fields input[type="text"] {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-rcs-entry-legend-link {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid #cbd8e8;
	border-left: 3px solid #ff5a1f;
	border-radius: 4px;
	background: #f8fbfd;
	color: #10213d !important;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none !important;
}

.app-rcs-entry-legend-link:hover {
	border-color: #ff9a77;
	background: #fff4ef;
	color: #e94a16 !important;
}

.app-rcs-entry-section {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0;
	border-top: 1px solid #e1e9ee;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.app-rcs-entry-section > tbody > tr > td {
	box-sizing: border-box;
	padding: 18px 20px 20px;
	vertical-align: top;
}

.app-rcs-entry-split-section > tbody > tr > td {
	width: 50%;
}

.app-rcs-entry-split-section > tbody > tr > td + td,
.app-rcs-entry-tax-section > tbody > tr > td + td {
	border-left: 1px solid #e1e9ee;
}

.app-rcs-entry-section > tbody > tr > td > legend,
.app-rcs-entry-tax-block > legend,
.app-rcs-exit-tax-block legend {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 16px;
	padding: 9px 12px;
	border-left: 4px solid #ff5a1f;
	border-radius: 4px;
	background: #f6f9fc;
	color: #10213d !important;
	font-size: 13px;
	letter-spacing: .025em;
}

.app-rcs-entry-section > tbody > tr > td > legend + br,
.app-rcs-entry-tax-block > legend + br,
.app-rcs-exit-tax-block legend + br {
	display: none;
}

.app-rcs-entry-section .name {
	box-sizing: border-box;
	width: 170px;
	padding-right: 10px;
}

.app-rcs-entry-section .value {
	box-sizing: border-box;
	width: calc(100% - 170px);
}

body.app-theme-ugestor .conteudo .app-rcs-entry-section input[type="text"],
body.app-theme-ruby .conteudo .app-rcs-entry-section input[type="text"],
body.app-theme-ugestor .conteudo .app-rcs-entry-section select,
body.app-theme-ruby .conteudo .app-rcs-entry-section select {
	max-width: 100%;
}

.app-rcs-entry-operation-section #tipoRcs,
.app-rcs-entry-operation-section #operacaoPanel {
	box-sizing: border-box;
	width: 100% !important;
	margin-bottom: 8px;
}

.app-rcs-entry-operation-section #tipoRcs > tbody > tr > td {
	box-sizing: border-box;
	padding-right: 12px;
	vertical-align: top;
}

body.app-theme-ugestor .conteudo input.app-rcs-entry-section-action,
body.app-theme-ruby .conteudo input.app-rcs-entry-section-action {
	min-width: 104px;
	height: 34px;
	margin: 8px 0 4px;
	padding: 0 16px;
	border-color: #e94a16 !important;
	border-radius: 4px;
	background: #ff5a1f !important;
	background-image: none !important;
	color: #ffffff !important;
	font-weight: bold;
	box-shadow: 0 4px 10px rgba(233, 74, 22, .16);
}

body.app-theme-ugestor .conteudo input.app-rcs-entry-section-action:hover,
body.app-theme-ruby .conteudo input.app-rcs-entry-section-action:hover {
	border-color: #cf3810 !important;
	background: #e94a16 !important;
}

.app-rcs-entry-inline-results {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	box-sizing: border-box;
	width: 100% !important;
	margin-top: 12px;
	overflow: hidden;
	border: 1px solid #d7dfeb;
	border-bottom: 3px solid #ff5a1f;
	border-radius: 5px;
	background: #ffffff;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-inline-table,
body.app-theme-ruby .conteudo .app-rcs-entry-inline-table {
	grid-column: 1 / -1;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 720px;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	box-shadow: none;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-inline-table .rich-table-headercell,
body.app-theme-ruby .conteudo .app-rcs-entry-inline-table .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-rcs-entry-inline-table .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-rcs-entry-inline-table .rich-table-subheadercell {
	padding: 10px 11px !important;
	border-color: #263758 !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: bold;
	text-shadow: none;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-inline-table .rich-table-headercell span,
body.app-theme-ruby .conteudo .app-rcs-entry-inline-table .rich-table-headercell span,
body.app-theme-ugestor .conteudo .app-rcs-entry-inline-table .rich-table-subheadercell span,
body.app-theme-ruby .conteudo .app-rcs-entry-inline-table .rich-table-subheadercell span {
	color: #ffffff !important;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-inline-table .rich-table-cell,
body.app-theme-ruby .conteudo .app-rcs-entry-inline-table .rich-table-cell {
	padding: 9px 10px !important;
	border-color: #f0ddd5 !important;
	color: #263b58 !important;
}

.app-rcs-entry-inline-table input[type="image"] {
	box-sizing: content-box;
	margin: 0 !important;
	padding: 2px !important;
}

.app-rcs-entry-inline-total {
	grid-column: 1;
	align-self: center;
	margin: 8px 10px;
	padding: 7px 10px;
	border-left: 3px solid #ff5a1f;
	border-radius: 4px;
	background: #fff4ef;
	color: #10213d;
	font-size: 12px;
}

.app-rcs-entry-inline-results > .rich-datascr {
	grid-column: 2;
	align-self: center;
	justify-self: end;
	width: auto !important;
	margin: 8px 10px !important;
	border: 0 !important;
	background: transparent !important;
}

.app-rcs-entry-inline-results .rich-datascr-button,
.app-rcs-entry-inline-results .rich-datascr-inact,
.app-rcs-entry-inline-results .rich-datascr-act {
	min-width: 27px;
	height: 28px;
	padding: 0 7px !important;
	border: 1px solid #cbd8e8 !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #10213d !important;
	font-size: 11px;
	font-weight: bold;
}

.app-rcs-entry-inline-results .rich-datascr-button:hover,
.app-rcs-entry-inline-results .rich-datascr-act {
	border-color: #e94a16 !important;
	background: #ff5a1f !important;
	color: #ffffff !important;
}

.app-rcs-entry-tax-section > tbody > tr > td {
	width: 50%;
}

.app-rcs-entry-tax-block {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
}

.app-rcs-entry-tax-rules-grid {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 760px;
	margin-top: 12px;
	border: 1px solid #d7dfeb;
	border-collapse: collapse;
	table-layout: fixed;
	background: #ffffff;
}

.app-rcs-entry-tax-rules-grid > tbody > tr > td {
	box-sizing: border-box;
	padding: 7px 8px;
	border-right: 1px solid #e1e9ee;
	border-bottom: 1px solid #e1e9ee;
	color: #334b68;
	vertical-align: middle;
}

.app-rcs-entry-tax-rules-grid > tbody > tr:first-child > td {
	border-color: #263758;
	border-bottom: 3px solid #ff5a1f;
	background: #10213d;
	color: #ffffff;
	text-align: center;
}

.app-rcs-entry-tax-rules-grid > tbody > tr > td:first-child {
	width: 14%;
	background: #fff7f3;
	color: #10213d;
	font-weight: bold;
}

.app-rcs-entry-tax-rules-grid > tbody > tr:first-child > td:first-child {
	background: #10213d;
	color: #ffffff;
}

.app-rcs-entry-tax-rules-grid span[style*="position:absolute"] {
	display: block;
	position: static !important;
	width: auto !important;
	margin-left: 0 !important;
}

body.app-theme-ugestor .conteudo .app-rcs-entry-tax-rules-grid select,
body.app-theme-ruby .conteudo .app-rcs-entry-tax-rules-grid select,
body.app-theme-ugestor .conteudo .app-rcs-entry-tax-rules-grid input[type="text"],
body.app-theme-ruby .conteudo .app-rcs-entry-tax-rules-grid input[type="text"] {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 120px;
	max-width: none;
}

@media screen and (max-width: 1180px) {
	.app-rcs-entry-split-section,
	.app-rcs-entry-split-section > tbody,
	.app-rcs-entry-split-section > tbody > tr,
	.app-rcs-entry-split-section > tbody > tr > td,
	.app-rcs-entry-tax-section,
	.app-rcs-entry-tax-section > tbody,
	.app-rcs-entry-tax-section > tbody > tr,
	.app-rcs-entry-tax-section > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-rcs-entry-split-section > tbody > tr > td + td,
	.app-rcs-entry-tax-section > tbody > tr > td + td {
		border-top: 1px solid #e1e9ee;
		border-left: 0;
	}
}

@media screen and (max-width: 760px) {
	.app-rcs-entry-operation-section #tipoRcs,
	.app-rcs-entry-operation-section #tipoRcs > tbody,
	.app-rcs-entry-operation-section #tipoRcs > tbody > tr,
	.app-rcs-entry-operation-section #tipoRcs > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-rcs-entry-section > tbody > tr > td {
		padding: 14px;
	}

	.app-rcs-entry-basic-fields {
		padding: 14px;
	}

	.app-rcs-entry-basic-fields .name,
	.app-rcs-entry-basic-fields .value,
	.app-rcs-entry-section .name,
	.app-rcs-entry-section .value {
		float: none;
		width: 100%;
	}

	.app-rcs-entry-basic-fields .name,
	.app-rcs-entry-section .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-rcs-entry-basic-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-rcs-entry-basic-fields input[type="text"] {
		width: 100% !important;
	}

	.app-rcs-entry-inline-results {
		grid-template-columns: minmax(0, 1fr);
		overflow-x: auto;
	}

	.app-rcs-entry-inline-total,
	.app-rcs-entry-inline-results > .rich-datascr {
		grid-column: 1;
		justify-self: stretch;
		text-align: center;
	}
}

/* Consulta de integracao contabil RCS: apresenta a listagem de arquivos no
 * padrao de Produtos sem alterar o filtro em memoria ou o download legado. */
.app-rcs-integration-query-form > .app-legacy-heading-separator,
.app-rcs-integration-query-form > .app-legacy-layout-break {
	display: none;
}

.app-rcs-integration-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-rcs-integration-filter-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-rcs-integration-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-rcs-integration-filter-fields input[type="text"],
body.app-theme-ruby .conteudo .app-rcs-integration-filter-fields input[type="text"],
body.app-theme-ugestor .conteudo .app-rcs-integration-filter-fields select,
body.app-theme-ruby .conteudo .app-rcs-integration-filter-fields select {
	box-sizing: border-box;
	max-width: 100%;
}

.app-rcs-integration-query-results {
	margin-top: 12px;
}

.app-rcs-integration-row-actions {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	white-space: nowrap;
}

.app-rcs-integration-row-actions input[type="image"] {
	box-sizing: content-box;
	margin: 0 !important;
	padding: 3px !important;
}

@media screen and (max-width: 760px) {
	.app-rcs-integration-filter-fields .name,
	.app-rcs-integration-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-rcs-integration-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-rcs-integration-filter-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-rcs-integration-filter-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-rcs-integration-filter-fields select,
	body.app-theme-ruby .conteudo .app-rcs-integration-filter-fields select {
		width: 100% !important;
	}
}

/* Consulta de RCS de processo: adapta somente a composicao visual da tela e
 * preserva filtro, lista integral, acoes e paginacao RichFaces existentes. */
.app-rcs-process-query-form > .app-legacy-heading-separator,
.app-rcs-process-query-form > .app-legacy-layout-break {
	display: none;
}

body.app-theme-ugestor .conteudo .app-rcs-process-search-panel .rich-panel-header,
body.app-theme-ruby .conteudo .app-rcs-process-search-panel .rich-panel-header {
	padding: 10px 14px !important;
	border-bottom: 1px solid #f0d4c8 !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-rcs-process-search-panel .rich-panel-body,
body.app-theme-ruby .conteudo .app-rcs-process-search-panel .rich-panel-body {
	padding-bottom: 12px !important;
}

.app-rcs-process-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-rcs-process-filter-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-rcs-process-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields select,
body.app-theme-ruby .conteudo .app-rcs-process-filter-fields select {
	box-sizing: border-box;
	width: 250px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields input.app-rcs-process-id-input,
body.app-theme-ruby .conteudo .app-rcs-process-filter-fields input.app-rcs-process-id-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields input.app-rcs-process-code-input,
body.app-theme-ruby .conteudo .app-rcs-process-filter-fields input.app-rcs-process-code-input {
	box-sizing: border-box;
	width: 250px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields input.app-rcs-process-name-input,
body.app-theme-ruby .conteudo .app-rcs-process-filter-fields input.app-rcs-process-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields input.app-rcs-process-range-input,
body.app-theme-ruby .conteudo .app-rcs-process-filter-fields input.app-rcs-process-range-input {
	box-sizing: border-box;
	width: 88px !important;
	max-width: 100%;
}

.app-rcs-process-query-results,
.app-rcs-process-table-scroll,
.app-rcs-process-table {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-process-table,
body.app-theme-ruby .conteudo .app-rcs-process-table {
	min-width: 720px;
}

.app-rcs-process-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 80px;
}

.app-rcs-process-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-rcs-process-pagination {
	margin-top: -1px !important;
}

.app-rcs-process-deletion-content,
.app-rcs-process-deletion-actions {
	box-sizing: border-box;
	width: 100%;
}

.app-rcs-process-deletion-content h5 {
	margin: 10px 0 0;
	color: #10213d;
	font-size: 13px;
	word-break: break-word;
}

.app-rcs-process-deletion-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 14px;
}

@media screen and (max-width: 620px) {
	.app-rcs-process-filter-fields .name,
	.app-rcs-process-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-rcs-process-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields input.app-rcs-process-id-input,
	body.app-theme-ruby .conteudo .app-rcs-process-filter-fields input.app-rcs-process-id-input,
	body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields input.app-rcs-process-code-input,
	body.app-theme-ruby .conteudo .app-rcs-process-filter-fields input.app-rcs-process-code-input,
	body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields input.app-rcs-process-name-input,
	body.app-theme-ruby .conteudo .app-rcs-process-filter-fields input.app-rcs-process-name-input,
	body.app-theme-ugestor .conteudo .app-rcs-process-filter-fields select,
	body.app-theme-ruby .conteudo .app-rcs-process-filter-fields select {
		width: 100% !important;
	}

	.app-rcs-process-range-fields {
		flex-wrap: wrap;
		gap: 6px 0;
	}
}

/* Manutencao de RCS de processo: formulario, operacoes e quadrantes contabeis
 * contextualizados sem alterar os contratos Ajax e as colecoes editaveis. */
.app-rcs-process-maintenance-form > .app-legacy-heading-separator,
.app-rcs-process-maintenance-form > .app-legacy-layout-break {
	display: none;
}

body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-panel,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-panel {
	box-sizing: border-box;
	width: 100%;
	margin-top: 14px;
	overflow: hidden;
}

body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-panel > .rich-panel-header,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-panel > .rich-panel-header {
	padding: 11px 16px !important;
	border-bottom: 1px solid #f0d4c8 !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
	font-size: 13px !important;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-panel > .rich-panel-body {
	box-sizing: border-box;
	padding: 16px 18px 18px !important;
}

.app-rcs-process-basic-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-rcs-process-basic-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-rcs-process-basic-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-rcs-process-basic-fields input.app-rcs-process-code-input,
body.app-theme-ruby .conteudo .app-rcs-process-basic-fields input.app-rcs-process-code-input {
	box-sizing: border-box;
	width: 250px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-process-basic-fields input.app-rcs-process-name-input,
body.app-theme-ruby .conteudo .app-rcs-process-basic-fields input.app-rcs-process-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

.app-rcs-process-legend-link {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 12px;
	border: 1px solid #cbd8e8;
	border-radius: 5px;
	background: #ffffff;
	color: #10213d !important;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none !important;
}

.app-rcs-process-legend-link:hover,
.app-rcs-process-legend-link:focus {
	border-color: #ff9a77;
	background: #fff4ef;
	color: #e94a16 !important;
}

.app-rcs-process-operation-section {
	box-sizing: border-box;
	table-layout: fixed;
	width: 100%;
	max-width: 100%;
	margin-top: 14px;
	border: 1px solid #d7dfeb;
	border-radius: 7px;
	background: #fbfcfe;
}

.app-rcs-process-operation-section > tbody > tr > td {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	padding: 0 14px 14px !important;
}

.app-rcs-process-section-title,
.app-rcs-process-maintenance-quadrants > table > tbody > tr > td > span > legend {
	display: block;
	box-sizing: border-box;
	width: calc(100% + 28px);
	margin: 0 -14px 14px;
	padding: 10px 14px;
	border-left: 4px solid #ff5a1f;
	border-bottom: 1px solid #d7dfeb;
	background: #eef3f8;
	color: #10213d;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: .03em;
}

.app-rcs-process-operation-section .app-legacy-layout-break {
	display: none;
}

.app-rcs-process-operation-type-fields,
.app-rcs-process-operation-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-rcs-process-operation-type-fields > tbody > tr > td {
	box-sizing: border-box;
	vertical-align: top;
}

.app-rcs-process-operation-section .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-rcs-process-operation-section .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-rcs-process-operation-section select,
body.app-theme-ruby .conteudo .app-rcs-process-operation-section select {
	box-sizing: border-box;
	width: 287px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo input.app-rcs-process-section-action,
body.app-theme-ruby .conteudo input.app-rcs-process-section-action,
body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants input[type="submit"],
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants input[type="submit"] {
	min-width: 104px;
	min-height: 34px;
	margin: 6px 0 0 !important;
	border: 1px solid #e94a16 !important;
	border-radius: 5px;
	background: #ff5a1f !important;
	background-image: none !important;
	color: #ffffff !important;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo input.app-rcs-process-section-action:hover,
body.app-theme-ruby .conteudo input.app-rcs-process-section-action:hover,
body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants input[type="submit"]:hover,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants input[type="submit"]:hover {
	border-color: #cf3810 !important;
	background: #e94a16 !important;
}

.app-rcs-process-operation-results {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin-top: 12px;
	overflow-x: auto;
}

body.app-theme-ugestor .conteudo .app-rcs-process-operation-table,
body.app-theme-ruby .conteudo .app-rcs-process-operation-table,
body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants .rich-table,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants .rich-table {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	border-color: #d7dfeb !important;
	background: #ffffff;
}

body.app-theme-ugestor .conteudo .app-rcs-process-operation-table .rich-table-headercell,
body.app-theme-ruby .conteudo .app-rcs-process-operation-table .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-rcs-process-operation-table .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-rcs-process-operation-table .rich-table-subheadercell,
body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants .rich-table-headercell,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants .rich-table-headercell,
body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants .rich-table-subheadercell,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants .rich-table-subheadercell {
	padding: 10px 9px !important;
	border-color: #263758 !important;
	border-bottom: 3px solid #ff5a1f !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: bold;
	text-shadow: none;
}

body.app-theme-ugestor .conteudo .app-rcs-process-operation-table .rich-table-headercell span,
body.app-theme-ruby .conteudo .app-rcs-process-operation-table .rich-table-headercell span,
body.app-theme-ugestor .conteudo .app-rcs-process-operation-table .rich-table-subheadercell span,
body.app-theme-ruby .conteudo .app-rcs-process-operation-table .rich-table-subheadercell span,
body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants .rich-table-headercell span,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants .rich-table-headercell span,
body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants .rich-table-subheadercell span,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants .rich-table-subheadercell span {
	color: #ffffff !important;
}

.app-rcs-process-operation-row-actions,
.app-rcs-process-maintenance-quadrants .rich-table-cell > div[align="center"] {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	white-space: nowrap;
}

.app-rcs-process-operation-row-actions input[type="image"],
.app-rcs-process-maintenance-quadrants .rich-table-cell input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-rcs-process-operation-pagination {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-height: 54px;
	margin-top: -1px;
	padding: 9px 12px;
	border: 1px solid #f0d4c8;
	border-top: 3px solid #ff5a1f;
	border-radius: 0 0 7px 7px;
	background: #ffffff;
}

.app-rcs-process-operation-summary {
	margin-right: auto;
	padding: 7px 11px;
	border-left: 3px solid #ff5a1f;
	border-radius: 4px;
	background: #fff4ef;
	color: #10213d;
}

.app-rcs-process-operation-pagination .rich-datascr,
.app-rcs-process-maintenance-quadrants .rich-datascr {
	width: auto !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	background-image: none !important;
}

.app-rcs-process-maintenance-quadrants {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-top: 14px;
}

.app-rcs-process-maintenance-quadrants > table {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 0 12px;
	border-spacing: 10px 0;
}

.app-rcs-process-maintenance-quadrants > table > tbody > tr > td {
	box-sizing: border-box;
	width: 50%;
	padding: 0 12px 14px !important;
	vertical-align: top;
	border: 1px solid #d7dfeb;
	border-radius: 7px;
	background: #fbfcfe;
}

.app-rcs-process-maintenance-quadrants > table > tbody > tr > td > span {
	display: block;
	box-sizing: border-box;
	width: 100%;
}

.app-rcs-process-maintenance-quadrants fieldset {
	box-sizing: border-box;
	margin: 8px 0;
	padding: 10px 12px 12px;
	border: 1px solid #cbd8e8;
	border-radius: 6px;
	background: #ffffff;
}

.app-rcs-process-maintenance-quadrants fieldset > legend {
	padding: 0 6px;
	color: #10213d;
	font-weight: bold;
}

.app-rcs-process-maintenance-quadrants .name {
	box-sizing: border-box;
	width: 170px;
	padding-right: 10px;
}

.app-rcs-process-maintenance-quadrants .value {
	box-sizing: border-box;
	width: calc(100% - 170px);
}

body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants select,
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants select,
body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants input[type="text"],
body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants input[type="text"] {
	box-sizing: border-box;
	max-width: 100%;
}

.app-rcs-process-maintenance-quadrants [id$="ProcessoTableDiv"] {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	width: 100% !important;
	margin-top: 10px;
	overflow-x: auto;
	border-bottom: 1px solid #f0d4c8;
	background: #ffffff;
}

.app-rcs-process-maintenance-quadrants [id$="ProcessoTableDiv"] > .rich-table {
	flex: 0 0 100%;
}

.app-rcs-process-maintenance-quadrants [id$="ProcessoTableDiv"] > span[id^="total"] {
	margin: 0 auto 8px 8px;
	padding: 6px 9px;
	border-left: 3px solid #ff5a1f;
	border-radius: 4px;
	background: #fff4ef;
	color: #10213d;
}

.app-rcs-process-maintenance-quadrants [id$="ProcessoTableDiv"] > .rich-datascr {
	margin: 0 8px 8px auto !important;
}

@media screen and (max-width: 1080px) {
	.app-rcs-process-maintenance-quadrants > table,
	.app-rcs-process-maintenance-quadrants > table > tbody,
	.app-rcs-process-maintenance-quadrants > table > tbody > tr,
	.app-rcs-process-maintenance-quadrants > table > tbody > tr > td {
		display: block;
		width: 100%;
	}

	.app-rcs-process-maintenance-quadrants > table {
		border-spacing: 0;
	}

	.app-rcs-process-maintenance-quadrants > table > tbody > tr > td + td {
		margin-top: 12px;
	}
}

@media screen and (max-width: 720px) {
	body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-panel > .rich-panel-body,
	body.app-theme-ruby .conteudo .app-rcs-process-maintenance-panel > .rich-panel-body {
		padding: 12px !important;
	}

	.app-rcs-process-basic-fields .name,
	.app-rcs-process-basic-fields .value,
	.app-rcs-process-operation-section .name,
	.app-rcs-process-operation-section .value,
	.app-rcs-process-maintenance-quadrants .name,
	.app-rcs-process-maintenance-quadrants .value {
		float: none;
		width: 100%;
	}

	.app-rcs-process-basic-fields .name,
	.app-rcs-process-operation-section .name,
	.app-rcs-process-maintenance-quadrants .name {
		padding: 5px 0 3px;
	}

	.app-rcs-process-operation-type-fields,
	.app-rcs-process-operation-type-fields > tbody,
	.app-rcs-process-operation-type-fields > tbody > tr,
	.app-rcs-process-operation-type-fields > tbody > tr > td {
		display: block;
		width: 100%;
	}

	body.app-theme-ugestor .conteudo .app-rcs-process-basic-fields input[type="text"],
	body.app-theme-ruby .conteudo .app-rcs-process-basic-fields input[type="text"],
	body.app-theme-ugestor .conteudo .app-rcs-process-operation-section select,
	body.app-theme-ruby .conteudo .app-rcs-process-operation-section select,
	body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants select,
	body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants select,
	body.app-theme-ugestor .conteudo .app-rcs-process-maintenance-quadrants input[type="text"],
	body.app-theme-ruby .conteudo .app-rcs-process-maintenance-quadrants input[type="text"] {
		width: 100% !important;
	}

	.app-rcs-process-operation-pagination {
		align-items: stretch;
		flex-direction: column;
	}

	.app-rcs-process-operation-summary {
		margin-right: 0;
	}
}

/* Consulta de RCS de saida: replica a composicao homologada das consultas de
 * entrada e processo sem alterar filtros, lista, acoes ou paginacao legada. */
.app-rcs-exit-query-form > .app-legacy-heading-separator,
.app-rcs-exit-query-form > .app-legacy-layout-break {
	display: none;
}

body.app-theme-ugestor .conteudo .app-rcs-exit-search-panel .rich-panel-header,
body.app-theme-ruby .conteudo .app-rcs-exit-search-panel .rich-panel-header {
	padding: 10px 14px !important;
	border-bottom: 1px solid #f0d4c8 !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-rcs-exit-search-panel .rich-panel-body,
body.app-theme-ruby .conteudo .app-rcs-exit-search-panel .rich-panel-body {
	padding-bottom: 12px !important;
}

.app-rcs-exit-filter-fields {
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
}

.app-rcs-exit-filter-fields .name {
	box-sizing: border-box;
	width: 190px;
	padding-right: 12px;
}

.app-rcs-exit-filter-fields .value {
	box-sizing: border-box;
	width: calc(100% - 190px);
}

body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields select,
body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields select {
	box-sizing: border-box;
	width: 250px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-id-input,
body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-id-input {
	box-sizing: border-box;
	width: 220px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-code-input,
body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-code-input {
	box-sizing: border-box;
	width: 250px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-name-input,
body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-name-input {
	box-sizing: border-box;
	width: 520px !important;
	max-width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-range-input,
body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-range-input {
	box-sizing: border-box;
	width: 88px !important;
	max-width: 100%;
}

.app-rcs-exit-query-results,
.app-rcs-exit-table-scroll,
.app-rcs-exit-table {
	box-sizing: border-box;
	width: 100%;
}

body.app-theme-ugestor .conteudo .app-rcs-exit-table,
body.app-theme-ruby .conteudo .app-rcs-exit-table {
	min-width: 720px;
}

.app-rcs-exit-row-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 106px;
}

.app-rcs-exit-row-actions input[type="image"] {
	box-sizing: content-box;
	display: block;
	margin: 0 !important;
	padding: 2px !important;
}

.app-rcs-exit-pagination {
	margin-top: -1px !important;
}

.app-rcs-exit-deletion-content,
.app-rcs-exit-deletion-actions {
	box-sizing: border-box;
	width: 100%;
}

.app-rcs-exit-deletion-content h5 {
	margin: 10px 0 0;
	color: #10213d;
	font-size: 13px;
	word-break: break-word;
}

.app-rcs-exit-deletion-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 14px;
}

@media screen and (max-width: 620px) {
	.app-rcs-exit-filter-fields .name,
	.app-rcs-exit-filter-fields .value {
		float: none;
		width: 100%;
	}

	.app-rcs-exit-filter-fields .name {
		padding: 5px 0 3px;
	}

	body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-id-input,
	body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-id-input,
	body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-code-input,
	body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-code-input,
	body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-name-input,
	body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields input.app-rcs-exit-name-input,
	body.app-theme-ugestor .conteudo .app-rcs-exit-filter-fields select,
	body.app-theme-ruby .conteudo .app-rcs-exit-filter-fields select {
		width: 100% !important;
	}

	.app-rcs-exit-range-fields {
		flex-wrap: wrap;
		gap: 6px 0;
	}
}

/*
 * Regra estrutural homologada em Produtos: as acoes principais ocupam sempre
 * a extremidade direita do cabecalho em desktop. O reset explicito neutraliza
 * posicionamentos absolutos e larguras herdadas do tema legado, inclusive
 * quando Seam/RichFaces adiciona wrappers internos aos botoes.
 */
@media screen and (min-width: 851px) {
	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes {
		display: flex !important;
		align-items: center !important;
		width: 100%;
		padding-right: 24px !important;
	}

	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-heading-content,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-heading-content {
		flex: 1 1 0;
		width: auto !important;
		max-width: none !important;
	}

	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		display: flex !important;
		flex: 0 0 auto;
		align-items: center;
		justify-content: flex-end !important;
		justify-self: auto;
		width: auto !important;
		max-width: none !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-align: right !important;
		transform: none !important;
		white-space: nowrap;
	}

	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions > *,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions > * {
		flex: 0 0 auto;
	}

	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions-grid,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions-grid {
		position: static !important;
		flex: 0 1 auto;
		width: auto !important;
		max-width: 100%;
		margin: 0 0 0 auto !important;
		justify-self: auto;
		text-align: right !important;
	}

	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions-grid > tbody > tr > td,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions-grid > tbody > tr > td {
		text-align: right !important;
	}
}

@media screen and (max-width: 850px) {
	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions {
		position: static !important;
		display: flex !important;
		justify-content: flex-end !important;
		width: 100% !important;
		margin: 14px 0 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
	}

	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions-grid,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions-grid {
		width: 100% !important;
		margin: 14px 0 0 !important;
	}
}

/* -------------------------------------------------------------------------
 * Contrato canônico de controles e filtros.
 * Esta camada é deliberadamente a última do arquivo: classes de módulo podem
 * continuar presentes por compatibilidade, mas não podem redefinir aparência,
 * cor, geometria ou espaçamento de componentes equivalentes.
 * ------------------------------------------------------------------------- */
body.app-theme-ugestor .conteudo .app-standard-controls input[type="text"],
body.app-theme-ruby .conteudo .app-standard-controls input[type="text"],
body.app-theme-ugestor .conteudo .app-standard-controls input[type="password"],
body.app-theme-ruby .conteudo .app-standard-controls input[type="password"],
body.app-theme-ugestor .conteudo .app-standard-controls select,
body.app-theme-ruby .conteudo .app-standard-controls select,
body.app-theme-ugestor .conteudo .app-standard-controls textarea,
body.app-theme-ruby .conteudo .app-standard-controls textarea {
	box-sizing: border-box !important;
	min-height: 35px !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 6px 8px !important;
	border: 1px solid #bfd0df !important;
	border-radius: 3px !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #10213d !important;
	box-shadow: inset 0 1px 2px rgba(16, 33, 61, .05) !important;
	font: inherit !important;
	line-height: 21px !important;
}

body.app-theme-ugestor .conteudo .app-standard-controls input[type="text"]:focus,
body.app-theme-ruby .conteudo .app-standard-controls input[type="text"]:focus,
body.app-theme-ugestor .conteudo .app-standard-controls input[type="password"]:focus,
body.app-theme-ruby .conteudo .app-standard-controls input[type="password"]:focus,
body.app-theme-ugestor .conteudo .app-standard-controls select:focus,
body.app-theme-ruby .conteudo .app-standard-controls select:focus,
body.app-theme-ugestor .conteudo .app-standard-controls textarea:focus,
body.app-theme-ruby .conteudo .app-standard-controls textarea:focus {
	border-color: #0d8ea5 !important;
	outline: 0 !important;
	box-shadow: 0 0 0 2px rgba(13, 142, 165, .14) !important;
}

body.app-theme-ugestor .conteudo .app-standard-controls input[disabled],
body.app-theme-ruby .conteudo .app-standard-controls input[disabled],
body.app-theme-ugestor .conteudo .app-standard-controls input[readonly],
body.app-theme-ruby .conteudo .app-standard-controls input[readonly],
body.app-theme-ugestor .conteudo .app-standard-controls select[disabled],
body.app-theme-ruby .conteudo .app-standard-controls select[disabled],
body.app-theme-ugestor .conteudo .app-standard-controls textarea[disabled],
body.app-theme-ruby .conteudo .app-standard-controls textarea[disabled],
body.app-theme-ugestor .conteudo .app-standard-controls textarea[readonly],
body.app-theme-ruby .conteudo .app-standard-controls textarea[readonly] {
	border-color: #d7e0e8 !important;
	background: #f3f6f9 !important;
	color: #6c7d91 !important;
}

body.app-theme-ugestor .conteudo .app-standard-controls input[type="checkbox"],
body.app-theme-ruby .conteudo .app-standard-controls input[type="checkbox"],
body.app-theme-ugestor .conteudo .app-standard-controls input[type="radio"],
body.app-theme-ruby .conteudo .app-standard-controls input[type="radio"] {
	box-sizing: border-box;
	margin: 0 5px 0 0 !important;
	accent-color: #0d8ea5;
	vertical-align: middle;
}

body.app-theme-ugestor .conteudo .app-standard-controls .name,
body.app-theme-ruby .conteudo .app-standard-controls .name {
	box-sizing: border-box;
	width: 185px !important;
	color: #10213d !important;
	font-size: 12px !important;
	font-weight: bold !important;
	line-height: 1.35 !important;
}

body.app-theme-ugestor .conteudo .app-standard-controls input.app-control-id,
body.app-theme-ruby .conteudo .app-standard-controls input.app-control-id,
body.app-theme-ugestor .conteudo .app-standard-controls input.app-control-code,
body.app-theme-ruby .conteudo .app-standard-controls input.app-control-code,
body.app-theme-ugestor .conteudo .app-standard-controls input.app-control-name,
body.app-theme-ruby .conteudo .app-standard-controls input.app-control-name {
	width: 218px !important;
}

/* Só afeta o campo Nome dentro dos modais de duplicação. Largura igual à
   convenção já usada em outros lugares do sistema para campos de nome */
body.app-theme-ugestor .app-product-duplicate-modal .app-standard-controls input.app-control.app-control-name,
body.app-theme-ruby .app-product-duplicate-modal .app-standard-controls input.app-control.app-control-name,
body.app-theme-ugestor .app-person-duplicate-modal .app-standard-controls input.app-control.app-control-name,
body.app-theme-ruby .app-person-duplicate-modal .app-standard-controls input.app-control.app-control-name,
body.app-theme-ugestor .app-service-duplicate-modal .app-standard-controls input.app-control.app-control-name,
body.app-theme-ruby .app-service-duplicate-modal .app-standard-controls input.app-control.app-control-name,
body.app-theme-ugestor .app-expense-item-duplicate-modal .app-standard-controls input.app-control.app-control-name,
body.app-theme-ruby .app-expense-item-duplicate-modal .app-standard-controls input.app-control.app-control-name {
	width: 520px !important;
	max-width: 100% !important;
}

body.app-theme-ugestor .conteudo .app-standard-controls input.app-control-quantity,
body.app-theme-ruby .conteudo .app-standard-controls input.app-control-quantity {
	width: 140px !important;
	text-align: right !important;
}

body.app-theme-ugestor .conteudo .app-standard-controls select.app-control-select,
body.app-theme-ruby .conteudo .app-standard-controls select.app-control-select {
	width: 250px !important;
}

body.app-theme-ugestor .conteudo .app-standard-controls textarea.app-control-textarea,
body.app-theme-ruby .conteudo .app-standard-controls textarea.app-control-textarea {
	width: 462px !important;
	min-height: 96px !important;
	resize: vertical;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel,
body.app-theme-ruby .conteudo .app-query-filter-panel {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 12px 0 14px !important;
	padding: 0 !important;
	border: 1px solid #f0d4c8 !important;
	border-radius: 7px !important;
	background: #ffffff !important;
	background-image: none !important;
	box-shadow: 0 7px 18px rgba(8, 20, 47, .06) !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-panel-header,
body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-panel-header,
body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-stglpanel-header,
body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-stglpanel-header {
	box-sizing: border-box !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 13px 18px !important;
	border: 0 !important;
	border-left: 5px solid #ff5a1f !important;
	border-bottom: 1px solid #f0d4c8 !important;
	border-radius: 7px 7px 0 0 !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
	font-size: 13px !important;
	font-weight: bold !important;
	line-height: 21px !important;
}

/*
 * O RichFaces 3.3 renderiza «/» como marcadores fixos do simpleTogglePanel.
 * Nos filtros oficiais, substitui esses simbolos direcionais por menos/mais,
 * deixando evidente quando a acao recolhe ou expande o painel.
 */
body.app-theme-ugestor .conteudo .app-query-filter-panel .rich-stglpnl-marker,
body.app-theme-ruby .conteudo .app-query-filter-panel .rich-stglpnl-marker {
	box-sizing: border-box !important;
	width: 28px !important;
	height: 28px !important;
	margin: -4px -5px -4px 0 !important;
	padding: 0 !important;
	border: 1px solid #c9d6e5 !important;
	border-radius: 5px !important;
	background: #ffffff !important;
	color: #10213d !important;
	font-size: 0 !important;
	line-height: 26px !important;
	text-align: center !important;
	box-shadow: 0 2px 5px rgba(8, 20, 47, .08) !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .rich-stglpnl-marker::before,
body.app-theme-ruby .conteudo .app-query-filter-panel .rich-stglpnl-marker::before {
	display: inline-block;
	color: inherit;
	font-family: Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
	vertical-align: top;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .rich-stglpnl-marker[id$="_switch_on"]::before,
body.app-theme-ruby .conteudo .app-query-filter-panel .rich-stglpnl-marker[id$="_switch_on"]::before {
	content: "\2212";
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .rich-stglpnl-marker[id$="_switch_off"]::before,
body.app-theme-ruby .conteudo .app-query-filter-panel .rich-stglpnl-marker[id$="_switch_off"]::before {
	content: "+";
}

body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-stglpanel-header:hover .rich-stglpnl-marker,
body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-stglpanel-header:hover .rich-stglpnl-marker {
	border-color: #ff5a1f !important;
	background: #fff3ed !important;
	color: #d93d00 !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-panel-body,
body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-panel-body,
body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-stglpanel-body,
body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-stglpanel-body {
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 18px 22px !important;
	border: 0 !important;
	border-radius: 0 0 7px 7px !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #10213d !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-query-filter-grid,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-query-filter-grid {
	box-sizing: border-box;
	width: auto !important;
	max-width: 1120px;
	margin: 0 !important;
	border-collapse: collapse;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-query-filter-grid > tbody > tr > td,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-query-filter-grid > tbody > tr > td {
	box-sizing: border-box;
	padding: 3px 22px 3px 0 !important;
	vertical-align: top !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-query-date-range,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-query-date-range {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 35px;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-actions {
	box-sizing: border-box;
	clear: both;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 4px !important;
	width: auto !important;
	min-height: 48px !important;
	margin: 10px -22px -18px !important;
	padding: 8px 18px !important;
	border: 0 !important;
	border-left: 5px solid #ff5a1f !important;
	border-top: 1px solid #f0d4c8 !important;
	border-radius: 0 0 7px 7px !important;
	background: #fff8f5 !important;
	background-image: none !important;
	color: #10213d !important;
	line-height: 0 !important;
}

/*
 * O recolhimento oculta somente os campos do filtro. Quando o rodape possui
 * acoes renderizadas, o caminho ate ele permanece visivel; sem acoes, o
 * rodape nao reserva espaco. O estado e calculado pelo app-page-pattern.js
 * sem copiar ou mover componentes JSF/Ajax.
 */
body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-actions.app-filter-without-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-actions.app-filter-without-actions {
	display: none !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel.app-filter-collapsed-with-actions > .rich-stglpanel-body,
body.app-theme-ruby .conteudo .app-query-filter-panel.app-filter-collapsed-with-actions > .rich-stglpanel-body {
	display: block !important;
	padding: 0 !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel.app-filter-collapsed-with-actions .app-filter-hidden-when-collapsed,
body.app-theme-ruby .conteudo .app-query-filter-panel.app-filter-collapsed-with-actions .app-filter-hidden-when-collapsed {
	display: none !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel.app-filter-collapsed-with-actions .app-filter-footer-carrier,
body.app-theme-ruby .conteudo .app-query-filter-panel.app-filter-collapsed-with-actions .app-filter-footer-carrier {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel.app-filter-collapsed-with-actions .app-filter-export-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel.app-filter-collapsed-with-actions .app-filter-export-actions {
	display: flex !important;
	margin: 0 !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-actions > a,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-actions > a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-actions > a > img,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-actions > a > img {
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-actions.app-filter-operational-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-actions.app-filter-operational-actions {
	justify-content: flex-start !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-context-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-context-actions,
body.app-theme-ugestor .conteudo .app-query-filter-panel .app-prefilter-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-prefilter-actions,
body.app-theme-ugestor .conteudo .app-query-filter-panel .app-status-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-status-actions,
body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-group,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-group {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap;
	gap: 4px !important;
	line-height: 0 !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-prefilter-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-prefilter-actions,
body.app-theme-ugestor .conteudo .app-query-filter-panel .app-status-actions,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-status-actions {
	justify-content: flex-start !important;
	margin: 0 !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-group,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-group {
	justify-content: flex-end !important;
	margin-left: auto !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel img.app-filter-action-icon,
body.app-theme-ruby .conteudo .app-query-filter-panel img.app-filter-action-icon {
	box-sizing: border-box;
	display: block !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 3px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	object-fit: contain;
	cursor: pointer;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-group .app-filter-action-link,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-group .app-filter-action-link {
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	line-height: 0 !important;
}

body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-group .app-filter-action-link img.app-filter-action-icon,
body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-group .app-filter-action-link img.app-filter-action-icon {
	width: 24px !important;
	height: 24px !important;
	padding: 0 !important;
}

@media screen and (max-width: 620px) {
	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-query-filter-grid,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-query-filter-grid,
	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-query-filter-grid > tbody,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-query-filter-grid > tbody,
	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-query-filter-grid > tbody > tr,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-query-filter-grid > tbody > tr,
	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-query-filter-grid > tbody > tr > td,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-query-filter-grid > tbody > tr > td {
		display: block;
		width: 100% !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-query-filter-grid > tbody > tr > td,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-query-filter-grid > tbody > tr > td {
		padding-right: 0 !important;
	}

	body.app-theme-ugestor .conteudo .app-standard-controls .name,
	body.app-theme-ruby .conteudo .app-standard-controls .name,
	body.app-theme-ugestor .conteudo .app-standard-controls .value,
	body.app-theme-ruby .conteudo .app-standard-controls .value {
		box-sizing: border-box;
		float: none;
		width: 100% !important;
	}

	body.app-theme-ugestor .conteudo .app-standard-controls input.app-control,
	body.app-theme-ruby .conteudo .app-standard-controls input.app-control,
	body.app-theme-ugestor .conteudo .app-standard-controls select.app-control,
	body.app-theme-ruby .conteudo .app-standard-controls select.app-control,
	body.app-theme-ugestor .conteudo .app-standard-controls textarea.app-control,
	body.app-theme-ruby .conteudo .app-standard-controls textarea.app-control {
		width: 100% !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-panel-body,
	body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-panel-body,
	body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-stglpanel-body,
	body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-stglpanel-body {
		padding: 14px !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-actions,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-actions {
		margin-right: -14px !important;
		margin-bottom: -14px !important;
		margin-left: -14px !important;
	}
}

/*
 * Pedido: o contador faz parte do botao composto de consulta pre-fixada.
 * Esta regra fica no final da cascata para impedir que os estilos globais de
 * input recriem uma segunda borda ao redor do numero.
 */
body.app-theme-ugestor .conteudo .app-standard-controls .app-purchase-order-status-action input.circle-button,
body.app-theme-ruby .conteudo .app-standard-controls .app-purchase-order-status-action input.circle-button,
body.app-theme-ugestor .conteudo .app-standard-controls .app-purchase-order-status-action input.circle-button[disabled],
body.app-theme-ruby .conteudo .app-standard-controls .app-purchase-order-status-action input.circle-button[disabled] {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: auto !important;
	min-width: 24px !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 2px !important;
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

/*
 * Pedido: faixa operacional compartilhada entre manutencao e consulta.
 * As consultas pre-fixadas ficam a esquerda; os exports permanecem a direita.
 */
body.app-theme-ugestor .conteudo .app-purchase-order-operational-actions,
body.app-theme-ruby .conteudo .app-purchase-order-operational-actions {
	justify-content: flex-start !important;
	border-left: 5px solid #ff5a1f !important;
	background: #fff8f5 !important;
	background-image: none !important;
}

body.app-theme-ugestor .conteudo .app-purchase-order-query .app-query-filter-panel .app-filter-export-actions.app-purchase-order-operational-actions,
body.app-theme-ruby .conteudo .app-purchase-order-query .app-query-filter-panel .app-filter-export-actions.app-purchase-order-operational-actions {
	padding: 8px 18px !important;
}

body.app-theme-ugestor .conteudo .app-purchase-order-query .app-purchase-order-operational-actions .app-purchase-order-status-actions,
body.app-theme-ruby .conteudo .app-purchase-order-query .app-purchase-order-operational-actions .app-purchase-order-status-actions {
	margin-left: 0 !important;
}

body.app-theme-ugestor .conteudo .app-purchase-order-query .app-purchase-order-export-actions,
body.app-theme-ruby .conteudo .app-purchase-order-query .app-purchase-order-export-actions {
	display: flex;
	align-items: center;
	margin-left: auto;
	line-height: 0;
}

body.app-theme-ugestor .conteudo .app-purchase-order-query .app-purchase-order-export-group,
body.app-theme-ruby .conteudo .app-purchase-order-query .app-purchase-order-export-group {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 4px;
}

body.app-theme-ugestor .conteudo .app-purchase-order-query .app-purchase-order-export-group .app-filter-action-icon,
body.app-theme-ruby .conteudo .app-purchase-order-query .app-purchase-order-export-group .app-filter-action-icon,
body.app-theme-ugestor .conteudo .app-purchase-order-query .app-purchase-order-export-group .app-filter-action-link,
body.app-theme-ruby .conteudo .app-purchase-order-query .app-purchase-order-export-group .app-filter-action-link {
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
	line-height: 0;
}

body.app-theme-ugestor .conteudo .app-purchase-order-query .app-purchase-order-export-group img.app-filter-action-icon,
body.app-theme-ruby .conteudo .app-purchase-order-query .app-purchase-order-export-group img.app-filter-action-icon {
	display: block !important;
	width: 30px !important;
	height: 30px !important;
	padding: 3px !important;
	object-fit: contain;
}

body.app-theme-ugestor .conteudo .app-purchase-order-query .app-purchase-order-export-group .app-filter-action-link > img,
body.app-theme-ruby .conteudo .app-purchase-order-query .app-purchase-order-export-group .app-filter-action-link > img {
	display: block;
	width: 24px !important;
	height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain;
}

/* Mantem o numero do contador legivel inclusive no estado ativo do filtro. */
body.app-theme-ugestor .conteudo .app-purchase-order-status-action input.circle-button,
body.app-theme-ruby .conteudo .app-purchase-order-status-action input.circle-button {
	color: #10213d !important;
	-webkit-text-fill-color: #10213d !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-indent: 0 !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
}

body.app-theme-ugestor .conteudo .app-purchase-order-status-action input.circle-button[disabled],
body.app-theme-ruby .conteudo .app-purchase-order-status-action input.circle-button[disabled] {
	color: #8a9aae !important;
	-webkit-text-fill-color: #8a9aae !important;
}

body.app-theme-ugestor .conteudo .app-purchase-order-status-action-active input.circle-button,
body.app-theme-ruby .conteudo .app-purchase-order-status-action-active input.circle-button,
body.app-theme-ugestor .conteudo .app-purchase-order-status-action-active input.circle-button[disabled],
body.app-theme-ruby .conteudo .app-purchase-order-status-action-active input.circle-button[disabled] {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-indent: 0 !important;
}

/* Calendario global RichFaces 3.3 — identidade visual transversal do ERP. */
body.app-theme-ugestor .rich-calendar-input,
body.app-theme-ruby .rich-calendar-input {
	box-sizing: border-box;
	min-height: 36px;
	padding: 7px 10px !important;
	border: 1px solid #c9d5e3 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	color: #10213d !important;
	font-family: Arial, Verdana, sans-serif !important;
	font-size: 13px !important;
	line-height: 20px !important;
	box-shadow: inset 0 1px 2px rgba(16, 33, 61, 0.04) !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

body.app-theme-ugestor .rich-calendar-input:focus,
body.app-theme-ruby .rich-calendar-input:focus {
	outline: 0 !important;
	border-color: var(--white-label-accent, #ff5a1f) !important;
	box-shadow: 0 0 0 3px rgba(255, 90, 31, 0.14) !important;
}

body.app-theme-ugestor .rich-calendar-input[disabled],
body.app-theme-ruby .rich-calendar-input[disabled],
body.app-theme-ugestor .rich-calendar-input[readonly],
body.app-theme-ruby .rich-calendar-input[readonly] {
	background: #f3f6fa !important;
	color: #708096 !important;
	cursor: not-allowed;
}

body.app-theme-ugestor .rich-calendar-button,
body.app-theme-ruby .rich-calendar-button {
	box-sizing: border-box;
	width: 30px !important;
	height: 30px !important;
	margin-left: 5px !important;
	padding: 5px !important;
	border: 1px solid #c9d5e3 !important;
	border-radius: 6px !important;
	background-color: #f7f9fc !important;
	box-shadow: 0 1px 2px rgba(16, 33, 61, 0.08) !important;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease !important;
}

body.app-theme-ugestor .rich-calendar-button:hover,
body.app-theme-ruby .rich-calendar-button:hover,
body.app-theme-ugestor .rich-calendar-button:focus,
body.app-theme-ruby .rich-calendar-button:focus {
	outline: 0;
	border-color: var(--white-label-accent, #ff5a1f) !important;
	background-color: #fff2ec !important;
	box-shadow: 0 0 0 3px rgba(255, 90, 31, 0.12) !important;
}

body.app-theme-ugestor .rich-calendar-popup,
body.app-theme-ruby .rich-calendar-popup {
	z-index: 100000000000 !important;
}

body.app-theme-ugestor .rich-calendar-exterior,
body.app-theme-ruby .rich-calendar-exterior {
	box-sizing: border-box;
	width: 326px !important;
	border: 1px solid #d8e0ea !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 44px rgba(16, 33, 61, 0.22), 0 4px 12px rgba(16, 33, 61, 0.12) !important;
	overflow: hidden !important;
	font-family: Arial, Verdana, sans-serif !important;
}

body.app-theme-ugestor .rich-calendar-header,
body.app-theme-ruby .rich-calendar-header,
body.app-theme-ugestor .rich-calendar-tool,
body.app-theme-ruby .rich-calendar-tool {
	border-color: var(--white-label-primary, #10213d) !important;
	background: var(--white-label-primary, #10213d) !important;
	color: #ffffff !important;
}

body.app-theme-ugestor .rich-calendar-header,
body.app-theme-ruby .rich-calendar-header {
	height: 44px !important;
}

body.app-theme-ugestor .rich-calendar-month,
body.app-theme-ruby .rich-calendar-month {
	padding: 0 8px !important;
	color: #ffffff !important;
	font-family: Arial, Verdana, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1px;
}

body.app-theme-ugestor .rich-calendar-tool,
body.app-theme-ruby .rich-calendar-tool,
body.app-theme-ugestor .rich-calendar-tool-close,
body.app-theme-ruby .rich-calendar-tool-close {
	box-sizing: border-box;
	min-width: 30px;
	height: 32px !important;
	padding: 7px 8px !important;
	border: 0 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	cursor: pointer;
}

body.app-theme-ugestor .rich-calendar-tool:hover,
body.app-theme-ruby .rich-calendar-tool:hover,
body.app-theme-ugestor .rich-calendar-tool-close:hover,
body.app-theme-ruby .rich-calendar-tool-close:hover {
	background: var(--white-label-accent, #ff5a1f) !important;
	color: #ffffff !important;
}

body.app-theme-ugestor .rich-calendar-days,
body.app-theme-ruby .rich-calendar-days {
	height: 32px !important;
	border-color: #f0d4c8 !important;
	background: #fff8f5 !important;
	color: #42536a !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
}

body.app-theme-ugestor .rich-calendar-weekends,
body.app-theme-ruby .rich-calendar-weekends {
	color: #d94a1d !important;
}

body.app-theme-ugestor .rich-calendar-cell-size,
body.app-theme-ruby .rich-calendar-cell-size {
	width: 44px !important;
	height: 38px !important;
}

body.app-theme-ugestor .rich-calendar-cell,
body.app-theme-ruby .rich-calendar-cell {
	box-sizing: border-box;
	border-color: #e7ecf2 !important;
	background: #ffffff !important;
	color: #10213d !important;
	font-family: Arial, Verdana, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-align: center !important;
	cursor: pointer;
	transition: background-color 0.12s ease, color 0.12s ease !important;
}

body.app-theme-ugestor .rich-calendar-cell:hover,
body.app-theme-ruby .rich-calendar-cell:hover,
body.app-theme-ugestor .rich-calendar-hover,
body.app-theme-ruby .rich-calendar-hover {
	background: #fff0e9 !important;
	color: #b9360c !important;
}

body.app-theme-ugestor .rich-calendar-holly,
body.app-theme-ruby .rich-calendar-holly {
	background: #fff8f5 !important;
	color: #d94a1d !important;
}

body.app-theme-ugestor .rich-calendar-boundary-dates,
body.app-theme-ruby .rich-calendar-boundary-dates {
	background: #f8fafc !important;
	color: #9aa7b7 !important;
}

body.app-theme-ugestor .rich-calendar-today,
body.app-theme-ruby .rich-calendar-today {
	background: #eef3f9 !important;
	color: var(--white-label-primary, #10213d) !important;
	font-weight: 700 !important;
	box-shadow: inset 0 0 0 2px var(--white-label-primary, #10213d) !important;
}

body.app-theme-ugestor .rich-calendar-select,
body.app-theme-ruby .rich-calendar-select,
body.app-theme-ugestor .rich-calendar-select:hover,
body.app-theme-ruby .rich-calendar-select:hover {
	background: var(--white-label-accent, #ff5a1f) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .rich-calendar-footer,
body.app-theme-ruby .rich-calendar-footer,
body.app-theme-ugestor .rich-calendar-toolfooter,
body.app-theme-ruby .rich-calendar-toolfooter {
	height: 38px !important;
	border-color: #f0d4c8 !important;
	background: #fff8f5 !important;
	color: #10213d !important;
	font-family: Arial, Verdana, sans-serif !important;
	font-size: 12px !important;
}

body.app-theme-ugestor .rich-calendar-tool-btn,
body.app-theme-ruby .rich-calendar-tool-btn {
	padding: 6px 8px !important;
	border: 1px solid transparent !important;
	border-radius: 5px !important;
	background: transparent !important;
	color: #10213d !important;
	font-weight: 700 !important;
}

body.app-theme-ugestor .rich-calendar-tool-btn-hover,
body.app-theme-ruby .rich-calendar-tool-btn-hover,
body.app-theme-ugestor .rich-calendar-tool-btn-press,
body.app-theme-ruby .rich-calendar-tool-btn-press {
	border-color: #f0c2b1 !important;
	background: #ffe9df !important;
	color: #b9360c !important;
}

body.app-theme-ugestor .rich-calendar-tool-btn-disabled,
body.app-theme-ruby .rich-calendar-tool-btn-disabled {
	color: #9aa7b7 !important;
	opacity: 0.7;
}

/* Mantem o rotulo clicavel de mes/ano legivel dentro do cabecalho escuro. */
body.app-theme-ugestor .rich-calendar-header .rich-calendar-month .rich-calendar-tool-btn,
body.app-theme-ruby .rich-calendar-header .rich-calendar-month .rich-calendar-tool-btn {
	display: inline-block;
	padding: 6px 10px !important;
	border: 1px solid transparent !important;
	border-radius: 6px !important;
	background: transparent !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

body.app-theme-ugestor .rich-calendar-header .rich-calendar-month .rich-calendar-tool-btn-hover,
body.app-theme-ruby .rich-calendar-header .rich-calendar-month .rich-calendar-tool-btn-hover,
body.app-theme-ugestor .rich-calendar-header .rich-calendar-month .rich-calendar-tool-btn-press,
body.app-theme-ruby .rich-calendar-header .rich-calendar-month .rich-calendar-tool-btn-press {
	border-color: rgba(255, 255, 255, 0.3) !important;
	background: var(--white-label-accent, #ff5a1f) !important;
	color: #ffffff !important;
}

body.app-theme-ugestor .rich-calendar-editor-container,
body.app-theme-ruby .rich-calendar-editor-container,
body.app-theme-ugestor .rich-calendar-time-layout,
body.app-theme-ruby .rich-calendar-time-layout,
body.app-theme-ugestor .rich-calendar-date-layout,
body.app-theme-ruby .rich-calendar-date-layout {
	border-color: #d8e0ea !important;
	background: #ffffff !important;
	color: #10213d !important;
	font-family: Arial, Verdana, sans-serif !important;
}

body.app-theme-ugestor .rich-calendar-editor-shadow,
body.app-theme-ruby .rich-calendar-editor-shadow,
body.app-theme-ugestor .rich-calendar-editor-layout-shadow,
body.app-theme-ruby .rich-calendar-editor-layout-shadow {
	background: rgba(16, 33, 61, 0.16) !important;
}

body.app-theme-ugestor .rich-calendar-editor-btn,
body.app-theme-ruby .rich-calendar-editor-btn,
body.app-theme-ugestor .rich-calendar-time-btn,
body.app-theme-ruby .rich-calendar-time-btn,
body.app-theme-ugestor .rich-calendar-date-layout-ok,
body.app-theme-ruby .rich-calendar-date-layout-ok,
body.app-theme-ugestor .rich-calendar-date-layout-cancel,
body.app-theme-ruby .rich-calendar-date-layout-cancel,
body.app-theme-ugestor .rich-calendar-time-layout-ok,
body.app-theme-ruby .rich-calendar-time-layout-ok,
body.app-theme-ugestor .rich-calendar-time-layout-cancel,
body.app-theme-ruby .rich-calendar-time-layout-cancel {
	border: 1px solid #c9d5e3 !important;
	border-radius: 5px !important;
	background: #f7f9fc !important;
	color: #10213d !important;
}

body.app-theme-ugestor .rich-calendar-editor-btn-over,
body.app-theme-ruby .rich-calendar-editor-btn-over,
body.app-theme-ugestor .rich-calendar-time-btn-press,
body.app-theme-ruby .rich-calendar-time-btn-press {
	border-color: #f0c2b1 !important;
	background: #fff0e9 !important;
	color: #b9360c !important;
}

body.app-theme-ugestor .rich-calendar-editor-btn.rich-calendar-editor-btn-selected,
body.app-theme-ruby .rich-calendar-editor-btn.rich-calendar-editor-btn-selected,
body.app-theme-ugestor .rich-calendar-editor-btn.rich-calendar-editor-btn-selected:hover,
body.app-theme-ruby .rich-calendar-editor-btn.rich-calendar-editor-btn-selected:hover {
	border-color: var(--white-label-accent, #ff5a1f) !important;
	border-radius: 6px !important;
	background: var(--white-label-accent, #ff5a1f) !important;
	color: #ffffff !important;
	box-shadow: 0 1px 3px rgba(185, 54, 12, 0.24) !important;
}

body.app-theme-ugestor .rich-calendar-time-input,
body.app-theme-ruby .rich-calendar-time-input,
body.app-theme-ugestor .rich-calendar-spinner-input,
body.app-theme-ruby .rich-calendar-spinner-input {
	border: 1px solid #c9d5e3 !important;
	border-radius: 5px !important;
	background: #ffffff !important;
	color: #10213d !important;
}

/* Selecao global de estabelecimentos: lista multipla sob o padrao de Produtos. */
.app-establishment-selection-modal {
	box-sizing: border-box;
	width: 660px;
	max-width: calc(100vw - 24px) !important;
}

body.app-theme-ugestor .app-establishment-selection-modal .rich-mpnl-body,
body.app-theme-ruby .app-establishment-selection-modal .rich-mpnl-body {
	box-sizing: border-box;
	overflow: hidden !important;
}

.app-establishment-selection-content,
.app-establishment-selection-content .app-selection-modal-form {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 0;
}

.app-establishment-selection-content .app-form-modal-messages:empty {
	display: none;
}

.app-establishment-selection-intro {
	box-sizing: border-box;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 3px;
	margin-bottom: 14px;
	padding: 2px 2px 13px;
	border-bottom: 1px solid #e3eaed;
}

.app-establishment-selection-eyebrow,
.app-establishment-selection-title,
.app-establishment-selection-description {
	display: block;
}

.app-establishment-selection-eyebrow {
	color: var(--white-label-accent, #ff5a1f);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.app-establishment-selection-title {
	color: var(--white-label-primary, #10213d);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.app-establishment-selection-description {
	color: #64748b;
	font-size: 12px;
	line-height: 1.45;
}

.app-establishment-selection-list {
	flex: 1 1 auto;
	min-height: 210px;
	max-height: 330px;
	border-color: #d8e0ea;
	border-radius: 8px;
	box-shadow: inset 0 1px 2px rgba(16, 33, 61, 0.03);
}

.app-establishment-selection-list .rich-table {
	min-width: 100%;
	table-layout: fixed;
}

.app-establishment-selection-table thead,
.app-establishment-selection-table thead tr,
.app-establishment-selection-table .rich-table-header,
.app-establishment-selection-table .rich-table-subheader {
	padding: 0 !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
}

.app-establishment-selection-table thead th,
.app-establishment-selection-table thead td,
.app-establishment-selection-table .rich-table-headercell,
.app-establishment-selection-table .rich-table-subheadercell,
.app-establishment-selection-table .app-establishment-selection-column-header {
	box-sizing: border-box;
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 10px 14px !important;
	border-top: 0 !important;
	border-right: 1px solid #263758 !important;
	border-bottom: 3px solid #ff5a1f !important;
	border-left: 0 !important;
	background: #10213d !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.25;
	text-align: left;
	text-shadow: none !important;
}

.app-establishment-selection-table thead th:last-child,
.app-establishment-selection-table thead td:last-child,
.app-establishment-selection-table .rich-table-headercell:last-child,
.app-establishment-selection-table .rich-table-subheadercell:last-child,
.app-establishment-selection-table .app-establishment-selection-column-header:last-child {
	border-right: 0 !important;
	text-align: center;
}

.app-establishment-selection-table thead a,
.app-establishment-selection-table thead span,
.app-establishment-selection-table .rich-table-headercell a,
.app-establishment-selection-table .rich-table-headercell span,
.app-establishment-selection-table .rich-table-subheadercell a,
.app-establishment-selection-table .rich-table-subheadercell span,
.app-establishment-selection-table .app-establishment-selection-column-header a,
.app-establishment-selection-table .app-establishment-selection-column-header span {
	color: #ffffff !important;
}

.app-establishment-selection-table thead img,
.app-establishment-selection-table .rich-table-headercell img,
.app-establishment-selection-table .rich-table-subheadercell img,
.app-establishment-selection-table .app-establishment-selection-column-header img {
	filter: brightness(0) invert(1);
	opacity: .9;
}

.app-establishment-selection-list .rich-table-cell {
	box-sizing: border-box;
	padding: 11px 14px !important;
	background: #ffffff !important;
	color: #10213d !important;
	font-size: 12px;
	line-height: 1.4;
}

.app-establishment-selection-list .rich-table-row:nth-child(even) .rich-table-cell {
	background: #fffaf7 !important;
}

.app-establishment-selection-list .rich-table-row:hover .rich-table-cell {
	background: #fff1ea !important;
}

.app-establishment-selection-list .app-establishment-selection-code {
	width: 92px;
	font-variant-numeric: tabular-nums;
}

.app-establishment-selection-list .app-establishment-selection-check {
	width: 104px;
	text-align: center;
}

.app-establishment-selection-all,
.app-establishment-selection-checkbox {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
}

.app-establishment-selection-list input[type="checkbox"] {
	box-sizing: border-box;
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: #ff5a1f;
	cursor: pointer;
}

.app-establishment-selection-actions {
	flex: 0 0 auto;
	padding-top: 14px;
	border-top: 1px solid #e3eaed;
}

/* Item de despesa: o rich:modalPanel e autosized; por isso sua caixa externa
 * nao pode receber largura relativa antes de o RichFaces calcular a dimensao.
 * A lista acompanha a quantidade real de estabelecimentos e somente ela rola
 * quando o conteudo for extenso, sem cortar a acao primaria. */
.app-expense-item-replication-modal .app-expense-item-replication-selection,
.app-expense-item-replication-modal .app-expense-item-replication-table {
	box-sizing: border-box;
	width: 100%;
}

.app-expense-item-replication-modal .app-establishment-selection-list {
	height: auto;
	min-height: 0;
	max-height: 330px;
	overflow-x: hidden;
	overflow-y: auto;
}

.app-expense-item-replication-modal .app-expense-item-replication-actions input {
	width: auto !important;
	white-space: nowrap;
}

.app-expense-item-replication-modal .app-expense-item-replication-actions .app-form-modal-primary input {
	min-width: 148px !important;
}

@media screen and (max-width: 720px) {
	.app-establishment-selection-modal {
		width: calc(100vw - 24px) !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%);
	}

	.app-establishment-selection-intro {
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.app-establishment-selection-list {
		min-height: 180px;
		max-height: 285px;
	}

	.app-establishment-selection-list .app-establishment-selection-code {
		width: 74px;
	}

	.app-establishment-selection-list .app-establishment-selection-check {
		width: 82px;
	}

	.app-establishment-selection-list .rich-table-headercell,
	.app-establishment-selection-list .rich-table-subheadercell,
	.app-establishment-selection-list .rich-table-cell {
		padding-right: 9px !important;
		padding-left: 9px !important;
	}

	.app-establishment-selection-all,
	.app-establishment-selection-checkbox,
	.app-establishment-selection-actions input[type="submit"],
	.app-establishment-selection-actions input[type="button"] {
		min-width: 44px;
		min-height: 44px;
	}

	.app-expense-item-replication-modal .app-expense-item-replication-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.app-expense-item-replication-modal .app-establishment-selection-list {
		max-height: min(285px, calc(100vh - 310px));
		max-height: min(285px, calc(100dvh - 310px));
	}

	.app-expense-item-replication-modal .app-expense-item-replication-actions > span,
	.app-expense-item-replication-modal .app-expense-item-replication-actions input {
		width: 100% !important;
	}
}
/* Fundação responsiva do shell -------------------------------------------
 * Tablet e Smartphone reutilizam o mesmo cabeçalho, a mesma árvore de menu
 * RichFaces e o mesmo rodapé do desktop. Não há duplicação de permissões,
 * actions, formulários ou carregamentos de dados. */
.app-responsive-navigation-trigger,
.app-responsive-navigation-header,
.app-responsive-navigation-entity,
.app-responsive-navigation-main,
.app-responsive-navigation-footer,
.app-responsive-navigation-backdrop {
	display: none;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	body.app-theme-ugestor .body,
	body.app-theme-ruby .body {
		box-sizing: border-box;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 14px;
	}

	#nomesDiv.app-tablet-app-bar {
		position: relative;
		min-height: 72px;
		padding-right: 66px !important;
		padding-top: env(safe-area-inset-top) !important;
	}

	#nomesDiv.app-tablet-app-bar .app-header-modern-layout > tbody > tr > td {
		box-sizing: border-box;
		padding: 10px 14px !important;
	}

	#nomesDiv.app-tablet-app-bar .app-header-logo {
		max-width: 168px;
		max-height: 42px;
	}

	#nomesDiv.app-tablet-app-bar .app-header-context,
	#nomesDiv.app-tablet-app-bar .app-header-identity-card,
	#nomesDiv.app-tablet-app-bar .app-header-establishment {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	#nomesDiv.app-tablet-app-bar .app-header-establishment,
	#nomesDiv.app-tablet-app-bar .app-header-establishment-value,
	#nomesDiv.app-tablet-app-bar .app-header-establishment-value span {
		overflow: visible !important;
		white-space: normal !important;
		word-break: normal;
		overflow-wrap: anywhere;
		text-overflow: clip;
	}

	#nomesDiv.app-tablet-app-bar .app-header-establishment-value input[type="image"] {
		box-sizing: border-box;
		min-width: 44px;
		min-height: 44px;
		width: 44px;
		height: 44px;
		padding: 12px;
	}

	.app-footer.app-tablet-footer {
		padding-bottom: calc(8px + env(safe-area-inset-bottom));
	}
}

@media screen and (max-width: 1199px) {
	body.app-responsive-navigation-open {
		overflow: hidden;
	}

	.app-responsive-navigation-trigger,
	.app-responsive-navigation-close {
		box-sizing: border-box;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		border: 1px solid #cfd9e6;
		border-radius: 10px;
		background: #ffffff;
		color: #10213d;
		cursor: pointer;
		font-size: 19px;
		line-height: 1;
		box-shadow: 0 4px 12px rgba(16, 33, 61, .1);
	}

	.app-responsive-navigation-trigger {
		position: absolute;
		top: calc(50% + (env(safe-area-inset-top) / 2));
		right: 12px;
		z-index: 3;
		transform: translateY(-50%);
	}

	.app-responsive-navigation-trigger:hover,
	.app-responsive-navigation-trigger:focus,
	.app-responsive-navigation-close:hover,
	.app-responsive-navigation-close:focus {
		border-color: #ff5a1f;
		outline: 0;
		box-shadow: 0 0 0 3px rgba(255, 90, 31, .16);
	}

	.app-responsive-navigation-backdrop {
		position: fixed;
		inset: 0;
		z-index: 9998;
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0;
		background: rgba(5, 16, 38, .54);
		opacity: 0;
		pointer-events: none;
		transition: opacity .2s ease;
	}

	body.app-responsive-navigation-open .app-responsive-navigation-backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	#MenuHorizontal.app-responsive-navigation-drawer,
	#MenuHorizontal.app-main-navigation {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 9999;
		box-sizing: border-box;
		width: 360px;
		max-width: calc(100vw - 24px);
		height: 100vh;
		height: 100dvh;
		margin: 0;
		padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
		overflow-x: hidden;
		overflow-y: auto;
		border-radius: 0;
		background: #ffffff;
		box-shadow: 18px 0 42px rgba(5, 16, 38, .24);
		transform: translateX(-105%);
		transition: transform .22s ease;
		-webkit-overflow-scrolling: touch;
	}

	body.app-responsive-navigation-open #MenuHorizontal.app-responsive-navigation-drawer,
	body.app-responsive-navigation-open #MenuHorizontal.app-main-navigation {
		transform: translateX(0);
	}

	.app-responsive-navigation-header {
		position: sticky;
		top: 0;
		z-index: 4;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 64px;
		padding: 10px 14px;
		border-bottom: 3px solid #ff5a1f;
		background: #10213d;
		color: #ffffff;
	}

	.app-responsive-navigation-title {
		font-family: Arial, Helvetica, sans-serif;
		font-size: 16px;
		font-weight: bold;
	}

	.app-responsive-navigation-close {
		border-color: rgba(255, 255, 255, .34);
		background: rgba(255, 255, 255, .08);
		color: #ffffff;
		box-shadow: none;
	}

	#MenuHorizontal .app-main-toolbar,
	#MenuHorizontal.app-main-navigation .app-main-toolbar {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0;
		padding: 8px 0;
		border: 0;
		border-radius: 0;
		background: #ffffff;
		box-shadow: none;
	}

	/* O RichFaces conserva no toolbar as cores do menu horizontal mesmo depois
	 * de ele virar drawer. A classe semantica neutraliza essa heranca em Tablet
	 * e Smartphone e garante contraste em toda a arvore, inclusive White Label. */
	#MenuHorizontal .app-responsive-navigation-surface,
	#MenuHorizontal .app-responsive-navigation-surface > tbody,
	#MenuHorizontal .app-responsive-navigation-surface > tbody > tr,
	#MenuHorizontal .app-responsive-navigation-surface > tbody > tr > td.rich-toolbar-item,
	#MenuHorizontal .app-responsive-navigation-surface .rich-toolbar-group,
	#MenuHorizontal .app-responsive-navigation-surface .app-toolbar-actions {
		background: #ffffff !important;
		background-image: none !important;
		color: #10213d !important;
	}

	#MenuHorizontal .app-responsive-navigation-surface > tbody > tr > td.rich-toolbar-item {
		height: auto !important;
		padding: 0 !important;
		border: 0 !important;
		border-bottom: 1px solid #e5ebf2 !important;
		box-shadow: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-menu-item,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-ddmenu-label,
	#MenuHorizontal .app-responsive-navigation-surface .app-toolbar-logout,
	#MenuHorizontal .app-responsive-navigation-surface .app-control-panel-trigger,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-menu-item *,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-ddmenu-label * {
		background: transparent !important;
		color: #10213d !important;
		text-shadow: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-menu-item:hover,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-menu-item:focus,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-ddmenu-label:hover,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-ddmenu-label:focus,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item.app-navigation-active > .rich-menu-item,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item.app-navigation-active > .rich-ddmenu-label,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item.app-navigation-active {
		background: #fff1ea !important;
		color: #c73c0b !important;
		box-shadow: inset 4px 0 0 #ff5a1f !important;
	}

	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item.app-navigation-active *,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-menu-item:hover *,
	#MenuHorizontal .app-responsive-navigation-surface td.rich-toolbar-item > .rich-ddmenu-label:hover * {
		color: #c73c0b !important;
	}

	#MenuHorizontal .app-main-toolbar > tbody,
	#MenuHorizontal .app-main-toolbar > tbody > tr,
	#MenuHorizontal .app-main-toolbar > tbody > tr > td.rich-toolbar-item,
	#MenuHorizontal .app-main-toolbar .rich-toolbar-group {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
	}

	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
	#MenuHorizontal .app-main-toolbar .app-toolbar-logout,
	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger {
		box-sizing: border-box;
		display: flex !important;
		align-items: center;
		width: 100% !important;
		min-width: 44px;
		min-height: 44px;
		margin: 0 !important;
		padding: 11px 16px !important;
		border-radius: 0 !important;
		color: #10213d !important;
		font-size: 14px !important;
		line-height: 20px !important;
		text-align: left;
		text-decoration: none;
		box-shadow: none !important;
	}

	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:hover,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:focus,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:hover,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:focus,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active > .rich-menu-item,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active > .rich-ddmenu-label {
		background: #fff1ea !important;
		color: #c73c0b !important;
	}

	#MenuHorizontal .app-responsive-navigation-section-list:not(.app-responsive-navigation-list-open),
	#MenuHorizontal .app-responsive-navigation-group-list:not(.app-responsive-navigation-list-open) {
		display: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-managed-list {
		position: static !important;
		top: auto !important;
		left: auto !important;
		float: none !important;
		clear: both !important;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		overflow: visible !important;
		visibility: hidden !important;
		transform: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-managed-list .rich-menu-list-strut {
		display: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-section-list.app-responsive-navigation-list-open,
	#MenuHorizontal .app-responsive-navigation-group-list.app-responsive-navigation-list-open {
		position: static !important;
		top: auto !important;
		left: auto !important;
		z-index: auto !important;
		display: block !important;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f8fafc !important;
		box-shadow: none !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	#MenuHorizontal .app-responsive-navigation-list-open,
	#MenuHorizontal .app-responsive-navigation-list-open > .rich-menu-list-bg {
		float: none !important;
		clear: both !important;
		overflow: visible !important;
		transform: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-list-open > .rich-menu-list-bg {
		position: static !important;
		display: block !important;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
		background: #f8fafc !important;
	}

	#MenuHorizontal .app-responsive-navigation-managed-list .underneath_iframe {
		display: none !important;
	}

	#MenuHorizontal .rich-menu-list-border .rich-menu-item,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group {
		position: relative !important;
		float: none !important;
		box-sizing: border-box;
		display: flex !important;
		align-items: center;
		gap: 10px;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 44px;
		padding: 11px 16px 11px 24px !important;
		border-bottom: 1px solid #e7edf3;
		background: #f8fafc !important;
		color: #10213d !important;
		white-space: normal !important;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	#MenuHorizontal .rich-menu-list-border .rich-menu-item-label,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group-label {
		box-sizing: border-box;
		flex: 1 1 auto;
		min-width: 0;
		white-space: normal !important;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	#MenuHorizontal .rich-menu-list-border .rich-menu-item-icon,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group-icon {
		box-sizing: border-box;
		flex: 0 0 20px;
		width: 20px !important;
		text-align: center;
	}

	#MenuHorizontal .rich-menu-list-border .rich-menu-group-expand {
		display: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-group-list > .rich-menu-list-bg {
		border-left: 3px solid #dce5ef;
		background: #ffffff !important;
	}

	#MenuHorizontal .app-responsive-navigation-group-list .rich-menu-item,
	#MenuHorizontal .app-responsive-navigation-group-list .rich-menu-group {
		padding-left: 32px !important;
		background: #ffffff !important;
	}

	#MenuHorizontal .app-responsive-navigation-group-list .app-responsive-navigation-group-list .rich-menu-item,
	#MenuHorizontal .app-responsive-navigation-group-list .app-responsive-navigation-group-list .rich-menu-group {
		padding-left: 40px !important;
	}

	#MenuHorizontal .app-responsive-navigation-section,
	#MenuHorizontal .app-responsive-navigation-section > .rich-ddmenu-label,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group {
		cursor: pointer;
	}

	#MenuHorizontal .app-responsive-navigation-section > .rich-ddmenu-label::after,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group::after {
		content: "+";
		margin-left: auto;
		padding-left: 12px;
		color: #51647d;
		font-family: Arial, Helvetica, sans-serif;
		font-size: 18px;
		font-weight: 700;
	}

	#MenuHorizontal .app-responsive-navigation-section.app-responsive-navigation-section-open > .rich-ddmenu-label::after,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group.app-responsive-navigation-group-open::after {
		content: "\2212";
		color: #c73c0b;
	}

	#MenuHorizontal .app-responsive-navigation-section.app-responsive-navigation-section-open > .rich-ddmenu-label,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group.app-responsive-navigation-group-open {
		background: #fff1ea !important;
		color: #c73c0b !important;
		box-shadow: inset 4px 0 0 #ff5a1f !important;
	}

	#MenuHorizontal .app-responsive-navigation-section.app-responsive-navigation-section-open > .rich-ddmenu-label *,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group.app-responsive-navigation-group-open * {
		color: #c73c0b !important;
	}

	#MenuHorizontal .rich-menu-list-border .rich-menu-item:hover,
	#MenuHorizontal .rich-menu-list-border .rich-menu-item:focus,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group:hover,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group:focus,
	#MenuHorizontal .rich-menu-list-border .rich-menu-item-hover,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group-hover {
		background: #fff1ea !important;
		color: #c73c0b !important;
	}

	#MenuHorizontal .app-main-toolbar .app-control-panel-label {
		display: inline;
	}

	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:hover,
	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:focus {
		background: #fff1ea !important;
		color: #c73c0b !important;
		box-shadow: inset 4px 0 0 #ff5a1f !important;
	}

	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:hover *,
	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:focus * {
		color: #c73c0b !important;
	}

	.conteudo .app-table-scroll,
	.conteudo .app-query-table-scroll {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .body,
	body.app-theme-ruby .body {
		box-sizing: border-box;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 8px;
	}

	#nomesDiv.app-smartphone-app-bar {
		position: relative;
		box-sizing: border-box;
		width: 100%;
		min-height: 72px;
		margin: 6px 0 10px !important;
		padding: env(safe-area-inset-top) 58px 0 0 !important;
		border-radius: 12px !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout,
	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout > tbody,
	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout > tbody > tr {
		display: grid;
		grid-template-columns: minmax(104px, 30%) minmax(0, 1fr);
		align-items: center;
		box-sizing: border-box;
		width: 100% !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: auto !important;
		min-width: 0;
		padding: 9px 8px !important;
		border: 0 !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-logo {
		max-width: 118px;
		max-height: 38px;
		margin: 0;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-context,
	#nomesDiv.app-smartphone-app-bar .app-header-identity-card,
	#nomesDiv.app-smartphone-app-bar .app-header-meta,
	#nomesDiv.app-smartphone-app-bar .app-header-establishment {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		box-shadow: none;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-meta td {
		box-sizing: border-box;
		padding: 2px 0 !important;
		text-align: left !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-user,
	#nomesDiv.app-smartphone-app-bar .app-header-establishment,
	#nomesDiv.app-smartphone-app-bar .app-header-establishment-value,
	#nomesDiv.app-smartphone-app-bar .app-header-establishment-value span {
		max-width: 100%;
		overflow: visible !important;
		white-space: normal !important;
		word-break: normal;
		overflow-wrap: anywhere;
		font-size: 10px;
		line-height: 1.25;
		text-overflow: clip;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-establishment-value input[type="image"] {
		box-sizing: border-box;
		min-width: 44px;
		min-height: 44px;
		width: 44px;
		height: 44px;
		padding: 12px;
	}

	#MenuHorizontal.app-responsive-navigation-drawer,
	#MenuHorizontal.app-main-navigation {
		width: 88vw;
		max-width: 360px;
	}

	.app-footer.app-smartphone-footer {
		padding-bottom: calc(10px + env(safe-area-inset-bottom));
	}

	.app-footer.app-smartphone-footer .app-footer-copyright {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
		padding: 10px 4px;
		font-size: 12px;
	}

	.app-footer.app-smartphone-footer .app-footer-version {
		margin: 0;
		text-align: left;
		white-space: normal;
	}

	.conteudo .rich-tabpanel > tbody > tr:first-child,
	.conteudo .rich-tabpanel-header-position-top {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.conteudo .rich-tab-header {
		min-height: 44px;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
		white-space: nowrap;
	}
}

/* Superficies responsivas compartilhadas ---------------------------------
 * O shell com comportamento de aplicativo precisa ser acompanhado por
 * conteudo tocavel e fluido. Estas regras atuam somente nos dois breakpoints
 * contratuais e preservam integralmente a geometria desktop. */
@media screen and (max-width: 1199px) {
	body.app-theme-ugestor .conteudo,
	body.app-theme-ruby .conteudo,
	body.app-theme-ugestor .conteudo > form,
	body.app-theme-ruby .conteudo > form,
	body.app-theme-ugestor .conteudo .app-query-form,
	body.app-theme-ruby .conteudo .app-query-form,
	body.app-theme-ugestor .conteudo .app-maintenance-form,
	body.app-theme-ruby .conteudo .app-maintenance-form {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.app-theme-ugestor .conteudo .app-page-heading,
	body.app-theme-ruby .conteudo .app-page-heading,
	body.app-theme-ugestor .conteudo .produto-page-heading,
	body.app-theme-ruby .conteudo .produto-page-heading,
	body.app-theme-ugestor .conteudo .app-content-panel,
	body.app-theme-ruby .conteudo .app-content-panel,
	body.app-theme-ugestor .conteudo .app-maintenance-panel,
	body.app-theme-ruby .conteudo .app-maintenance-panel,
	body.app-theme-ugestor .conteudo .app-query-results,
	body.app-theme-ruby .conteudo .app-query-results {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.app-theme-ugestor .conteudo .app-standard-controls input[type="text"],
	body.app-theme-ruby .conteudo .app-standard-controls input[type="text"],
	body.app-theme-ugestor .conteudo .app-standard-controls input[type="password"],
	body.app-theme-ruby .conteudo .app-standard-controls input[type="password"],
	body.app-theme-ugestor .conteudo .app-standard-controls select,
	body.app-theme-ruby .conteudo .app-standard-controls select,
	body.app-theme-ugestor .conteudo .app-standard-controls textarea,
	body.app-theme-ruby .conteudo .app-standard-controls textarea,
	body.app-theme-ugestor .conteudo .app-page-actions input[type="button"],
	body.app-theme-ruby .conteudo .app-page-actions input[type="button"],
	body.app-theme-ugestor .conteudo .app-page-actions input[type="submit"],
	body.app-theme-ruby .conteudo .app-page-actions input[type="submit"],
	body.app-theme-ugestor .conteudo .produto-page-actions input[type="button"],
	body.app-theme-ruby .conteudo .produto-page-actions input[type="button"],
	body.app-theme-ugestor .conteudo .produto-page-actions input[type="submit"],
	body.app-theme-ruby .conteudo .produto-page-actions input[type="submit"] {
		min-height: 44px !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-panel-header,
	body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-panel-header,
	body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-stglpanel-header,
	body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-stglpanel-header {
		min-height: 56px !important;
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel .rich-stglpnl-marker,
	body.app-theme-ruby .conteudo .app-query-filter-panel .rich-stglpnl-marker {
		width: 44px !important;
		height: 44px !important;
		margin: -8px -7px -8px 0 !important;
		line-height: 42px !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel .rich-stglpnl-marker::before,
	body.app-theme-ruby .conteudo .app-query-filter-panel .rich-stglpnl-marker::before {
		line-height: 40px !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-actions > a,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-actions > a,
	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-group .app-filter-action-link,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-group .app-filter-action-link,
	body.app-theme-ugestor .conteudo .app-query-filter-panel img.app-filter-action-icon,
	body.app-theme-ruby .conteudo .app-query-filter-panel img.app-filter-action-icon,
	body.app-theme-ugestor .conteudo img.app-autocomplete-trigger,
	body.app-theme-ruby .conteudo img.app-autocomplete-trigger {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
	}

	body.app-theme-ugestor .conteudo img.app-autocomplete-trigger,
	body.app-theme-ruby .conteudo img.app-autocomplete-trigger {
		padding: 10px !important;
		object-fit: contain;
	}

	.conteudo .rich-tab-header {
		box-sizing: border-box;
		min-height: 44px;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
		white-space: nowrap;
	}

	.conteudo .app-table-scroll,
	.conteudo .app-query-table-scroll {
		scrollbar-gutter: stable;
		overscroll-behavior-x: contain;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .conteudo .app-page-heading,
	body.app-theme-ruby .conteudo .app-page-heading,
	body.app-theme-ugestor .conteudo .produto-page-heading,
	body.app-theme-ruby .conteudo .produto-page-heading {
		padding: 18px !important;
	}

	body.app-theme-ugestor .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions,
	body.app-theme-ruby .conteudo .app-page-heading.app-page-heading-com-acoes > .app-page-actions,
	body.app-theme-ugestor .conteudo .produto-page-heading-com-acoes > .produto-page-actions,
	body.app-theme-ruby .conteudo .produto-page-heading-com-acoes > .produto-page-actions {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		gap: 8px !important;
		width: 100% !important;
		margin-top: 14px !important;
	}

	body.app-theme-ugestor .conteudo .app-page-actions input,
	body.app-theme-ruby .conteudo .app-page-actions input,
	body.app-theme-ugestor .conteudo .produto-page-actions input,
	body.app-theme-ruby .conteudo .produto-page-actions input {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	body.app-theme-ugestor .conteudo .app-standard-controls .name,
	body.app-theme-ruby .conteudo .app-standard-controls .name,
	body.app-theme-ugestor .conteudo .app-standard-controls .value,
	body.app-theme-ruby .conteudo .app-standard-controls .value {
		box-sizing: border-box;
		float: none;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .conteudo .app-standard-controls input.app-control,
	body.app-theme-ruby .conteudo .app-standard-controls input.app-control,
	body.app-theme-ugestor .conteudo .app-standard-controls select.app-control,
	body.app-theme-ruby .conteudo .app-standard-controls select.app-control,
	body.app-theme-ugestor .conteudo .app-standard-controls textarea.app-control,
	body.app-theme-ruby .conteudo .app-standard-controls textarea.app-control {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .conteudo .app-standard-controls .app-autocomplete-control,
	body.app-theme-ruby .conteudo .app-standard-controls .app-autocomplete-control {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed;
	}

	body.app-theme-ugestor .conteudo .app-standard-controls .app-autocomplete-control > tbody > tr > td,
	body.app-theme-ruby .conteudo .app-standard-controls .app-autocomplete-control > tbody > tr > td {
		box-sizing: border-box;
		width: auto !important;
		min-width: 0;
	}

	body.app-theme-ugestor .conteudo .app-standard-controls .app-autocomplete-control > tbody > tr > td:not(:first-child),
	body.app-theme-ruby .conteudo .app-standard-controls .app-autocomplete-control > tbody > tr > td:not(:first-child) {
		width: 44px !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-panel-body,
	body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-panel-body,
	body.app-theme-ugestor .conteudo .app-query-filter-panel > .rich-stglpanel-body,
	body.app-theme-ruby .conteudo .app-query-filter-panel > .rich-stglpanel-body {
		padding: 14px !important;
	}

	body.app-theme-ugestor .conteudo .app-query-filter-panel .app-filter-export-actions,
	body.app-theme-ruby .conteudo .app-query-filter-panel .app-filter-export-actions {
		margin-right: -14px !important;
		margin-bottom: -14px !important;
		margin-left: -14px !important;
		padding-right: 12px !important;
		padding-left: 12px !important;
	}
}

/* Notificacoes globais responsivas --------------------------------------
 * O RichFaces 3 replica a largura fixa do modal em elementos internos. No
 * Smartphone, todos esses niveis precisam acompanhar a viewport; o conteudo
 * rola sozinho e preserva o cabecalho e as duas formas locais de fechamento. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-message-modal,
	body.app-theme-ruby .app-message-modal {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 50% !important;
		/* CDiv possui altura calculada internamente pelo RichFaces. Um translate
		 * vertical usa essa caixa interna e pode deslocar o painel para fora da
		 * viewport; a metade visual fica explicita no proprio viewport. */
		top: calc(50vh - 110px) !important;
		top: calc(50dvh - 110px) !important;
		right: auto !important;
		transform: translate(-50%, -50%);
	}

	body.app-theme-ugestor .app-message-modal .rich-mpnl-panel,
	body.app-theme-ruby .app-message-modal .rich-mpnl-panel,
	body.app-theme-ugestor .app-message-modal .rich-mpnl-shadow,
	body.app-theme-ruby .app-message-modal .rich-mpnl-shadow,
	body.app-theme-ugestor .app-message-modal .rich-mpnl-content,
	body.app-theme-ruby .app-message-modal .rich-mpnl-content {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.app-theme-ugestor .app-message-modal .rich-mpnl-body,
	body.app-theme-ruby .app-message-modal .rich-mpnl-body {
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		max-height: calc(100vh - 88px);
		max-height: calc(100dvh - 88px);
		padding: 0 !important;
		overflow: hidden;
	}

	.app-message-modal .app-message-modal-content {
		flex: 1 1 auto;
		box-sizing: border-box;
		min-height: 0;
		max-height: calc(100vh - 190px);
		max-height: calc(100dvh - 190px);
		padding: 18px 16px 8px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.app-message-modal .app-message-modal-actions {
		flex: 0 0 auto;
		padding: 14px 16px 16px;
	}

	.app-message-modal .app-message-modal-close {
		box-sizing: border-box;
		width: 100%;
		min-height: 44px;
	}

	.app-message-modal .app-modal-close-button {
		width: 44px;
		height: 44px;
	}
}

/* Login Smartphone ------------------------------------------------------- */
@media screen and (max-width: 767px) {
	#loginForm .login-shell {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
	}

	#loginForm .login-access-panel {
		box-sizing: border-box;
		width: 100% !important;
		min-height: 0 !important;
		align-items: center;
		padding: 18px 24px !important;
	}

	#loginForm .login-card {
		box-sizing: border-box;
		max-width: 400px;
		margin: 0 auto;
	}

	#loginForm .login-card-brand {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin: 0 0 26px;
		text-align: center;
	}

	#loginForm .login-logo-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin: 0 !important;
	}

	#loginForm .login-logo {
		width: min(206px, 72vw);
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}

	#loginForm .login-title {
		margin-bottom: 6px;
		font-size: 25px;
	}

	#loginForm .login-subtitle {
		margin-bottom: 20px;
	}

	#loginForm .login-fields {
		margin-bottom: 20px;
	}

	#loginForm .login-input {
		height: 44px;
		margin-bottom: 14px;
		line-height: 44px;
	}

	#loginForm .login-version {
		margin-top: 18px;
	}
}

@media screen and (max-width: 767px) and (max-height: 700px) {
	#loginForm .login-access-panel {
		align-items: flex-start;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}

	#loginForm .login-card-brand {
		margin-bottom: 14px;
	}

	#loginForm .login-logo {
		width: min(174px, 60vw);
	}

	#loginForm .login-title {
		font-size: 22px;
	}

	#loginForm .login-subtitle,
	#loginForm .login-fields {
		margin-bottom: 12px;
	}

	#loginForm .login-version {
		margin-top: 12px;
	}
}

/* Cabeçalho e drawer Smartphone -----------------------------------------
 * O contexto existente de usuário/estabelecimento não é copiado: ele fica
 * oculto na app bar e reaparece visualmente no topo do mesmo drawer quando
 * o menu está aberto. O formulário e os IDs JSF permanecem únicos. */
@media screen and (max-width: 767px) {
	#nomesDiv.app-smartphone-app-bar {
		min-height: 76px;
		padding: env(safe-area-inset-top) 58px 0 !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout,
	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout > tbody,
	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout > tbody > tr {
		display: block !important;
		width: 100% !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout > tbody > tr > td {
		display: block !important;
		width: 100% !important;
		padding: 10px 0 !important;
		text-align: center !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout > tbody > tr > td + td {
		width: 0 !important;
		height: 0 !important;
		padding: 0 !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-brand,
	#nomesDiv.app-smartphone-app-bar .app-header-brand-link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 54px;
		margin: 0 !important;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-logo {
		width: auto;
		max-width: min(172px, 58vw);
		max-height: 48px;
		margin: 0 auto;
	}

	#nomesDiv.app-smartphone-app-bar .app-header-context {
		display: none !important;
	}

	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-context {
		position: fixed;
		top: calc(64px + env(safe-area-inset-top));
		left: 0;
		z-index: 10001;
		box-sizing: border-box;
		display: block !important;
		width: 88vw !important;
		max-width: 360px !important;
		height: 132px;
		margin: 0 !important;
		padding: 12px 16px !important;
		overflow-x: hidden;
		overflow-y: auto;
		border: 0 !important;
		border-bottom: 1px solid #dce5ef !important;
		border-radius: 0 !important;
		background: #f8fafc !important;
		box-shadow: none !important;
		text-align: left !important;
	}

	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-context form,
	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-identity-card,
	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-meta,
	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-meta > tbody,
	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-meta > tbody > tr,
	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-meta > tbody > tr > td {
		box-sizing: border-box;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-user,
	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-establishment {
		box-sizing: border-box;
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 0 8px;
		color: #10213d !important;
		font-size: 11px;
		line-height: 1.35;
		text-align: left !important;
	}

	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-establishment {
		padding: 8px 0 0;
		border-top: 1px solid #dce5ef;
	}

	/*
	 * O suggestionbox e anexado diretamente ao body pelo RichFaces. Durante a
	 * troca de estabelecimento ele precisa ficar acima do drawer e respeitar a
	 * largura util do contexto, mesmo quando o componente informa 500px inline.
	 */
	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] {
		z-index: 10002 !important;
		width: calc(88vw - 48px) !important;
		max-width: 312px !important;
		min-width: 0 !important;
	}

	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] .rich-sb-ext-decor-1,
	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] .rich-sb-ext-decor-2,
	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] .rich-sb-ext-decor-3,
	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] .rich-sb-overflow,
	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] table {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] table {
		table-layout: auto !important;
	}

	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] .richfaces_suggestionSelectValue {
		display: none;
	}

	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] .app-autocomplete-entity-code {
		width: 52px !important;
	}

	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] .app-autocomplete-entity-description {
		width: auto !important;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	body.app-responsive-navigation-open .app-autocomplete-popup[id$="suggestionCompEntidade"] .app-autocomplete-entity-document {
		display: none;
	}

	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-establishment-value {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 44px;
		gap: 8px;
		align-items: center;
		width: 100%;
	}

	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-user *,
	body.app-responsive-navigation-open #nomesDiv.app-smartphone-app-bar .app-header-establishment * {
		color: #10213d !important;
	}

	body.app-responsive-navigation-open #MenuHorizontal .app-main-toolbar,
	body.app-responsive-navigation-open #MenuHorizontal.app-main-navigation .app-main-toolbar {
		padding-top: 140px !important;
	}

	#MenuHorizontal.app-responsive-navigation-drawer,
	#MenuHorizontal.app-main-navigation,
	#MenuHorizontal .app-main-toolbar,
	#MenuHorizontal .app-main-toolbar > tbody,
	#MenuHorizontal .app-main-toolbar > tbody > tr,
	#MenuHorizontal .app-main-toolbar > tbody > tr > td.rich-toolbar-item,
	#MenuHorizontal .app-main-toolbar .rich-toolbar-group,
	#MenuHorizontal .app-main-toolbar .app-toolbar-actions {
		background: #ffffff !important;
		background-image: none !important;
		color: #10213d !important;
	}

	#MenuHorizontal .app-main-toolbar > tbody > tr > td.rich-toolbar-item {
		height: auto !important;
		padding: 0 !important;
		border: 0 !important;
		border-bottom: 1px solid #e5ebf2 !important;
		box-shadow: none !important;
	}

	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
	#MenuHorizontal .app-main-toolbar .app-toolbar-logout,
	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item *,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label * {
		background: transparent !important;
		color: #10213d !important;
		text-shadow: none !important;
	}

	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
	#MenuHorizontal .app-main-toolbar .app-toolbar-logout,
	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger {
		box-sizing: border-box;
		display: flex !important;
		align-items: center;
		gap: 9px;
		width: 100% !important;
		min-height: 48px;
		padding: 13px 18px !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 20px !important;
		text-align: left !important;
	}

	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:hover,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:focus,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:hover,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:focus,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active > .rich-menu-item,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active > .rich-ddmenu-label,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active {
		background: #fff1ea !important;
		color: #c73c0b !important;
		box-shadow: inset 4px 0 0 #ff5a1f !important;
	}

	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active *,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:hover *,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:hover * {
		color: #c73c0b !important;
	}

	#MenuHorizontal .rich-menu-list-border,
	#MenuHorizontal .rich-menu-list-bg,
	#MenuHorizontal .rich-menu-list-border table,
	#MenuHorizontal .rich-menu-list-border tbody,
	#MenuHorizontal .rich-menu-list-border tr,
	#MenuHorizontal .rich-menu-list-border td {
		background: #f8fafc !important;
		background-image: none !important;
		color: #10213d !important;
	}

	#MenuHorizontal .rich-menu-list-border .rich-menu-item,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group,
	#MenuHorizontal .rich-menu-list-border .rich-menu-item *,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group * {
		color: #10213d !important;
		font-size: 13px !important;
		line-height: 20px !important;
		text-shadow: none !important;
	}

}

/* Produtos responsivo ----------------------------------------------------
 * O wrapper canônico é a única superfície de rolagem do grid. As abas rolam
 * apenas no cabeçalho; o conteúdo e os formulários permanecem fluidos. */
@media screen and (max-width: 1199px) {
	#cadastrarProdutoForm .app-product-composition,
	#cadastrarProdutoForm .app-product-composition-pane,
	#cadastrarProdutoForm .app-product-composition-fieldset,
	#cadastrarProdutoForm .app-product-composition-selector,
	#cadastrarProdutoForm .app-product-composition-tabs,
	#cadastrarProdutoForm .app-product-composition-results,
	#cadastrarProdutoForm .app-product-allocation-results,
	#cadastrarProdutoForm .app-product-business-form-grid,
	#cadastrarProdutoForm .app-product-business-results,
	#cadastrarProdutoForm .app-product-business-section,
	#cadastrarProdutoForm .app-product-ecommerce-text-preview,
	#cadastrarProdutoForm .app-product-price-workspace,
	#cadastrarProdutoForm .app-product-price-history-results {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	#cadastrarProdutoForm .app-product-price-workspace,
	#cadastrarProdutoForm .app-product-price-workspace > tbody,
	#cadastrarProdutoForm .app-product-price-workspace > tbody > tr,
	#cadastrarProdutoForm .app-product-price-workspace > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	#cadastrarProdutoForm .gestaoPrecoColunaPrecificacao,
	#cadastrarProdutoForm .gestaoPrecoColunaCusteio {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.conteudo .app-maintenance-tabs > tbody > tr:first-child,
	.conteudo .app-maintenance-tabs .rich-tabpanel-header-position-top,
	.conteudo .app-query-tabs > tbody > tr:first-child,
	.conteudo .app-query-tabs .rich-tabpanel-header-position-top {
		display: block;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	#cadastrarProdutoForm .app-product-image-grid,
	#cadastrarProdutoForm .app-product-image-grid > tbody {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	#cadastrarProdutoForm .app-product-image-grid > tbody > tr {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		width: 100%;
	}

	#cadastrarProdutoForm .app-product-image-grid > tbody > tr > td {
		box-sizing: border-box;
		flex: 1 1 calc(50% - 6px);
		width: calc(50% - 6px) !important;
		min-width: 0;
	}

	#cadastrarProdutoForm .app-product-image-grid img {
		max-width: 100%;
		height: auto;
	}

	#consultaProdutoForm .app-query-row-actions input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 12px !important;
		object-fit: contain;
	}
}

@media screen and (max-width: 850px) {
	#cadastrarProdutoForm .gestaoPrecoCard,
	#cadastrarProdutoForm .gestaoPrecoModo,
	#cadastrarProdutoForm .gestaoPrecoCard > table,
	#cadastrarProdutoForm .gestaoPrecoCard > table > tbody,
	#cadastrarProdutoForm .gestaoPrecoCard > table > tbody > tr,
	#cadastrarProdutoForm .gestaoPrecoCard > table > tbody > tr > td,
	#cadastrarProdutoForm .gestaoPrecoModo > table,
	#cadastrarProdutoForm .gestaoPrecoModo > table > tbody,
	#cadastrarProdutoForm .gestaoPrecoModo > table > tbody > tr,
	#cadastrarProdutoForm .gestaoPrecoModo > table > tbody > tr > td,
	#cadastrarProdutoForm .gestaoPrecoCard > table > tbody > tr > td > .value,
	#cadastrarProdutoForm .gestaoPrecoModo > table > tbody > tr > td > .value {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	#cadastrarProdutoForm .app-product-price-workspace,
	#cadastrarProdutoForm .app-product-price-workspace > tbody,
	#cadastrarProdutoForm .app-product-price-workspace > tbody > tr,
	#cadastrarProdutoForm .app-product-price-workspace > tbody > tr > td,
	#cadastrarProdutoForm [id$="precoProdutoPanel"],
	#cadastrarProdutoForm [id$="precoProdutoPanel"] > tbody,
	#cadastrarProdutoForm [id$="precoProdutoPanel"] > tbody > tr,
	#cadastrarProdutoForm [id$="precoProdutoPanel"] > tbody > tr > td,
	#cadastrarProdutoForm .app-product-business-form-grid,
	#cadastrarProdutoForm .app-product-business-form-grid > tbody,
	#cadastrarProdutoForm .app-product-business-form-grid > tbody > tr,
	#cadastrarProdutoForm .app-product-business-form-grid > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	#cadastrarProdutoForm .gestaoPrecoColunaPrecificacao,
	#cadastrarProdutoForm .gestaoPrecoColunaCusteio {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	#cadastrarProdutoForm .rotuloCusteio,
	#cadastrarProdutoForm .campoCusteio {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		white-space: normal !important;
	}

	#cadastrarProdutoForm .gestaoPrecoTipos,
	#cadastrarProdutoForm .gestaoPrecoTipos > tbody,
	#cadastrarProdutoForm .gestaoPrecoTipos > tbody > tr {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}

	#cadastrarProdutoForm .gestaoPrecoTipos > tbody > tr > td {
		display: flex;
		align-items: center;
		min-height: 44px;
	}

	#cadastrarProdutoForm .gestaoPrecoTipos label {
		white-space: normal !important;
	}

	#cadastrarProdutoForm .app-product-composition-selector,
	#cadastrarProdutoForm .app-product-composition-selector > tbody {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
	}

	#cadastrarProdutoForm .app-product-composition-selector > tbody > tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 44px;
		gap: 8px;
		align-items: center;
	}

	#cadastrarProdutoForm .app-product-composition-select {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

@media screen and (max-width: 767px) {
	body.app-theme-ugestor .conteudo .app-query-tabs.rich-tabpanel,
	body.app-theme-ruby .conteudo .app-query-tabs.rich-tabpanel {
		display: table !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible !important;
	}

	.conteudo .app-query-tabs > tbody > tr:first-child,
	.conteudo .app-query-tabs .rich-tabpanel-header-position-top {
		display: block;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	body.app-theme-ugestor .conteudo .app-query-table-scroll > table.rich-table,
	body.app-theme-ruby .conteudo .app-query-table-scroll > table.rich-table,
	body.app-theme-ugestor .conteudo .app-query-table-scroll > table.rich-dt,
	body.app-theme-ruby .conteudo .app-query-table-scroll > table.rich-dt,
	body.app-theme-ugestor .conteudo .app-table-scroll > table.rich-table,
	body.app-theme-ruby .conteudo .app-table-scroll > table.rich-table,
	body.app-theme-ugestor .conteudo .app-table-scroll > table.rich-dt,
	body.app-theme-ruby .conteudo .app-table-scroll > table.rich-dt {
		display: table !important;
		width: auto !important;
		max-width: none !important;
		overflow: visible !important;
	}

	#cadastrarProdutoForm.app-standard-controls input[type="text"],
	#cadastrarProdutoForm.app-standard-controls input[type="password"],
	#cadastrarProdutoForm.app-standard-controls select,
	#cadastrarProdutoForm.app-standard-controls textarea {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	#cadastrarProdutoForm .app-product-business-section-half,
	#cadastrarProdutoForm .app-product-business-section-full {
		box-sizing: border-box;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	#cadastrarProdutoForm.app-standard-controls input[type="checkbox"] {
		box-sizing: content-box;
		width: 20px;
		height: 20px;
		margin: 0 !important;
		padding: 12px;
	}

	#cadastrarProdutoForm.app-standard-controls table input[type="radio"],
	#consultaProdutoForm.app-standard-controls .app-control-options input[type="radio"] {
		box-sizing: content-box;
		width: 20px;
		height: 20px;
		margin: 0 4px 0 0 !important;
		padding: 12px 4px 12px 12px;
	}

	#cadastrarProdutoForm.app-standard-controls table input[type="radio"] + label,
	#consultaProdutoForm.app-standard-controls .app-control-options input[type="radio"] + label {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	#cadastrarProdutoForm .app-product-ecommerce-text-preview {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	#cadastrarProdutoForm .app-product-image-grid > tbody > tr > td {
		flex-basis: 100%;
		width: 100% !important;
	}
}

@media screen and (max-width: 480px) {
	#cadastrarProdutoForm .gestaoPrecoAcoes input,
	#cadastrarProdutoForm .gestaoPrecoFormacao input[type="submit"],
	#cadastrarProdutoForm .gestaoPrecoFormacao input[type="button"] {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 44px !important;
		margin-left: 0 !important;
		white-space: normal !important;
	}
}

/* O Container do loading e somente o wrapper de posicionamento do RichFaces.
 * Ele deve acompanhar toda a viewport e permanecer transparente em qualquer
 * breakpoint; a mascara fica no sufixo Div e o cartao visivel no CDiv. Isso
 * evita que limites legados do tema pintem uma faixa opaca em celulares
 * dobraveis, tablets e desktop. */
body.app-theme-ugestor #ajaxLoadingModalBoxContainer,
body.app-theme-ruby #ajaxLoadingModalBoxContainer {
	position: fixed !important;
	inset: 0 !important;
	box-sizing: border-box !important;
	width: 100vw !important;
	height: 100vh !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	background-color: transparent !important;
	transform: none !important;
}

/* Smartphone: a margem interna do conteudo deve permanecer simetrica. A
 * camada fluida compartilhada declara width: 100%; sem esta compensacao, os
 * 8px laterais somavam-se a largura e faziam o lado direito ultrapassar o
 * shell. A versao ocupa sua propria linha centralizada no rodape compacto. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .conteudo,
	body.app-theme-ruby .conteudo {
		width: auto !important;
		margin-right: 8px;
		margin-left: 8px;
	}

	.app-footer.app-smartphone-footer .app-footer-version {
		display: block;
		box-sizing: border-box;
		width: 100%;
		margin: 0 auto;
		text-align: center;
		white-space: normal;
	}
}

/* RichFaces 3 cria a caixa realmente visivel do rich:modalPanel em CDiv,
 * abaixo do Container que recebe as classes XHTML. Esta ponte e aplicada pelo
 * app-page-pattern.js somente aos modais responsivos e neutraliza larguras e
 * deslocamentos inline sem tocar nos comandos ou na mascara do componente. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .app-richfaces-responsive-modal-container,
	body.app-theme-ruby .app-richfaces-responsive-modal-container {
		position: fixed !important;
		inset: 0 !important;
		box-sizing: border-box !important;
		width: 100vw !important;
		height: 100vh !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		transform: none !important;
	}

	body.app-theme-ugestor .app-richfaces-responsive-modal-shell,
	body.app-theme-ruby .app-richfaces-responsive-modal-shell {
		position: fixed !important;
		box-sizing: border-box !important;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		min-width: 0 !important;
		left: 50% !important;
		top: 50% !important;
		right: auto !important;
		bottom: auto !important;
		margin: 0 !important;
		-webkit-transform: translate(-50%, -50%) !important;
		transform: translate(-50%, -50%) !important;
	}

	body.app-theme-ugestor .app-richfaces-responsive-modal-shell .rich-mpnl-shadow,
	body.app-theme-ruby .app-richfaces-responsive-modal-shell .rich-mpnl-shadow,
	body.app-theme-ugestor .app-richfaces-responsive-modal-shell .rich-mpnl-content,
	body.app-theme-ruby .app-richfaces-responsive-modal-shell .rich-mpnl-content {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

/* Smartphone: o processamento global permanece centralizado e compacto,
 * independentemente da largura inline informada pelo RichFaces 3. */
@media screen and (max-width: 767px) {
	#ajaxLoadingModalBoxDiv {
		position: fixed !important;
		inset: 0 !important;
		width: auto !important;
		height: auto !important;
		z-index: 2000000000 !important;
	}

	#ajaxLoadingModalBoxContainer {
		box-sizing: border-box;
		overflow: hidden !important;
	}

	/* O RichFaces posiciona o painel visível no sufixo CDiv; o Container
	 * apenas agrupa máscara e conteúdo. */
	#ajaxLoadingModalBoxCDiv {
		position: fixed !important;
		box-sizing: border-box;
		width: calc(100vw - 32px) !important;
		max-width: 360px !important;
		min-width: 0 !important;
		left: 50% !important;
		top: 50% !important;
		bottom: auto !important;
		right: auto !important;
		margin: 0 !important;
		-webkit-transform: translateX(-50%) !important;
		transform: translateX(-50%) !important;
		overflow: hidden !important;
		z-index: 2000000001 !important;
	}

	#ajaxLoadingModalBoxContentTable,
	#ajaxLoadingModalBoxContentDiv,
	#ajaxLoadingModalBoxContainer .rich-mpnl-panel,
	#ajaxLoadingModalBoxContainer .rich-mpnl-shadow,
	#ajaxLoadingModalBoxContainer .rich-mpnl-content {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	#ajaxLoadingModalBoxContainer .rich-mpnl-body {
		box-sizing: border-box;
		width: 100% !important;
		padding: 0 !important;
	}

	#ajaxLoadingModalBoxContainer .app-ajax-loading-content {
		display: flex;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 196px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 16px;
		padding: 28px 24px;
		text-align: center;
	}

	#ajaxLoadingModalBoxContainer .app-ajax-loading-icon {
		position: static;
		flex: 0 0 auto;
		width: 48px;
		font-size: 48px;
		line-height: 1;
	}

	#ajaxLoadingModalBoxContainer .app-ajax-loading-copy {
		flex: 1 1 auto;
		min-width: 0;
		text-align: center;
	}

	#ajaxLoadingModalBoxContainer .app-ajax-loading-title {
		margin-bottom: 8px;
		font-size: 18px;
		line-height: 1.3;
	}

	#ajaxLoadingModalBoxContainer .app-ajax-loading-description {
		font-size: 14px;
		line-height: 1.45;
	}
}

/* Smartphone: resumo e quantidade ficam em linhas proprias; a navegacao usa
 * cinco alvos compactos e simetricos, sem quebrar ou ultrapassar 320px. */
@media screen and (max-width: 767px) {
	body.app-theme-ugestor .conteudo .app-query-pager,
	body.app-theme-ruby .conteudo .app-query-pager {
		display: flex;
		box-sizing: border-box;
		flex-direction: column;
		align-items: center;
		justify-content: stretch;
		gap: 8px;
		width: 100%;
		min-height: 0;
		padding: 12px;
		white-space: normal;
	}

	body.app-theme-ugestor .conteudo .app-query-pager .pager-summary,
	body.app-theme-ruby .conteudo .app-query-pager .pager-summary {
		grid-column: 1 / -1;
		box-sizing: border-box;
		width: 100%;
		margin: 0;
		padding: 10px 12px;
		text-align: center;
		white-space: normal;
	}

	body.app-theme-ugestor .conteudo .app-query-pager .pager-size-row,
	body.app-theme-ruby .conteudo .app-query-pager .pager-size-row {
		display: flex;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		min-height: 44px;
	}

	body.app-theme-ugestor .conteudo .app-query-pager .pager-size-label,
	body.app-theme-ruby .conteudo .app-query-pager .pager-size-label {
		min-width: 0;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.3;
		text-align: left;
	}

	body.app-theme-ugestor .conteudo .app-query-pager select.pager-size-selector,
	body.app-theme-ruby .conteudo .app-query-pager select.pager-size-selector {
		box-sizing: border-box;
		width: 88px !important;
		min-width: 88px !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 8px 12px;
		font-size: 16px;
	}

	body.app-theme-ugestor .conteudo .app-query-pager .pager-navigation,
	body.app-theme-ruby .conteudo .app-query-pager .pager-navigation {
		display: grid;
		box-sizing: border-box;
		grid-template-columns: repeat(5, minmax(44px, 1fr));
		align-items: stretch;
		gap: 8px;
		width: 100%;
		min-width: 0;
	}

	body.app-theme-ugestor .conteudo .app-query-pager .pager-page-indicator,
	body.app-theme-ruby .conteudo .app-query-pager .pager-page-indicator {
		display: flex;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
		min-width: 0;
		height: 48px;
		border: 1px solid #008fa6;
		border-radius: 6px;
		background: #009bb5;
		color: #ffffff;
		font-size: 15px;
		font-weight: bold;
		line-height: 1;
		white-space: nowrap;
		box-shadow: 0 4px 10px rgba(0, 143, 166, .16);
	}

	body.app-theme-ugestor .conteudo .app-query-pager input.pager-button,
	body.app-theme-ruby .conteudo .app-query-pager input.pager-button {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		min-width: 44px !important;
		height: 48px !important;
		min-height: 48px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-color: #c7d4e2 !important;
		background-color: #ffffff !important;
		background-position: center !important;
		background-repeat: no-repeat !important;
		background-size: 22px 22px !important;
		color: transparent !important;
		font-size: 0 !important;
		white-space: nowrap;
		box-shadow: 0 3px 8px rgba(8, 20, 47, .08);
	}

	body.app-theme-ugestor .conteudo .app-query-pager input.pager-first,
	body.app-theme-ruby .conteudo .app-query-pager input.pager-first {
		background-image: url('../img/pagination/pager-first.svg') !important;
	}

	body.app-theme-ugestor .conteudo .app-query-pager input.pager-previous,
	body.app-theme-ruby .conteudo .app-query-pager input.pager-previous {
		background-image: url('../img/pagination/pager-previous.svg') !important;
	}

	body.app-theme-ugestor .conteudo .app-query-pager input.pager-next,
	body.app-theme-ruby .conteudo .app-query-pager input.pager-next {
		background-image: url('../img/pagination/pager-next.svg') !important;
	}

	body.app-theme-ugestor .conteudo .app-query-pager input.pager-last,
	body.app-theme-ruby .conteudo .app-query-pager input.pager-last {
		background-image: url('../img/pagination/pager-last.svg') !important;
	}

	body.app-theme-ugestor .conteudo .app-query-pager input.pager-button:hover,
	body.app-theme-ruby .conteudo .app-query-pager input.pager-button:hover {
		border-color: #19b8da !important;
		background-color: #effbfe !important;
	}

	body.app-theme-ugestor .conteudo .app-query-pager input.pager-button:active,
	body.app-theme-ruby .conteudo .app-query-pager input.pager-button:active {
		transform: translateY(1px);
	}

	body.app-theme-ugestor .conteudo .app-query-pager input.pager-button[disabled],
	body.app-theme-ruby .conteudo .app-query-pager input.pager-button[disabled] {
		border-color: #d7dfeb !important;
		background-color: #eef2f6 !important;
		filter: grayscale(1);
		opacity: .55;
	}
}

/* Shell móvel alinhado ao padrão do BI Ugestor. */
.app-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media screen and (max-width: 1199px) {
	.app-responsive-navigation-trigger {
		left: 12px !important;
		right: auto !important;
		border: 0 !important;
		background: transparent !important;
		color: #10213d !important;
		box-shadow: none !important;
	}

	.app-responsive-navigation-trigger:hover,
	.app-responsive-navigation-trigger:focus,
	.app-responsive-navigation-close:hover,
	.app-responsive-navigation-close:focus {
		background: rgba(0, 129, 119, .1) !important;
		color: #006f68 !important;
	}

	#MenuHorizontal.app-responsive-navigation-drawer,
	#MenuHorizontal.app-main-navigation {
		display: flex !important;
		flex-direction: column;
		width: min(400px, 100vw) !important;
		max-width: 100% !important;
		padding: 0 !important;
		overflow: hidden !important;
		background: #ffffff !important;
		color: #10213d !important;
	}

	.app-responsive-navigation-header {
		position: relative !important;
		display: flex !important;
		flex: 0 0 auto;
		min-height: calc(60px + env(safe-area-inset-top));
		padding: calc(6px + env(safe-area-inset-top)) 14px 6px !important;
		border: 0 !important;
		border-bottom: 1px solid #d8e1eb !important;
		background: #ffffff !important;
		color: #10213d !important;
	}

	.app-responsive-navigation-brand-slot {
		display: flex;
		align-items: center;
		min-width: 0;
	}

	.app-responsive-navigation-brand-slot:not(:empty) + .app-responsive-navigation-title {
		display: none;
	}

	.app-responsive-navigation-brand-slot .app-header-brand,
	.app-responsive-navigation-brand-slot .app-header-brand-link {
		display: inline-flex !important;
		align-items: center;
		justify-content: flex-start !important;
		width: auto !important;
		min-height: 48px;
		margin: 0 !important;
	}

	.app-responsive-navigation-brand-slot .app-header-logo {
		display: block;
		width: auto !important;
		max-width: 178px !important;
		height: auto;
		max-height: 40px !important;
		margin: 0 !important;
	}

	.app-responsive-navigation-title {
		color: #008177;
		font: 700 16px/1.2 Arial, Helvetica, sans-serif;
	}

	.app-responsive-navigation-close {
		border: 0 !important;
		background: transparent !important;
		color: #58708d !important;
		box-shadow: none !important;
	}

	.app-responsive-navigation-scroll {
		box-sizing: border-box;
		flex: 1 1 auto;
		min-height: 0;
		padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-gutter: stable;
		-webkit-overflow-scrolling: touch;
	}

	.app-responsive-navigation-entity {
		display: block;
		box-sizing: border-box;
		margin: 0 0 18px;
		padding: 9px 12px 10px;
		border: 1px solid #d8e1eb;
		border-radius: 12px;
		background: #f7faf9;
	}

	.app-responsive-navigation-section-label,
	.app-responsive-navigation-eyebrow,
	.app-responsive-navigation-explore > h2 {
		display: block;
		margin: 0;
		color: #58708d;
		font: 700 11px/1.3 Arial, Helvetica, sans-serif;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	.app-responsive-navigation-eyebrow {
		margin-bottom: 6px;
		color: #008177;
	}

	.app-responsive-navigation-main {
		display: block;
	}

	.app-responsive-navigation-heading { margin-bottom: 14px; }
	.app-responsive-navigation-heading h1 {
		margin: 0;
		color: #10213d;
		font: 700 24px/1.2 Arial, Helvetica, sans-serif;
	}

	.app-responsive-navigation-search-shell {
		position: sticky;
		top: -14px;
		z-index: 3;
		margin: 0 -2px 18px;
		padding: 2px;
		background: #ffffff;
	}

	.app-responsive-navigation-search {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding-left: 13px;
		border: 1px solid #d8e1eb;
		border-radius: 12px;
		background: #f7faf9;
		color: #58708d;
	}

	.app-responsive-navigation-search > .fa {
		flex: 0 0 20px;
		font-size: 17px;
		text-align: center;
	}

	.app-responsive-navigation-search input[type="search"] {
		box-sizing: border-box;
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
		min-height: 46px;
		padding: 0 8px 0 10px;
		border: 0;
		outline: 0;
		background: transparent;
		color: #10213d;
		font: 14px/1.35 Arial, Helvetica, sans-serif;
		box-shadow: none;
	}

	.app-responsive-navigation-search input[type="search"]::placeholder { color: #58708d; opacity: 1; }
	.app-responsive-navigation-search-clear {
		display: inline-flex;
		box-sizing: border-box;
		flex: 0 0 48px;
		align-items: center;
		justify-content: center;
		min-width: 48px;
		min-height: 48px;
		padding: 0;
		border: 0;
		border-radius: 10px;
		background: transparent;
		color: #58708d;
		cursor: pointer;
	}

	.app-responsive-navigation-search-clear[hidden],
	.app-responsive-navigation-empty[hidden] { display: none !important; }
	.app-responsive-navigation-search-clear:hover,
	.app-responsive-navigation-search-clear:focus { background: rgba(0, 129, 119, .1); color: #006f68; outline: 0; }
	.app-responsive-navigation-explore > h2 { margin-bottom: 8px; }
	.app-responsive-navigation-explore form { margin: 0; }
	.app-responsive-navigation-empty { margin: 0; padding: 20px 4px 28px; color: #58708d; line-height: 1.5; }

	#MenuHorizontal .app-main-toolbar,
	#MenuHorizontal.app-main-navigation .app-main-toolbar { padding: 0 !important; }
	#MenuHorizontal .app-main-toolbar > tbody > tr > td.rich-toolbar-item { border-bottom-color: #d8e1eb !important; }
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label,
	#MenuHorizontal .app-main-toolbar .app-toolbar-logout,
	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger {
		gap: 10px;
		min-height: 56px;
		padding: 8px 5px !important;
		border-radius: 0 !important;
		color: #10213d !important;
		font-size: 14px !important;
		font-weight: 650 !important;
		line-height: 1.35 !important;
	}

	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:hover,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item:focus,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:hover,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label:focus,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active > .rich-menu-item,
	#MenuHorizontal .app-main-toolbar td.rich-toolbar-item.app-navigation-active > .rich-ddmenu-label,
	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:hover,
	#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:focus,
	#MenuHorizontal .app-main-toolbar .app-toolbar-logout:hover,
	#MenuHorizontal .app-main-toolbar .app-toolbar-logout:focus {
		border-radius: 10px !important;
		background: rgba(0, 129, 119, .1) !important;
		color: #006f68 !important;
		box-shadow: none !important;
	}

	#MenuHorizontal .rich-menu-list-border .rich-menu-item,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group {
		min-height: 48px;
		padding: 8px 8px 8px 24px !important;
		border-bottom-color: #e5ebf2;
		background: #f7faf9 !important;
		font-size: 13px !important;
	}

	#MenuHorizontal .app-responsive-navigation-group-list .rich-menu-item,
	#MenuHorizontal .app-responsive-navigation-group-list .rich-menu-group { padding-left: 32px !important; background: #ffffff !important; }
	#MenuHorizontal .app-responsive-navigation-section > .rich-ddmenu-label::after,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group::after {
		content: "\f105";
		color: #58708d;
		font-family: FontAwesome;
		font-size: 16px;
		font-weight: 400;
	}
	#MenuHorizontal .app-responsive-navigation-section.app-responsive-navigation-section-open > .rich-ddmenu-label::after,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group.app-responsive-navigation-group-open::after { content: "\f107"; color: #006f68; }
	#MenuHorizontal .app-responsive-navigation-section.app-responsive-navigation-section-open > .rich-ddmenu-label,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group.app-responsive-navigation-group-open,
	#MenuHorizontal .rich-menu-list-border .rich-menu-item:hover,
	#MenuHorizontal .rich-menu-list-border .rich-menu-group:hover { background: rgba(0, 129, 119, .1) !important; color: #006f68 !important; box-shadow: none !important; }
	#MenuHorizontal .app-main-toolbar .app-toolbar-logout { margin-top: 6px !important; border-top: 1px solid #d8e1eb; }
	#MenuHorizontal .app-responsive-navigation-search-hidden { display: none !important; }

	.app-responsive-navigation-footer {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 62px;
		margin-top: 16px;
		padding-top: 11px;
		border-top: 1px solid #d8e1eb;
	}
	.app-responsive-navigation-account-slot { flex: 1 1 auto; min-width: 0; }
	.app-responsive-navigation-account-slot .app-header-user,
	.app-responsive-navigation-account-slot .app-header-user .prop { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
	.app-responsive-navigation-account-slot .app-header-user .name,
	.app-responsive-navigation-account-slot .app-header-user .value { display: block; color: #10213d !important; font-size: 12px; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
	.app-responsive-navigation-account-slot .app-header-user .name { color: #58708d !important; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
	.app-responsive-navigation-account-slot .app-header-user .value { margin-top: 2px; font-weight: 700; }
	.app-responsive-navigation-version { flex: 0 0 auto; color: #58708d; font-size: 9px; line-height: 1.35; text-align: right; }
}

@media screen and (max-width: 767px) {
	#nomesDiv.app-smartphone-app-bar {
		min-height: 64px !important;
		margin: 0 0 8px !important;
		padding: env(safe-area-inset-top) 58px 0 !important;
		border-radius: 0 0 12px 12px !important;
	}
	#nomesDiv.app-smartphone-app-bar .app-header-modern-layout > tbody > tr > td { padding: 5px 0 !important; }
	#nomesDiv.app-smartphone-app-bar .app-header-logo { max-width: min(170px, 56vw); max-height: 42px; }

	.app-responsive-navigation-context-slot .app-header-context,
	.app-responsive-navigation-context-slot .app-header-context form,
	.app-responsive-navigation-context-slot .app-header-identity-card,
	.app-responsive-navigation-context-slot .app-header-meta,
	.app-responsive-navigation-context-slot .app-header-meta > tbody,
	.app-responsive-navigation-context-slot .app-header-meta > tbody > tr,
	.app-responsive-navigation-context-slot .app-header-meta > tbody > tr > td {
		position: static !important;
		display: block !important;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-align: left !important;
	}
	.app-responsive-navigation-context-slot .app-header-meta > tbody > tr:first-child { display: none !important; }
	.app-responsive-navigation-context-slot .app-header-establishment { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
	.app-responsive-navigation-context-slot .app-header-establishment .prop { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
	.app-responsive-navigation-context-slot .app-header-establishment .name { display: none; }
	.app-responsive-navigation-context-slot .app-header-establishment .value,
	.app-responsive-navigation-context-slot .app-header-establishment-value {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 44px;
		align-items: center;
		gap: 8px;
		width: 100%;
		margin: 0;
		color: #10213d !important;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.35;
		white-space: normal;
	}
	.app-responsive-navigation-context-slot .app-header-establishment-value > span:first-child { min-width: 0; overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
	.app-responsive-navigation-context-slot .app-header-establishment-value input[type="image"] {
		box-sizing: border-box !important;
		width: 44px !important;
		height: 44px !important;
		padding: 12px !important;
		border: 0 !important;
		border-radius: 10px;
		background: rgba(0, 129, 119, .1) !important;
		box-shadow: none !important;
	}
	body.app-responsive-navigation-open #MenuHorizontal .app-main-toolbar,
	body.app-responsive-navigation-open #MenuHorizontal.app-main-navigation .app-main-toolbar { padding-top: 0 !important; }
}

@media screen and (max-width: 479px) {
	#MenuHorizontal.app-responsive-navigation-drawer,
	#MenuHorizontal.app-main-navigation { width: 100vw !important; box-shadow: none; }
}

/* Drawer do ERP: catálogo próprio com o mesmo contrato visual e de navegação do BI. */
@media screen and (max-width: 1199px) {
	#MenuHorizontal .app-responsive-navigation-source {
		position: absolute !important;
		left: -10000px !important;
		top: auto !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
	}

	#MenuHorizontal .app-responsive-navigation-header {
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		align-items: center;
	}

	#MenuHorizontal .app-responsive-navigation-brand {
		display: inline-flex;
		grid-column: 2;
		align-items: center;
		justify-self: center;
		gap: 10px;
		min-width: 0;
		max-width: 100%;
		min-height: 48px;
		color: #008177 !important;
		font: 700 17px/1.2 Arial, Helvetica, sans-serif;
		text-align: center;
		text-decoration: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-brand img {
		display: block;
		flex: 0 0 34px;
		width: 34px !important;
		height: 34px !important;
		max-width: 34px !important;
		max-height: 34px !important;
		object-fit: contain;
	}

	#MenuHorizontal .app-responsive-navigation-brand .app-responsive-navigation-product-logo {
		flex: 0 1 auto;
		width: min(178px, 52vw) !important;
		height: auto !important;
		max-width: 178px !important;
		max-height: 40px !important;
	}

	#MenuHorizontal .app-responsive-navigation-close {
		display: inline-flex;
		grid-column: 3;
		flex: 0 0 44px;
		align-items: center;
		justify-content: center;
		justify-self: end;
		width: 44px;
		height: 44px;
		padding: 0;
		border-radius: 12px !important;
		font-size: 17px;
		cursor: pointer;
	}

	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-context,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-context form,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-identity-card,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-meta,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-meta > tbody,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-meta > tbody > tr,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-meta > tbody > tr > td {
		position: static !important;
		display: block !important;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-align: left !important;
	}

	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-meta > tbody > tr:first-child,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-establishment .name {
		display: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-establishment,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-establishment .prop {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-establishment .value,
	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-establishment-value {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 40px;
		align-items: center;
		gap: 8px;
		width: 100%;
		margin: 0;
		color: #10213d !important;
		font: 700 13px/1.4 Arial, Helvetica, sans-serif;
		white-space: normal;
	}

	#MenuHorizontal .app-responsive-navigation-context-slot .app-header-establishment-value input[type="image"] {
		box-sizing: border-box !important;
		width: 40px !important;
		height: 40px !important;
		padding: 11px !important;
		border: 0 !important;
		border-radius: 10px;
		background: rgba(0, 129, 119, .1) !important;
		box-shadow: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-heading {
		display: flex;
		align-items: center;
		gap: 8px;
		min-height: 32px;
	}

	#MenuHorizontal .app-responsive-navigation-back {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		min-height: 32px;
		padding: 0 8px 0 0;
		border: 0;
		background: transparent;
		color: #58708d;
		font: 700 12px/1.2 Arial, Helvetica, sans-serif;
		cursor: pointer;
	}

	#MenuHorizontal .app-responsive-navigation-back[hidden] { display: none !important; }
	#MenuHorizontal .app-responsive-navigation-back:hover,
	#MenuHorizontal .app-responsive-navigation-back:focus { color: #006f68; outline: 0; }

	#MenuHorizontal .app-responsive-navigation-current {
		margin: 0 0 18px;
	}

	#MenuHorizontal .app-responsive-navigation-current[hidden] { display: none !important; }

	#MenuHorizontal .app-responsive-navigation-current > h2,
	#MenuHorizontal .app-responsive-navigation-explore > h2 {
		margin: 0 0 8px;
		color: #58708d;
		font: 700 11px/1.3 Arial, Helvetica, sans-serif;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	#MenuHorizontal .app-responsive-navigation-current-link {
		display: grid;
		box-sizing: border-box;
		grid-template-columns: 30px minmax(0, 1fr) 20px;
		align-items: center;
		gap: 10px;
		min-height: 64px;
		padding: 10px 12px;
		border-radius: 12px;
		background: rgba(0, 129, 119, .12);
		color: #10213d !important;
		text-decoration: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-current-icon,
	#MenuHorizontal .app-responsive-navigation-item-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 30px;
		height: 30px;
		color: #58708d;
		font-size: 17px;
	}

	#MenuHorizontal .app-responsive-navigation-current-copy,
	#MenuHorizontal .app-responsive-navigation-item-copy {
		display: block;
		min-width: 0;
	}

	#MenuHorizontal .app-responsive-navigation-current-copy strong,
	#MenuHorizontal .app-responsive-navigation-current-copy small,
	#MenuHorizontal .app-responsive-navigation-item-copy strong,
	#MenuHorizontal .app-responsive-navigation-item-copy small {
		display: block;
		min-width: 0;
		text-align: left;
	}

	#MenuHorizontal .app-responsive-navigation-current-copy strong,
	#MenuHorizontal .app-responsive-navigation-item-copy strong {
		color: #10213d;
		font: 700 14px/1.3 Arial, Helvetica, sans-serif;
		white-space: normal;
	}

	#MenuHorizontal .app-responsive-navigation-current-copy small,
	#MenuHorizontal .app-responsive-navigation-item-copy small {
		margin-top: 2px;
		color: #58708d;
		font: 400 11px/1.35 Arial, Helvetica, sans-serif;
		white-space: normal;
	}

	#MenuHorizontal .app-responsive-navigation-current-arrow {
		color: #58708d;
		font-size: 14px;
		transform: rotate(45deg);
	}

	#MenuHorizontal #app-responsive-navigation-list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#MenuHorizontal .app-responsive-navigation-list-item {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #d8e1eb;
	}

	#MenuHorizontal .app-responsive-navigation-list-item:last-child { border-bottom: 0; }

	#MenuHorizontal .app-responsive-navigation-item {
		display: grid;
		box-sizing: border-box;
		grid-template-columns: 30px minmax(0, 1fr) 18px;
		align-items: center;
		gap: 10px;
		width: 100%;
		min-height: 60px;
		padding: 8px 6px;
		border: 0;
		border-radius: 10px;
		background: transparent;
		color: #10213d;
		font-family: Arial, Helvetica, sans-serif;
		text-align: left;
		text-decoration: none !important;
		cursor: pointer;
	}

	#MenuHorizontal .app-responsive-navigation-item.is-leaf {
		grid-template-columns: 30px minmax(0, 1fr);
	}

	#MenuHorizontal .app-responsive-navigation-item:hover,
	#MenuHorizontal .app-responsive-navigation-item:focus,
	#MenuHorizontal .app-responsive-navigation-item.is-active {
		outline: 0;
		background: rgba(0, 129, 119, .1);
		color: #006f68;
	}

	#MenuHorizontal .app-responsive-navigation-item:hover strong,
	#MenuHorizontal .app-responsive-navigation-item:focus strong,
	#MenuHorizontal .app-responsive-navigation-item.is-active strong,
	#MenuHorizontal .app-responsive-navigation-item:hover .app-responsive-navigation-item-icon,
	#MenuHorizontal .app-responsive-navigation-item:focus .app-responsive-navigation-item-icon,
	#MenuHorizontal .app-responsive-navigation-item.is-active .app-responsive-navigation-item-icon {
		color: #006f68;
	}

	#MenuHorizontal .app-responsive-navigation-item-chevron {
		justify-self: end;
		color: #58708d;
		font-size: 13px;
	}

	#MenuHorizontal .app-responsive-navigation-list-item-acao {
		margin-top: 6px;
		border-top: 1px solid #d8e1eb;
	}

	#MenuHorizontal .app-responsive-navigation-list-item-sair {
		border-top: 1px solid #d8e1eb;
		border-bottom: 0;
	}

	#MenuHorizontal .app-responsive-navigation-list-item-sair .app-responsive-navigation-item-icon,
	#MenuHorizontal .app-responsive-navigation-list-item-sair strong { color: #9f3b32; }

	#MenuHorizontal .app-responsive-navigation-footer {
		align-items: center;
		min-height: 58px;
		margin-top: 12px;
		padding-top: 10px;
	}

	#MenuHorizontal .app-responsive-navigation-footer-actions {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		gap: 8px;
	}

	#MenuHorizontal .app-responsive-navigation-support-slot:empty { display: none; }
	#MenuHorizontal .app-responsive-navigation-support-slot #amigoguSupportButtonContainer { margin: 0 !important; }
	#MenuHorizontal .app-responsive-navigation-version { max-width: 92px; }
}

@media screen and (max-width: 900px) {
	body.app-theme-ugestor .conteudo .app-payable-settlement-columns,
	body.app-theme-ruby .conteudo .app-payable-settlement-columns,
	body.app-theme-ugestor .conteudo .app-payable-settlement-columns > tbody,
	body.app-theme-ruby .conteudo .app-payable-settlement-columns > tbody,
	body.app-theme-ugestor .conteudo .app-payable-settlement-columns > tbody > tr,
	body.app-theme-ruby .conteudo .app-payable-settlement-columns > tbody > tr {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}

	body.app-theme-ugestor .conteudo .app-payable-settlement-columns > tbody > tr > td,
	body.app-theme-ruby .conteudo .app-payable-settlement-columns > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
	}

	body.app-theme-ugestor .conteudo .app-payable-settlement-section,
	body.app-theme-ruby .conteudo .app-payable-settlement-section,
	body.app-theme-ugestor .conteudo .app-payable-settlement-section > div,
	body.app-theme-ruby .conteudo .app-payable-settlement-section > div {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	body.app-theme-ugestor .conteudo .app-payable-settlement-form img.rich-spacer,
	body.app-theme-ruby .conteudo .app-payable-settlement-form img.rich-spacer {
		max-width: 100% !important;
	}
}

@media screen and (min-width: 1200px) {
	/* O markup do drawer permanece no mesmo DOM para reaproveitar permissoes e
	 * destinos do menu. No Desktop, somente a arvore RichFaces original pode
	 * participar do fluxo visual. */
	#MenuHorizontal .app-responsive-navigation-header,
	#MenuHorizontal .app-responsive-navigation-entity,
	#MenuHorizontal .app-responsive-navigation-main,
	#MenuHorizontal .app-responsive-navigation-footer {
		display: none !important;
	}

	#MenuHorizontal .app-responsive-navigation-source {
		position: static;
		display: block;
		width: auto;
		height: auto;
		overflow: visible;
	}
}

/* Login do ERP no mesmo padrão de clareza e acabamento do BI Ugestor. */
#loginForm .login-shell { min-height: 100vh; min-height: 100dvh; background: #ffffff; }
#loginForm .login-brand-panel {
	width: 56%;
	min-height: 100vh;
	min-height: 100dvh;
	align-items: center;
	background-image: linear-gradient(118deg, rgba(5, 22, 63, .97) 0%, rgba(5, 43, 76, .87) 52%, rgba(3, 112, 123, .42) 100%), url('../img/imagem_equipe_02.png');
	background-position: center, center;
	background-size: cover, cover;
}
#loginForm .login-hero-logo-link { position: absolute; z-index: 2; top: 34px; left: 50%; display: block; line-height: 0; transform: translateX(-50%); }
#loginForm .login-hero-logo { display: block; width: auto; max-width: 190px; max-height: 54px; object-fit: contain; }
#loginForm .login-brand-content { box-sizing: border-box; width: 100%; max-width: 640px; margin: 0 auto; padding: 48px 64px; }
#loginForm .login-brand-kicker,
#loginForm .login-access-kicker { display: block; color: #32d0d7; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
#loginForm .login-brand-kicker::before,
#loginForm .login-access-kicker::before { display: inline-block; width: 28px; height: 3px; margin: 0 12px 3px 0; border-radius: 999px; background: #ff5a1f; content: ""; }
#loginForm .login-brand-content h1 { max-width: 620px; margin: 20px 0 18px; font-size: clamp(34px, 3.6vw, 54px); line-height: 1.05; letter-spacing: -.04em; }
#loginForm .login-brand-content p { max-width: 520px; color: rgba(244, 251, 252, .86); font-size: 16px; line-height: 1.6; }
#loginForm .login-brand-capabilities { display: flex; flex-wrap: wrap; gap: 9px; margin: 28px 0 0; padding: 0; list-style: none; }
#loginForm .login-brand-capabilities li { padding: 7px 12px; border: 1px solid rgba(126, 226, 229, .28); border-radius: 999px; background: rgba(4, 40, 67, .36); color: #dff9fa; font-size: 12px; font-weight: 700; }
#loginForm .login-brand-signature { position: absolute; z-index: 2; right: 42px; bottom: 28px; margin: 0; color: rgba(255, 255, 255, .68); font-size: 12px; }
#loginForm .login-access-panel { width: 44%; padding: 42px; background: #ffffff; }
#loginForm .login-card { max-width: 440px; }
#loginForm .login-card-brand { display: none; }
#loginForm .login-access-kicker { margin-bottom: 18px; color: #008177; }
#loginForm .login-title { margin-bottom: 8px; color: #10213d; font-size: 34px; letter-spacing: -.025em; }
#loginForm .login-subtitle { margin-bottom: 28px; color: #657891; font-size: 14px; }
#loginForm .login-fields { display: grid; gap: 18px; margin-bottom: 22px; }
#loginForm .login-field { min-width: 0; }
#loginForm .login-label-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#loginForm .login-fields label { margin-bottom: 8px; color: #10213d; font-size: 12px; }
#loginForm .login-control { position: relative; display: flex; align-items: center; min-height: 54px; border: 1px solid #c9d6e4; border-radius: 12px; background: #ffffff; transition: border-color .18s ease, box-shadow .18s ease; }
#loginForm .login-control:focus-within { border-color: #008177; box-shadow: 0 0 0 3px rgba(0, 129, 119, .13); }
#loginForm .login-control > .fa { position: absolute; left: 16px; z-index: 1; width: 18px; color: #6f839c; font-size: 17px; text-align: center; }
#loginForm .login-input { width: 100% !important; height: 52px; margin: 0 !important; padding: 0 48px 0 48px !important; border: 0 !important; border-radius: 12px; background: transparent; color: #10213d; font-size: 15px !important; line-height: 52px; box-shadow: none !important; }
#loginForm .login-input::placeholder { color: #8b9bb0; opacity: 1; }
#loginForm .login-password-toggle { position: absolute; right: 4px; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: #6f839c; cursor: pointer; }
#loginForm .login-password-toggle:hover,
#loginForm .login-password-toggle:focus { background: rgba(0, 129, 119, .1); color: #006f68; outline: 0; }
#loginForm .login-password-toggle.is-visible .fa::before { content: "\f070"; }
#loginForm .login-forgot-password { color: #007b73 !important; font-size: 11px; }
#loginForm input.login-submit { height: 54px; border: 0 !important; border-radius: 12px; background: linear-gradient(135deg, #ff6b2c 0%, #f04409 100%) !important; font-size: 14px !important; box-shadow: 0 12px 24px rgba(240, 68, 9, .2); }
#loginForm input.login-submit:hover,
#loginForm input.login-submit:focus { background: #dc3d08 !important; box-shadow: 0 10px 20px rgba(240, 68, 9, .24); }
#loginForm .login-version { margin-top: 24px; color: #7a8ba0; font-size: 10px; }

@media screen and (max-width: 900px) {
	#loginForm .login-shell { display: block; min-height: 0; overflow: visible; }
	#loginForm .login-brand-panel { display: flex; width: 100%; min-height: 250px; }
	#loginForm .login-hero-logo-link { top: 20px; left: 50%; }
	#loginForm .login-hero-logo { max-width: 168px; max-height: 46px; }
	#loginForm .login-brand-content { padding: 76px 32px 30px; }
	#loginForm .login-brand-content h1 { max-width: 620px; margin-top: 16px; font-size: clamp(28px, 5vw, 36px); }
	#loginForm .login-brand-content p { display: none; }
	#loginForm .login-brand-capabilities { margin-top: 20px; }
	#loginForm .login-brand-signature { display: none; }
	#loginForm .login-access-panel { box-sizing: border-box; width: 100%; min-height: 0; padding: 42px 24px; }
	#loginForm .login-card { width: 100%; max-width: 440px; margin: 0 auto; }
}

@media screen and (max-width: 520px) {
	#loginForm .login-brand-panel { min-height: 220px; }
	#loginForm .login-hero-logo-link { top: 16px; left: 50%; }
	#loginForm .login-hero-logo { max-width: 148px; max-height: 42px; }
	#loginForm .login-brand-content { padding: 64px 22px 20px; }
	#loginForm .login-brand-kicker { font-size: 10px; }
	#loginForm .login-brand-content h1 { margin-bottom: 0; font-size: clamp(23px, 6.5vw, 27px); }
	#loginForm .login-brand-capabilities { gap: 6px; margin-top: 12px; }
	#loginForm .login-brand-capabilities li { padding: 6px 9px; font-size: 10px; }
	#loginForm .login-access-panel { padding: 30px 20px !important; }
	#loginForm .login-access-kicker { margin-bottom: 14px; }
	#loginForm .login-title { font-size: 29px; }
	#loginForm .login-subtitle { margin-bottom: 24px; }
	#loginForm .login-fields { gap: 16px; margin-bottom: 20px; }
}
