html {
	overflow-y: scroll;
}

body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: small;
	line-height: 1.75em;
	position: static;
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

.body {
	line-height: 1.75em;
	position: static;
	width: 97%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	background-position: center;
}

.conteudo {
	margin-left: 0px;
	margin-right: 0px;
}

div {
	position: static;
}

a img {
	border: none;
}

h1 {
	font-size: 1.6em;
	margin-top: 0;
}

input[type=submit], input[type=button] {
	font-size: 11px;
	margin: 5px 5px 5px 0;
	cursor: pointer;
}

input[type=text], input[type=password], textarea {
	font-size: 12px;
	padding-left: 1px;
}

select {
	font-size: 13px;
	width: 200px;
}

.tableControl, .actionButtons {
	width: 100%;
}

.tableControl a {
	padding-left: 10px;
}

.tableControl {
	text-align: right;
}

.rich-table {
	width: 100%;
}

.name {
	vertical-align: bottom;
	font-weight: bold;
	width: 150px;
	float: left;
	padding: 3px;
	margin-top: 3px;
	clear: left;
	position: relative !important;
}

.name_sem_width {
	vertical-align: bottom;
	font-weight: bold;
	float: left;
	padding: 3px;
	margin-top: 3px;
	clear: left;
	position: relative !important;
}

.value {
	float: left;
	padding: 3px;
	margin-top: 3px;
	vertical-align: bottom;
}

.error {
	float: left;
	vertical-align: middle;
}

.errors {
	color: #FF0000;
	padding-left: 3px;
}

img.errors {
	padding-right: 5px;
}

.errors input, .errors textarea, .errors select {
	border: 1px solid red !important;
}

.required {
	color: #FF0000;
	padding-left: 2px;
}

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

/* the specificity here is necessary to override the defaults */
/*
.rich-panel .rich-panel-header,
.rich-stglpanel .rich-stglpanel-header {
	padding: 2px 3px;
}*/
.rich-panel input[type=submit], .rich-panel input[type=button],
	.rich-tabpanel input[type=submit], .rich-tabpanel input[type=button] {
	margin-bottom: 0;
}

.tableControl input[type=submit], .tableControl input[type=button],
	.tableControl select {
	margin: 5px 0 5px 5px;
}

/* I don't know why this is necessary, but the select is off by a pixel on the top and is padding too much on the left */
.tableControl select {
	margin-left: 2px;
	position: relative;
	top: 1px;
}

.actionButtons {
	padding-left: 1px;
}

.actionButtons select {
	margin: 5px 5px 5px 0;
	vertical-align: bottom;
}

.rich-tab-active {
	padding: 3px 10px 4px 10px !important;
}

.rich-toolbar-item a {
	text-decoration: none;
}

td.rich-toolbar-item {
	font-size: 16px !important;
	padding: 19px 49px 26px 0px !important;
	font-weight: bold !important;
	font-family: Verdana, Arial, Helvetica, sans-serif !important;
	position: static !important;
	
}

.rich-toolbar .rich-menu-item {
	font-size: 18px !important;
}

.rich-label-text-decor {
	font-size: 18px !important;
	text-align: center;
}

.rich-toolbar .rich-menu-item {
	font-size: 14px !important;
	font-weight: bold !important;
}
.rich-menu-item, .rich-menu-item a, .rich-menu-item a:hover, .rich-menu-item a:visited, .rich-menu-group, .rich-menu-group a, .rich-menu-group a:hover, .rich-menu-group a:visited {
	font-size: 14px !important;
	font-weight: bold !important;
	
}


.rich-panel-header {
	padding: 9px !important;
	font-size: 12px !important;
}

.rich-toolbar rich-label-text-decor {
	font-size: 18px !important;
	text-align: center;
	
}

.rich-toolbar-item a:hover, .rich-ddmenu-label-select {
	text-decoration: underline;
}

.rich-toolbar-item .rich-menu-item a:hover {
	text-decoration: none;
}

.rich-datalist {
	list-style: square;
	margin: 6px 0 1px 0;
	padding-left: 18px;
}

.rich-list-item {
	padding-bottom: 4px;
}

.dr-tbpnl-cntnt {
	background-color: #ffffff;
}

div.info {
	font-size: 1.2em;
}

ul.bullets {
	list-style: square;
}

ul.bullets li {
	padding-bottom: 2px;
}

td.action {
	text-align: center;
	width: 8em;
	white-space: nowrap;
}

td.action a {
	padding-left: 1px;
	padding-right: 1px;
}

table.radio {
	border: 0;
}

table.radio td {
	padding: 0 2px;
}

table.radio input[type=radio] {
	vertical-align: bottom;
}

.rich-calendar-exterior {
	border-color: #C0C0C0;
	width: 300px;
}

.rich-calendar-popup {
	z-index: 99999999999;
}

.rich-calendar-month {
	font-size: 14px;
	font-family: Arial, Verdana, sans-serif;
	font-weight: bold;
	color: #FFF;
	white-space: nowrap;
}

.rich-calendar-toolfooter {
	font-size: 12px;
	font-family: Arial, Verdana, sans-serif;
}

.rich-calendar-cell-size {
	width: 30px;
	height: 30px;
}

.rich-calendar-cell {
	border-bottom-color: #C0C0C0;
	border-right-color: #C0C0C0;
	background-color: #FFF;
	font-size: 14px;
	font-family: Arial, Verdana, sans-serif;
}

.rich-calendar-select {
	background-color: #4A75B5;
	color: #FFF;
	font-weight: bold;
}

.rich-calendar-holly {
	background-color: #FFEBDA;
	color: #FF7800;
}

.rich-calendar-today {
	background-color: #FF7800;
	color: #FFEBDA;
	font-weight: bold;
}

div#colunaEsquerda {
	float: left;
	width: 49%;
	padding-right: 1em;
}

div#colunaDireita {
	margin-left: 50%;
	padding-left: 1em;
}

.dr-tree-i-sel {
	padding: 1px 3px;
	border: 0px;
	color: #FF4000;
	font-weight: bold;
	background-position: left top;
	background-repeat: repeat-x;
}

a:link {
	text-decoration: none;
	color: #000099
}

a:active {
	text-decoration: none
}

a:visited {
	text-decoration: none;
	color: #000099
}

a:hover {
	text-decoration: underline;
	color: #000099
}

.rich-tab-active {
	color: #000;
	border-color: #FFF;
	font-weight: bold;
}

.rich-tree-node-selected {
	color: orange;
	font-weight: bold;
	border: 0px solid;
}

.rich-tree-node-highlighted {
	color: #424140;
}

.everyThirdDay {
	background-color: gray;
}

.weekendBold {
	font-weight: bold;
	font-style: italic;
}

.panel-title {
	display: block;
	position: static;
	margin-top: 0;
	margin-bottom: 0;
	font-size: 16px;
	color: inherit;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	line-height: 1.1;
	background-image: -webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);
	background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);
	background-repeat: repeat-x;
	color: #333;
	background-color: #f5f5f5;
	border-color: #ddd;
	padding: 10px 15px;
	border-bottom: 1px solid transparent;
	border-top-right-radius: 3px;
	border-top-left-radius: 3px;
	color: #333;
}

.cotacao-enviada {
	font-size: 25px;
	color: #006699;
	margin-top: 200px;
}

.pedido-aceito-fornecedor {
	font-size: 18px;
	color: #006699;
	margin-right: 10px;
}

.pedido-recusado-fornecedor {
	font-size: 18px;
	color: #b21919ab;
	margin-right: 10px;
}

.pedido-a-confirmar-fornecedor {
	font-size: 18px;
	color: #006698;
	margin-right: 10px;
}

.pedido-com-pendencias {
	font-size: 18px;
	color: #b21919ab;
	margin-right: 10px;
}

.cotacao-indisponivel {
	font-size: 25px;
	color: #b21919ab;
	margin-top: 220px;
}

.panel-body {
	box-sizing: border-box;
	padding-right: 15px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	margin-bottom: 20px;
	border: 2px solid #665e6833;
	border-radius: 4px;
	border-top: antiquewhite;
	padding: 15px;
	display: table;
	content: " ";
	height: auto;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	line-height: 1.75em;
	width: 100%;
}

.nomesExternoDiv {
	display: block;
	position: static;
	margin-top: 0;
	margin-bottom: 0;
	font-size: 16px;
	color: inherit;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	line-height: 1.1;
	background-image: -webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);
	background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);
	background-repeat: repeat-x;
	color: #333;
	background-color: #f5f5f5;
	border-color: #ddd;
	padding: 10px 15px;
	border-bottom: 1px solid transparent;
	border-top-right-radius: 3px;
	border-top-left-radius: 3px;
	color: #333;
}

.imgback {
	background-image: url("/gestao-web/img/head.png");
	background-repeat: repeat-x;
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 0;
}

.imgHeader {
	margin-top: 17px;
	margin-left: 125px;
	mix-blend-mode: multiply;
}

.contentProdutos {
	margin-top: 165px;
}

.pedidoExternoHeader {
	float: right;
	margin-top: -380px;
	position: relative;
	font-size: x-large;
	color: #1b97c7;
}

.cotProdHeader {
	float: right;
	margin-top: -400px;
	position: relative;
	font-size: x-large;
	color: #1b97c7;
}

.btnEnvAnalise {
	padding-right: 2px;
	font-size: 14px !important;
	position: relative;
	margin-top: -70px;
}

.btnSalvarNumeroSerieNota {
	position: relative;
	font-size: 14px !important;
	float: right;
	clear: both;
}

#cotacoesProdutoTable .rich-table-cell {
	background: red;
}

.inputExternoPedido {
	font-size: 14px !important;
	width: 50%;
	float: right;
	clear: both;
}

.textoExternoGridPedido {
	font-size: 14px;
}

.headerExternoGridPedido {
	font-size: 14px;
	font-weight: bolder;
}

.top {
	vertical-align: top !important;
}

.alinhamentoDireita{
	text-align:right !important;
}

.dfcDiario{
	vertical-align: top !important;
	font-size: 9px !important;
	width: 50%;
}
.upload-info {
	height: 202px;
	overflow: auto;
}

.rich-tab-active {
	cursor: default !important; 
}

.rich-tab-header {
	cursor: pointer;
	transition: box-shadow 0.2s ease;
}

.rich-tab-inactive:hover {
  	box-shadow: 2px 4px 8px rgba(26, 26, 26, 0.2), inset 0 0 10px rgb(26 26 26 / 13%);
}

.gestaoPrecoColunaPrecificacao {
	vertical-align: top;
	width: 60%;
	padding-right: 12px;
}

.gestaoPrecoColunaCusteio {
	vertical-align: top;
	width: 40%;
	padding-left: 4px;
}

.rotuloCusteio {
	font-weight: bold;
	padding: 3px 8px 3px 0;
	white-space: nowrap;
}

.campoCusteio {
	padding: 3px 0;
}

.gestaoPrecoCard {
	margin: 0;
	padding: 14px 16px 16px;
	border: 1px solid #c8d2d8;
	background: #fbfcfd;
}

.gestaoPrecoCard > legend,
.gestaoPrecoModo > legend {
	padding: 0 7px;
	color: #bd361f;
	font-size: 14px;
	font-weight: bold;
}

.gestaoPrecoTipos label {
	display: inline-block;
	margin: 0 16px 6px 4px;
	white-space: nowrap;
}

.gestaoPrecoModo {
	margin: 12px 0 4px;
	padding: 12px 14px 10px;
	border: 1px solid #d5dde1;
	background: #ffffff;
}

.gestaoPrecoAjuda {
	display: block;
	margin: 0 0 10px;
	color: #52636d;
	line-height: 1.35;
}

.gestaoPrecoAcoes {
	padding: 8px 0 0;
}

.gestaoPrecoAcoes input {
	margin: 0 8px 6px 0;
	min-width: 180px !important;
	width: auto !important;
	height: auto !important;
	padding: 8px 12px !important;
	white-space: nowrap;
}

#buttonsCalculaDiv input {
	min-width: 180px !important;
}

.percentualMarkup {
	width: 150px;
	text-align: right;
}

.gestaoPrecoTabela {
	margin-top: 8px;
	border: 1px solid #d5dde1;
}

.gestaoPrecoTabela .rich-table-headercell {
	background: #eef3f5;
	color: #33434c;
	font-weight: bold;
}

.gestaoPrecoEstadoVazio {
	display: block;
	margin: 8px 0 2px;
	padding: 9px 10px;
	border-left: 3px solid #c7d2d8;
	color: #52636d;
	background: #f4f7f8;
}

.gestaoPrecoLegenda {
	clear: both;
	margin-top: 16px;
	padding: 10px 14px;
	border: 1px solid #c9dce6;
	border-left: 4px solid #008aa0;
	background: #f3f8fa;
	color: #40515b;
	line-height: 1.45;
}

.gestaoPrecoLegendaTitulo {
	display: block;
	margin-bottom: 5px;
	color: #2f4b5a;
	font-weight: bold;
}

.gestaoPrecoLegenda ul {
	margin: 0;
	padding-left: 18px;
}

.gestaoPrecoLegenda li {
	margin: 3px 0;
}

.gestaoPrecoFormacao {
	margin-top: 12px;
	padding-bottom: 14px;
}

.gestaoPrecoFormacao .rich-tabpanel {
	margin-top: 12px;
	border: 1px solid #cbd6db;
	background: #f7f9fa;
}

.gestaoPrecoFormacao .rich-tab-header {
	padding: 8px 12px;
	font-weight: bold;
}

.gestaoPrecoFormacao .rich-tabpanel-content {
	padding: 12px;
	background: #ffffff;
}

.gestaoPrecoFormacao fieldset {
	margin: 9px 0;
	padding: 10px 12px;
	border: 1px solid #d5dde1;
	background: #fbfcfd;
}

.gestaoPrecoFormacao fieldset fieldset {
	background: #ffffff;
}

.gestaoPrecoFormacao fieldset > legend {
	padding: 0 6px;
	color: #bd361f;
	font-weight: bold;
}

.gestaoPrecoFormacao input[type="submit"],
.gestaoPrecoFormacao input[type="button"],
#botaoAddTabelaPrecoProduto input {
	min-width: 165px !important;
	width: auto !important;
	height: auto !important;
	padding: 7px 12px !important;
	white-space: nowrap;
}

.gestaoPrecoCusteio {
	margin: 0;
	padding: 14px 16px 16px;
	border: 1px solid #c8d2d8;
	background: #fbfcfd;
}

.gestaoPrecoCusteio > legend,
.gestaoPrecoSubsecao > legend {
	padding: 0 7px;
	color: #bd361f;
	font-size: 14px;
	font-weight: bold;
}

.gestaoPrecoCusteio > input[type="radio"] {
	margin-bottom: 6px;
}

.gestaoPrecoSubsecao {
	margin-top: 12px;
	padding: 11px 13px;
	border: 1px solid #d5dde1;
	background: #ffffff;
}

/* -------------------------------------------------------------------------
 * Área de Produto
 * Camada visual isolada para manutenção, consultas, grupos, subgrupos,
 * associações e agrupamentos. Preserva os componentes e os fluxos Seam.
 * ------------------------------------------------------------------------- */
#cadastrarProdutoForm,
#cadastrarServicoForm,
#consultaProdutoForm,
#consultaGrupoProdutoForm,
#consultaGrupoServicoForm,
#cadastrarGrupoProdutoForm,
#cadastrarGrupoServicoForm,
#consultaProdutoAssociacaoForm,
#cadastrarProdutoAssociacaoForm,
#cadastrarProdutoAgrupadorForm {
	color: #24323a;
}

#cadastrarProdutoForm .rich-panel,
#cadastrarServicoForm .rich-panel,
#consultaProdutoForm .rich-panel,
#consultaGrupoProdutoForm .rich-panel,
#consultaGrupoServicoForm .rich-panel,
#cadastrarGrupoProdutoForm .rich-panel,
#cadastrarGrupoServicoForm .rich-panel,
#consultaProdutoAssociacaoForm .rich-panel,
#cadastrarProdutoAssociacaoForm .rich-panel,
#cadastrarProdutoAgrupadorForm .rich-panel {
	margin: 12px 0;
	border: 1px solid #cbd6dc;
	background: #f8fafb;
	box-shadow: 0 1px 3px rgba(23, 43, 54, 0.08);
}

body.app-theme-ruby #cadastrarProdutoForm .rich-panel-header,
body.app-theme-ruby #cadastrarServicoForm .rich-panel-header,
body.app-theme-ruby #consultaProdutoForm .rich-panel-header,
body.app-theme-ruby #consultaGrupoProdutoForm .rich-panel-header,
body.app-theme-ruby #consultaGrupoServicoForm .rich-panel-header,
body.app-theme-ruby #cadastrarGrupoProdutoForm .rich-panel-header,
body.app-theme-ruby #cadastrarGrupoServicoForm .rich-panel-header,
body.app-theme-ruby #consultaProdutoAssociacaoForm .rich-panel-header,
body.app-theme-ruby #cadastrarProdutoAssociacaoForm .rich-panel-header,
body.app-theme-ruby #cadastrarProdutoAgrupadorForm .rich-panel-header {
	padding: 10px 14px;
	border: 0;
	border-bottom: 1px solid #9e1d16;
	background: linear-gradient(to bottom, #c62a20 0%, #a9100b 100%);
	color: #ffffff;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: 0.1px;
}

#cadastrarProdutoForm .rich-panel-body,
#cadastrarServicoForm .rich-panel-body,
#consultaProdutoForm .rich-panel-body,
#consultaGrupoProdutoForm .rich-panel-body,
#consultaGrupoServicoForm .rich-panel-body,
#cadastrarGrupoProdutoForm .rich-panel-body,
#cadastrarGrupoServicoForm .rich-panel-body,
#consultaProdutoAssociacaoForm .rich-panel-body,
#cadastrarProdutoAssociacaoForm .rich-panel-body,
#cadastrarProdutoAgrupadorForm .rich-panel-body {
	padding: 14px 16px 16px;
	background: #f8fafb;
}

#produtoButtonsDiv,
#buttonsProdutoDiv,
#buttonsGrupoProdutoDiv,
#buttonsGrupoServicoDiv,
#buttonsProdutoAssociacaoDiv,
#grupoProdutoButtonsDiv,
#grupoServicoButtonsDiv,
#buttonsAgrupadorDiv,
#buttonsImportacaoDiv {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	margin: 10px 0 14px;
}

#produtoButtonsDiv input[type="submit"],
#produtoButtonsDiv input[type="button"],
#buttonsProdutoDiv input[type="submit"],
#buttonsProdutoDiv input[type="button"],
#buttonsGrupoProdutoDiv input[type="submit"],
#buttonsGrupoProdutoDiv input[type="button"],
#buttonsGrupoServicoDiv input[type="submit"],
#buttonsGrupoServicoDiv input[type="button"],
#buttonsProdutoAssociacaoDiv input[type="submit"],
#buttonsProdutoAssociacaoDiv input[type="button"],
#grupoProdutoButtonsDiv input[type="submit"],
#grupoProdutoButtonsDiv input[type="button"],
#grupoServicoButtonsDiv input[type="submit"],
#grupoServicoButtonsDiv input[type="button"],
#buttonsAgrupadorDiv input[type="submit"],
#buttonsAgrupadorDiv input[type="button"],
#buttonsImportacaoDiv input[type="submit"],
#buttonsImportacaoDiv input[type="button"] {
	min-width: 118px;
	min-height: 36px;
	margin: 0 !important;
	padding: 8px 16px !important;
	border-radius: 3px;
	font-weight: bold;
	white-space: nowrap;
}

#cadastrarProdutoForm .rich-tabpanel,
#cadastrarServicoForm .rich-tabpanel,
#consultaProdutoForm .rich-tabpanel,
#consultaGrupoProdutoForm .rich-tabpanel,
#consultaGrupoServicoForm .rich-tabpanel,
#cadastrarGrupoProdutoForm .rich-tabpanel,
#consultaProdutoAssociacaoForm .rich-tabpanel,
#cadastrarProdutoAssociacaoForm .rich-tabpanel,
#cadastrarProdutoAgrupadorForm .rich-tabpanel {
	margin-top: 4px;
	border: 1px solid #cbd6dc;
	background: #f8fafb;
}

#cadastrarProdutoForm .rich-tab-header,
#cadastrarServicoForm .rich-tab-header,
#consultaProdutoForm .rich-tab-header,
#consultaGrupoProdutoForm .rich-tab-header,
#consultaGrupoServicoForm .rich-tab-header,
#cadastrarGrupoProdutoForm .rich-tab-header,
#consultaProdutoAssociacaoForm .rich-tab-header,
#cadastrarProdutoAssociacaoForm .rich-tab-header,
#cadastrarProdutoAgrupadorForm .rich-tab-header {
	margin: 0 3px 0 0;
	padding: 9px 14px !important;
	border: 1px solid #cbd6dc;
	border-bottom: 0;
	background: #eef2f4;
	color: #485861;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.2;
	transition: background-color 0.18s ease, color 0.18s ease;
}

#cadastrarProdutoForm .rich-tab-header:hover,
#cadastrarServicoForm .rich-tab-header:hover,
#consultaProdutoForm .rich-tab-header:hover,
#consultaGrupoProdutoForm .rich-tab-header:hover,
#consultaGrupoServicoForm .rich-tab-header:hover,
#cadastrarGrupoProdutoForm .rich-tab-header:hover,
#consultaProdutoAssociacaoForm .rich-tab-header:hover,
#cadastrarProdutoAssociacaoForm .rich-tab-header:hover,
#cadastrarProdutoAgrupadorForm .rich-tab-header:hover {
	background: #e2e9ec;
	box-shadow: none;
}

body.app-theme-ruby #cadastrarProdutoForm .rich-tab-active,
body.app-theme-ruby #cadastrarServicoForm .rich-tab-active,
body.app-theme-ruby #consultaProdutoForm .rich-tab-active,
body.app-theme-ruby #consultaGrupoProdutoForm .rich-tab-active,
body.app-theme-ruby #consultaGrupoServicoForm .rich-tab-active,
body.app-theme-ruby #cadastrarGrupoProdutoForm .rich-tab-active,
body.app-theme-ruby #consultaProdutoAssociacaoForm .rich-tab-active,
body.app-theme-ruby #cadastrarProdutoAssociacaoForm .rich-tab-active,
body.app-theme-ruby #cadastrarProdutoAgrupadorForm .rich-tab-active {
	position: relative;
	margin-bottom: -1px;
	border-color: #b6241a;
	background: #ffffff;
	color: #a51d16;
	box-shadow: inset 0 3px 0 #c62a20;
}

#cadastrarProdutoForm .rich-tabpanel-content,
#cadastrarServicoForm .rich-tabpanel-content,
#consultaProdutoForm .rich-tabpanel-content,
#consultaGrupoProdutoForm .rich-tabpanel-content,
#consultaGrupoServicoForm .rich-tabpanel-content,
#cadastrarGrupoProdutoForm .rich-tabpanel-content,
#consultaProdutoAssociacaoForm .rich-tabpanel-content,
#cadastrarProdutoAssociacaoForm .rich-tabpanel-content,
#cadastrarProdutoAgrupadorForm .rich-tabpanel-content {
	min-height: 188px;
	padding: 16px;
	background: #ffffff;
}

#cadastrarProdutoForm fieldset,
#cadastrarServicoForm fieldset,
#consultaProdutoForm fieldset,
#consultaGrupoProdutoForm fieldset,
#consultaGrupoServicoForm fieldset,
#cadastrarGrupoProdutoForm fieldset,
#consultaProdutoAssociacaoForm fieldset,
#cadastrarProdutoAssociacaoForm fieldset,
#cadastrarProdutoAgrupadorForm fieldset {
	margin: 0 0 14px;
	padding: 14px 16px 16px;
	border: 1px solid #d3dde2;
	background: #fbfcfd;
}

body.app-theme-ruby #cadastrarProdutoForm fieldset > legend,
body.app-theme-ruby #cadastrarServicoForm fieldset > legend,
body.app-theme-ruby #consultaProdutoForm fieldset > legend,
body.app-theme-ruby #consultaGrupoProdutoForm fieldset > legend,
body.app-theme-ruby #consultaGrupoServicoForm fieldset > legend,
body.app-theme-ruby #cadastrarGrupoProdutoForm fieldset > legend,
body.app-theme-ruby #consultaProdutoAssociacaoForm fieldset > legend,
body.app-theme-ruby #cadastrarProdutoAssociacaoForm fieldset > legend,
body.app-theme-ruby #cadastrarProdutoAgrupadorForm fieldset > legend {
	padding: 0 7px;
	color: #b6251b;
	font-size: 14px;
	font-weight: bold;
}

/* Mantém o CSS estático alinhado à skin RichFaces escolhida no profile Maven. */
body.app-theme-ugestor #cadastrarProdutoForm .rich-panel-header,
body.app-theme-ugestor #cadastrarServicoForm .rich-panel-header,
body.app-theme-ugestor #consultaProdutoForm .rich-panel-header,
body.app-theme-ugestor #consultaGrupoProdutoForm .rich-panel-header,
body.app-theme-ugestor #consultaGrupoServicoForm .rich-panel-header,
body.app-theme-ugestor #cadastrarGrupoProdutoForm .rich-panel-header,
body.app-theme-ugestor #cadastrarGrupoServicoForm .rich-panel-header,
body.app-theme-ugestor #consultaProdutoAssociacaoForm .rich-panel-header,
body.app-theme-ugestor #cadastrarProdutoAssociacaoForm .rich-panel-header,
body.app-theme-ugestor #cadastrarProdutoAgrupadorForm .rich-panel-header {
	border-bottom-color: #006f7f;
	background: linear-gradient(to bottom, #079caf 0%, #007c8e 100%);
}

body.app-theme-ugestor #cadastrarProdutoForm .rich-tab-active,
body.app-theme-ugestor #cadastrarServicoForm .rich-tab-active,
body.app-theme-ugestor #consultaProdutoForm .rich-tab-active,
body.app-theme-ugestor #consultaGrupoProdutoForm .rich-tab-active,
body.app-theme-ugestor #consultaGrupoServicoForm .rich-tab-active,
body.app-theme-ugestor #cadastrarGrupoProdutoForm .rich-tab-active,
body.app-theme-ugestor #consultaProdutoAssociacaoForm .rich-tab-active,
body.app-theme-ugestor #cadastrarProdutoAssociacaoForm .rich-tab-active,
body.app-theme-ugestor #cadastrarProdutoAgrupadorForm .rich-tab-active {
	border-color: #008b9c;
	color: #006f7f;
	box-shadow: inset 0 3px 0 #079caf;
}

body.app-theme-ugestor #cadastrarProdutoForm fieldset > legend,
body.app-theme-ugestor #cadastrarServicoForm fieldset > legend,
body.app-theme-ugestor #consultaProdutoForm fieldset > legend,
body.app-theme-ugestor #consultaGrupoProdutoForm fieldset > legend,
body.app-theme-ugestor #consultaGrupoServicoForm fieldset > legend,
body.app-theme-ugestor #cadastrarGrupoProdutoForm fieldset > legend,
body.app-theme-ugestor #consultaProdutoAssociacaoForm fieldset > legend,
body.app-theme-ugestor #cadastrarProdutoAssociacaoForm fieldset > legend,
body.app-theme-ugestor #cadastrarProdutoAgrupadorForm fieldset > legend {
	color: #007c8e;
}

#cadastrarProdutoForm fieldset fieldset,
#cadastrarServicoForm fieldset fieldset,
#consultaProdutoForm fieldset fieldset,
#consultaGrupoProdutoForm fieldset fieldset,
#consultaGrupoServicoForm fieldset fieldset,
#cadastrarGrupoProdutoForm fieldset fieldset,
#consultaProdutoAssociacaoForm fieldset fieldset,
#cadastrarProdutoAssociacaoForm fieldset fieldset,
#cadastrarProdutoAgrupadorForm fieldset fieldset {
	margin-top: 12px;
	margin-bottom: 8px;
	background: #ffffff;
	border-color: #e0e7ea;
}

#cadastrarProdutoForm .name,
#cadastrarServicoForm .name,
#consultaProdutoForm .name,
#consultaGrupoProdutoForm .name,
#consultaGrupoServicoForm .name,
#cadastrarGrupoProdutoForm .name,
#cadastrarGrupoServicoForm .name,
#consultaProdutoAssociacaoForm .name,
#cadastrarProdutoAssociacaoForm .name,
#cadastrarProdutoAgrupadorForm .name {
	width: 185px;
	box-sizing: border-box;
	color: #33434c;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.35;
}

#cadastrarProdutoForm .value,
#cadastrarServicoForm .value,
#consultaProdutoForm .value,
#consultaGrupoProdutoForm .value,
#consultaGrupoServicoForm .value,
#cadastrarGrupoProdutoForm .value,
#cadastrarGrupoServicoForm .value,
#consultaProdutoAssociacaoForm .value,
#cadastrarProdutoAssociacaoForm .value,
#cadastrarProdutoAgrupadorForm .value {
	min-height: 27px;
	line-height: 1.5;
}

#cadastrarProdutoForm input[type="text"],
#cadastrarProdutoForm input[type="password"],
#cadastrarProdutoForm textarea,
#cadastrarProdutoForm select,
#cadastrarServicoForm input[type="text"],
#cadastrarServicoForm input[type="password"],
#cadastrarServicoForm textarea,
#cadastrarServicoForm select,
#consultaProdutoForm input[type="text"],
#consultaProdutoForm textarea,
#consultaProdutoForm select,
#consultaGrupoProdutoForm input[type="text"],
#consultaGrupoProdutoForm textarea,
#consultaGrupoProdutoForm select,
#consultaGrupoServicoForm input[type="text"],
#consultaGrupoServicoForm textarea,
#consultaGrupoServicoForm select,
#cadastrarGrupoProdutoForm input[type="text"],
#cadastrarGrupoProdutoForm textarea,
#cadastrarGrupoProdutoForm select,
#cadastrarGrupoServicoForm input[type="text"],
#cadastrarGrupoServicoForm textarea,
#cadastrarGrupoServicoForm select,
#consultaProdutoAssociacaoForm input[type="text"],
#consultaProdutoAssociacaoForm textarea,
#consultaProdutoAssociacaoForm select,
#cadastrarProdutoAssociacaoForm input[type="text"],
#cadastrarProdutoAssociacaoForm textarea,
#cadastrarProdutoAssociacaoForm select,
#cadastrarProdutoAgrupadorForm input[type="text"],
#cadastrarProdutoAgrupadorForm textarea,
#cadastrarProdutoAgrupadorForm select {
	box-sizing: border-box;
	min-height: 28px;
	border: 1px solid #bccbd2;
	border-radius: 2px;
	background: #ffffff;
	color: #27353c;
	padding: 4px 7px;
	box-shadow: inset 0 1px 2px rgba(24, 44, 55, 0.05);
}

#cadastrarProdutoForm input[type="text"]:focus,
#cadastrarProdutoForm textarea:focus,
#cadastrarProdutoForm select:focus,
#cadastrarServicoForm input[type="text"]:focus,
#cadastrarServicoForm textarea:focus,
#cadastrarServicoForm select:focus,
#consultaProdutoForm input[type="text"]:focus,
#consultaProdutoForm textarea:focus,
#consultaProdutoForm select:focus,
#consultaGrupoProdutoForm input[type="text"]:focus,
#consultaGrupoProdutoForm select:focus,
#consultaGrupoServicoForm input[type="text"]:focus,
#consultaGrupoServicoForm select:focus,
#cadastrarGrupoProdutoForm input[type="text"]:focus,
#cadastrarGrupoProdutoForm select:focus,
#cadastrarGrupoServicoForm input[type="text"]:focus,
#cadastrarGrupoServicoForm select:focus,
#consultaProdutoAssociacaoForm input[type="text"]:focus,
#consultaProdutoAssociacaoForm select:focus,
#cadastrarProdutoAssociacaoForm input[type="text"]:focus,
#cadastrarProdutoAssociacaoForm select:focus,
#cadastrarProdutoAgrupadorForm input[type="text"]:focus,
#cadastrarProdutoAgrupadorForm select:focus {
	border-color: #07879a;
	box-shadow: 0 0 0 2px rgba(7, 135, 154, 0.14);
	outline: 0;
}

#cadastrarProdutoForm input[type="checkbox"],
#cadastrarProdutoForm input[type="radio"],
#cadastrarServicoForm input[type="checkbox"],
#cadastrarServicoForm input[type="radio"],
#consultaProdutoForm input[type="checkbox"],
#consultaProdutoForm input[type="radio"],
#consultaGrupoProdutoForm input[type="checkbox"],
#consultaGrupoProdutoForm input[type="radio"],
#consultaGrupoServicoForm input[type="checkbox"],
#consultaGrupoServicoForm input[type="radio"],
#cadastrarGrupoProdutoForm input[type="checkbox"],
#cadastrarGrupoProdutoForm input[type="radio"],
#consultaProdutoAssociacaoForm input[type="checkbox"],
#consultaProdutoAssociacaoForm input[type="radio"],
#cadastrarProdutoAssociacaoForm input[type="checkbox"],
#cadastrarProdutoAssociacaoForm input[type="radio"],
#cadastrarProdutoAgrupadorForm input[type="checkbox"],
#cadastrarProdutoAgrupadorForm input[type="radio"] {
	accent-color: #087f91;
}

#cadastrarProdutoForm .rich-table,
#cadastrarServicoForm .rich-table,
#consultaProdutoForm .rich-table,
#consultaGrupoProdutoForm .rich-table,
#consultaGrupoServicoForm .rich-table,
#cadastrarGrupoProdutoForm .rich-table,
#consultaProdutoAssociacaoForm .rich-table,
#cadastrarProdutoAssociacaoForm .rich-table,
#cadastrarProdutoAgrupadorForm .rich-table {
	margin-top: 8px;
	border: 1px solid #cbd6dc;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
}

#cadastrarProdutoForm .rich-table-headercell,
#cadastrarServicoForm .rich-table-headercell,
#consultaProdutoForm .rich-table-headercell,
#consultaGrupoProdutoForm .rich-table-headercell,
#consultaGrupoServicoForm .rich-table-headercell,
#cadastrarGrupoProdutoForm .rich-table-headercell,
#consultaProdutoAssociacaoForm .rich-table-headercell,
#cadastrarProdutoAssociacaoForm .rich-table-headercell,
#cadastrarProdutoAgrupadorForm .rich-table-headercell {
	padding: 8px 9px;
	border-color: #cbd6dc;
	background: #e9eff2;
	color: #35464f;
	font-size: 11px;
	font-weight: bold;
}

#cadastrarProdutoForm .rich-table-cell,
#cadastrarServicoForm .rich-table-cell,
#consultaProdutoForm .rich-table-cell,
#consultaGrupoProdutoForm .rich-table-cell,
#consultaGrupoServicoForm .rich-table-cell,
#cadastrarGrupoProdutoForm .rich-table-cell,
#consultaProdutoAssociacaoForm .rich-table-cell,
#cadastrarProdutoAssociacaoForm .rich-table-cell,
#cadastrarProdutoAgrupadorForm .rich-table-cell {
	padding: 7px 9px;
	border-color: #e0e7ea;
	color: #34434b;
}

#cadastrarProdutoForm .rich-table-row:hover .rich-table-cell,
#cadastrarServicoForm .rich-table-row:hover .rich-table-cell,
#consultaProdutoForm .rich-table-row:hover .rich-table-cell,
#consultaGrupoProdutoForm .rich-table-row:hover .rich-table-cell,
#consultaGrupoServicoForm .rich-table-row:hover .rich-table-cell,
#cadastrarGrupoProdutoForm .rich-table-row:hover .rich-table-cell,
#consultaProdutoAssociacaoForm .rich-table-row:hover .rich-table-cell,
#cadastrarProdutoAssociacaoForm .rich-table-row:hover .rich-table-cell,
#cadastrarProdutoAgrupadorForm .rich-table-row:hover .rich-table-cell {
	background: #f1f8f9;
}

#cadastrarProdutoForm .rich-datascr,
#cadastrarServicoForm .rich-datascr,
#consultaProdutoForm .rich-datascr,
#consultaGrupoProdutoForm .rich-datascr,
#consultaGrupoServicoForm .rich-datascr,
#cadastrarGrupoProdutoForm .rich-datascr,
#consultaProdutoAssociacaoForm .rich-datascr,
#cadastrarProdutoAssociacaoForm .rich-datascr,
#cadastrarProdutoAgrupadorForm .rich-datascr {
	margin-top: 10px;
}

#cadastrarProdutoForm .rich-fileupload-button,
#cadastrarProdutoForm .fileUploadAddButtonClass,
#cadastrarServicoForm .rich-fileupload-button,
#cadastrarServicoForm .fileUploadAddButtonClass {
	min-width: 124px;
	min-height: 34px;
	border-radius: 3px;
}

#cadastrarProdutoForm #composicaoProdutoDiv > div > .rich-tabpanel,
#cadastrarProdutoForm #composicaoProdutoDiv fieldset,
#cadastrarProdutoForm #centroCustoTreeDiv,
#cadastrarProdutoForm #contaFinanceiraTreeDiv {
	margin-top: 8px;
}

#cadastrarProdutoForm #listCentroCustoDiv,
#cadastrarProdutoForm #listContaFinanceiraDiv,
#cadastrarProdutoForm #listProdComponenteDiv,
#cadastrarProdutoForm #divAutoCompleteTable {
	width: 100% !important;
	max-width: 760px;
	padding: 10px 12px;
	border: 1px solid #d3dde2;
	background: #fbfcfd;
}

#consultaProdutoForm #pesquisaProdutoDiv,
#consultaGrupoProdutoForm #pesquisaGrupoProdutoDiv,
#consultaGrupoServicoForm #pesquisaGrupoServicoDiv,
#consultaProdutoAssociacaoForm #produtoSelectDiv {
	max-width: 760px;
	padding: 4px 0;
}

#consultaProdutoForm #resultadoProdutoDiv,
#consultaGrupoProdutoForm #resultadoGrupoProdutoDiv,
#consultaGrupoServicoForm #resultadoGrupoServicoDiv,
#consultaProdutoAssociacaoForm #resultadoProdutoAssociacaoDiv {
	padding: 2px 0 14px;
}

/* Modais pertencentes ao cadastro de Produto. */
#panelProdutoConfirmar,
#panelProdutoExcluir,
#panelAlteraPreco,
#panelQuantProduto,
#panelReplicaGrupoNEgocio,
#panelReplicarGrupoNegocio,
#selecionarProdutosAsociacaoPanel {
	color: #2c3a42;
}

#panelProdutoConfirmar fieldset,
#panelProdutoExcluir fieldset,
#panelAlteraPreco fieldset,
#panelQuantProduto fieldset,
#panelReplicaGrupoNEgocio fieldset,
#panelReplicarGrupoNegocio fieldset,
#selecionarProdutosAsociacaoPanel fieldset {
	margin: 8px 0;
	padding: 12px 14px;
	border: 1px solid #d3dde2;
	background: #fbfcfd;
}

#panelProdutoConfirmar input[type="text"],
#panelProdutoExcluir input[type="text"],
#panelAlteraPreco input[type="text"],
#panelQuantProduto input[type="text"],
#panelReplicaGrupoNEgocio input[type="text"],
#panelReplicarGrupoNegocio input[type="text"],
#selecionarProdutosAsociacaoPanel input[type="text"],
#panelProdutoConfirmar select,
#panelProdutoExcluir select,
#panelAlteraPreco select,
#panelQuantProduto select,
#panelReplicaGrupoNEgocio select,
#panelReplicarGrupoNegocio select,
#selecionarProdutosAsociacaoPanel select {
	min-height: 28px;
	border: 1px solid #bccbd2;
	border-radius: 2px;
	padding: 4px 7px;
}

#panelProdutoConfirmar input[type="submit"],
#panelProdutoConfirmar input[type="button"],
#panelProdutoExcluir input[type="submit"],
#panelProdutoExcluir input[type="button"],
#panelAlteraPreco input[type="submit"],
#panelAlteraPreco input[type="button"],
#panelQuantProduto input[type="submit"],
#panelQuantProduto input[type="button"],
#panelReplicaGrupoNEgocio input[type="submit"],
#panelReplicaGrupoNEgocio input[type="button"],
#panelReplicarGrupoNegocio input[type="submit"],
#panelReplicarGrupoNegocio input[type="button"],
#selecionarProdutosAsociacaoPanel input[type="submit"],
#selecionarProdutosAsociacaoPanel input[type="button"] {
	min-height: 34px;
	padding: 7px 14px !important;
	border-radius: 3px;
	font-weight: bold;
	white-space: nowrap;
}

@media screen and (max-width: 980px) {
	#cadastrarProdutoForm .rich-tab-header,
	#cadastrarServicoForm .rich-tab-header,
	#consultaProdutoForm .rich-tab-header,
	#consultaGrupoProdutoForm .rich-tab-header,
	#consultaGrupoServicoForm .rich-tab-header,
	#cadastrarGrupoProdutoForm .rich-tab-header,
	#consultaProdutoAssociacaoForm .rich-tab-header,
	#cadastrarProdutoAssociacaoForm .rich-tab-header,
	#cadastrarProdutoAgrupadorForm .rich-tab-header {
		padding: 8px 10px !important;
	}

	#cadastrarProdutoForm .name,
	#cadastrarServicoForm .name,
	#consultaProdutoForm .name,
	#consultaGrupoProdutoForm .name,
	#consultaGrupoServicoForm .name,
	#cadastrarGrupoProdutoForm .name,
	#cadastrarGrupoServicoForm .name,
	#consultaProdutoAssociacaoForm .name,
	#cadastrarProdutoAssociacaoForm .name,
	#cadastrarProdutoAgrupadorForm .name {
		width: 160px;
	}
}

/* Login ------------------------------------------------------------------ */
#loginForm.login-page {
	margin: 0;
	padding: 0;
	line-height: normal;
}

#loginForm .login-shell {
	box-sizing: border-box;
	display: flex;
	min-height: 100vh;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: #f5f8f9;
	box-shadow: none;
}

#loginForm .login-brand-panel {
	box-sizing: border-box;
	position: relative;
	display: flex;
	width: 54%;
	min-height: 620px;
	overflow: hidden;
	align-items: center;
	background-color: #07184f;
	background-image: linear-gradient(90deg, rgba(5, 22, 78, 0.96) 0%, rgba(6, 46, 85, 0.85) 48%, rgba(5, 87, 101, 0.25) 100%),
		url('../img/imagem_equipe_02.png'),
		radial-gradient(circle at 88% 16%, rgba(33, 167, 181, 0.42) 0, rgba(33, 167, 181, 0) 32%);
	background-position: center, right 7% bottom 1%, 88% 16%;
	background-repeat: no-repeat;
	background-size: cover, auto 92%, auto;
	color: #ffffff;
}

#loginForm .login-brand-panel:before,
#loginForm .login-brand-panel:after {
	position: absolute;
	border: 1px solid rgba(185, 237, 241, 0.18);
	border-radius: 50%;
	content: "";
}

#loginForm .login-brand-panel:before {
	width: 440px;
	height: 440px;
	right: -180px;
	top: -170px;
}

#loginForm .login-brand-panel:after {
	width: 580px;
	height: 580px;
	left: -315px;
	bottom: -370px;
}

#loginForm .login-brand-content {
	position: relative;
	z-index: 1;
	max-width: 520px;
	margin: 0 auto;
	padding: 40px;
}

#loginForm .login-brand-kicker {
	display: block;
	margin-bottom: 20px;
	color: #9de6eb;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.13em;
}

#loginForm .login-brand-content h1 {
	margin: 0 0 20px;
	color: #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 37px;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.16;
}

#loginForm .login-brand-content p {
	max-width: 390px;
	margin: 0;
	color: rgba(244, 251, 252, 0.88);
	font-size: 16px;
	line-height: 1.65;
}

#loginForm .login-brand-signature {
	display: block;
	margin-top: 42px;
	color: #d3f5f7;
	font-size: 13px;
	font-weight: bold;
}

#loginForm .login-access-panel {
	box-sizing: border-box;
	display: flex;
	width: 46%;
	padding: 32px;
	align-items: center;
	justify-content: center;
	background: #ffffff;
}

#loginForm .login-card {
	width: 100%;
	max-width: 400px;
}

#loginForm .login-logo-link {
	display: inline-block;
	margin-bottom: 48px;
}

#loginForm .login-logo {
	display: block;
	width: 226px;
	height: auto;
}

#loginForm .login-title,
#loginForm .login-subtitle,
#loginForm .login-version {
	display: block;
}

#loginForm .login-title {
	margin-bottom: 8px;
	color: #123d4d;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;
}

#loginForm .login-subtitle {
	margin-bottom: 30px;
	color: #667b83;
	font-size: 13px;
	line-height: 1.55;
}

#loginForm .login-fields {
	margin-bottom: 26px;
}

#loginForm .login-fields label {
	display: block;
	margin: 0 0 7px;
	color: #244651;
	font-size: 12px;
	font-weight: bold;
}

#loginForm .login-input {
	box-sizing: border-box;
	width: 100% !important;
	height: 42px;
	margin: 0 0 19px;
	padding: 0 12px !important;
	border: 1px solid #b8cbd1;
	border-radius: 5px;
	background: #ffffff;
	color: #173d49;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 14px !important;
	line-height: 42px;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

#loginForm .login-input:focus {
	border-color: #008b9c;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(0, 139, 156, 0.14);
}

#loginForm .login-forgot-password {
	display: inline-block;
	color: #007b8c !important;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
}

#loginForm .login-forgot-password:hover,
#loginForm .login-forgot-password:focus {
	color: #005f6d !important;
	text-decoration: underline;
}

#loginForm input.login-submit {
	box-sizing: border-box;
	width: 100% !important;
	height: 44px;
	margin: 0 !important;
	border: 1px solid #007b8c !important;
	border-radius: 5px;
	background: linear-gradient(to bottom, #079caf 0%, #007c8e 100%) !important;
	color: #ffffff !important;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 13px !important;
	font-weight: bold;
	letter-spacing: 0.01em;
	text-align: center;
	text-shadow: none;
}

#loginForm input.login-submit:hover,
#loginForm input.login-submit:focus {
	border-color: #006b7a !important;
	background: #007486 !important;
	outline: 0;
	box-shadow: 0 3px 8px rgba(0, 91, 105, 0.24);
}

#loginForm .login-integrated-access {
	display: block;
	margin-top: 14px;
	text-align: center;
}

#loginForm .login-integrated-separator {
	display: block;
	margin-bottom: 10px;
	color: #718594;
	font-size: 11px;
	font-weight: bold;
	text-transform: uppercase;
}

#loginForm input.login-integrated-submit {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	border: 1px solid #0a8eae;
	border-radius: 7px;
	background: #ffffff;
	color: #087c98;
	cursor: pointer;
	font-size: 14px;
	font-weight: bold;
}

#loginForm input.login-integrated-submit:hover,
#loginForm input.login-integrated-submit:focus {
	background: #eef9fb;
	outline: none;
}

.login-callback-card {
	box-sizing: border-box;
	max-width: 420px;
	margin: 15vh auto 0;
	padding: 28px;
	border: 1px solid #d6e2e7;
	border-radius: 10px;
	background: #ffffff;
	color: #0d5368;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	box-shadow: 0 10px 30px rgba(13, 67, 90, .1);
}

/* Callback da autenticacao integrada: estado externo, neutro e responsivo.
 * A tela apenas comunica processamento; a troca PKCE permanece server-side. */
.app-status-page.app-ecosystem-auth-callback {
	min-height: 520px;
}

.app-ecosystem-auth-callback-form {
	margin: 0;
}

.app-ecosystem-auth-callback .app-ecosystem-auth-callback-card {
	box-sizing: border-box;
	width: min(100%, 560px);
	padding: 34px 38px;
	border-left: 4px solid #079caf;
	background: linear-gradient(135deg, #ffffff 0%, #f5fbfc 100%);
	text-align: center;
}

.app-ecosystem-auth-callback-indicator {
	display: inline-flex;
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	margin-bottom: 16px;
	border: 4px solid #c8e8ec;
	border-top-color: #078ca2;
	border-radius: 50%;
	animation: app-ecosystem-auth-callback-spin .8s linear infinite;
}

@keyframes app-ecosystem-auth-callback-spin {
	to {
		transform: rotate(360deg);
	}
}

.app-ecosystem-auth-callback-eyebrow,
.app-ecosystem-auth-callback-guidance {
	display: block;
}

.app-ecosystem-auth-callback .app-ecosystem-auth-callback-eyebrow {
	margin-bottom: 8px;
	color: #078ca2;
}

.app-ecosystem-auth-callback .app-ecosystem-auth-callback-card h2 {
	margin: 0 0 10px;
	color: #123d4d;
	font-size: 26px;
	line-height: 1.25;
}

.app-ecosystem-auth-callback .app-ecosystem-auth-callback-card p {
	margin: 0;
	color: #526d78;
	font-size: 14px;
	line-height: 1.55;
}

.app-ecosystem-auth-callback-guidance {
	margin-top: 16px;
	color: #718794;
	font-size: 12px;
	line-height: 1.45;
}

@media screen and (max-width: 600px) {
	.app-status-page.app-ecosystem-auth-callback {
		min-height: 360px;
		padding: 20px 12px;
	}

	.app-ecosystem-auth-callback .app-ecosystem-auth-callback-card {
		padding: 28px 20px;
	}

	.app-ecosystem-auth-callback .app-ecosystem-auth-callback-card h2 {
		font-size: 23px;
	}
}

#loginForm .login-version {
	margin-top: 22px;
	color: #8a9ba1;
	font-size: 11px;
	text-align: center;
}

@media screen and (max-width: 900px) {
	#loginForm .login-shell {
		min-height: 100vh;
	}

	#loginForm .login-brand-panel {
		display: none;
	}

	#loginForm .login-access-panel {
		width: 100%;
		min-height: 100vh;
	}
}

@media screen and (max-width: 520px) {
	#loginForm .login-shell {
		min-height: 100vh;
		border-radius: 0;
	}

	#loginForm .login-access-panel {
		min-height: 100vh;
		padding: 24px;
	}

	#loginForm .login-logo-link {
		margin-bottom: 38px;
	}

	#loginForm .login-logo {
		width: 206px;
	}

	#loginForm .login-title {
		font-size: 25px;
	}
}

/* Base comum para painéis modais RichFaces. O componente pode ser movido pelo
 * renderizador para fora de .conteudo, por isso a regra é aplicada pelo tema. */
body.app-theme-ugestor .rich-mpnl-content,
body.app-theme-ruby .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 .rich-mpnl-header,
body.app-theme-ruby .rich-mpnl-header {
	padding: 12px 16px !important;
	border: 0 !important;
	background-image: none !important;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: bold;
}

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

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

body.app-theme-ugestor .rich-mpnl-body,
body.app-theme-ruby .rich-mpnl-body {
	padding: 18px !important;
	background: #ffffff;
	color: #284650;
}

@media screen and (max-width: 760px) {
	body.app-theme-ugestor .rich-mpnl-content,
	body.app-theme-ruby .rich-mpnl-content {
		box-sizing: border-box;
		max-width: calc(100vw - 24px) !important;
		max-height: calc(100vh - 24px) !important;
	}

	body.app-theme-ugestor .rich-mpnl-body,
	body.app-theme-ruby .rich-mpnl-body {
		padding: 14px !important;
	}
}

/* Mensagens e modais de retorno ----------------------------------------- */
body.app-theme-ugestor .app-message-modal,
body.app-theme-ruby .app-message-modal,
body.app-theme-ugestor #errorPopup,
body.app-theme-ruby #errorPopup {
	font-family: Verdana, Arial, Helvetica, sans-serif;
}

body.app-theme-ugestor .app-message-modal .rich-mpnl-header,
body.app-theme-ruby .app-message-modal .rich-mpnl-header,
body.app-theme-ugestor #errorPopup .rich-mpnl-header,
body.app-theme-ruby #errorPopup .rich-mpnl-header {
	padding: 0 !important;
	border: 0 !important;
	background: #087f8c !important;
	background-image: none !important;
	color: #ffffff !important;
}

body.app-theme-ruby .app-message-modal .rich-mpnl-header,
body.app-theme-ruby #errorPopup .rich-mpnl-header {
	/* A cor do aviso está no conteúdo semântico; o cabeçalho continua
	 * institucional, como no modal do módulo de Produtos. */
	background-color: #087f8c !important;
}

.app-message-modal-title {
	display: block;
	padding: 13px 17px;
	font-size: 14px;
	font-weight: bold;
	line-height: 22px;
}

.app-message-modal-title-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 8px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 50%;
	color: #ffffff;
	font-family: Georgia, serif;
	font-style: italic;
	font-weight: bold;
	line-height: 20px;
	text-align: center;
	vertical-align: middle;
}

body.app-theme-ugestor .app-message-modal .rich-mpnl-body,
body.app-theme-ruby .app-message-modal .rich-mpnl-body,
body.app-theme-ugestor #errorPopup .rich-mpnl-body,
body.app-theme-ruby #errorPopup .rich-mpnl-body {
	padding: 18px !important;
	background: #ffffff !important;
}

.app-message-modal .app-message-modal-content {
	margin: 0;
	padding: 0;
	text-align: left;
}

.app-message-modal .app-message-modal-content ul,
.app-message-modal.message .app-message-modal-content ul,
.app-message-modal.modalPanelMensagem .app-message-modal-content ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.app-message-modal .app-message-modal-content li {
	position: relative;
	box-sizing: border-box;
	min-height: 58px;
	margin: 0 0 9px !important;
	padding: 14px 15px 14px 48px !important;
	border: 1px solid #d6e3e7 !important;
	border-left-width: 4px !important;
	border-radius: 5px;
	background-image: none !important;
	color: #274852 !important;
	font-size: 13px;
	line-height: 1.5 !important;
	list-style: none !important;
}

.app-message-modal .app-message-modal-content li:before {
	position: absolute;
	left: 14px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border-radius: 50%;
	color: #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: bold;
	line-height: 20px;
	text-align: center;
	content: "i";
}

.app-message-modal .app-message-modal-content li.infomsg {
	border-color: #b9dce2 !important;
	border-left-color: #087f8c !important;
	background-color: #f2fafb !important;
}

.app-message-modal .app-message-modal-content li.infomsg:before {
	background: #087f8c;
}

.app-message-modal .app-message-modal-content li.warnmsg {
	border-color: #efd9a9 !important;
	border-left-color: #c68516 !important;
	background-color: #fffaf0 !important;
}

.app-message-modal .app-message-modal-content li.warnmsg:before {
	background: #c68516;
	content: "!";
}

.app-message-modal .app-message-modal-content li.errormsg {
	border-color: #ecc3bf !important;
	border-left-color: #b52418 !important;
	background-color: #fff6f5 !important;
}

.app-message-modal .app-message-modal-content li.errormsg:before {
	background: #b52418;
	content: "!";
}

.app-message-modal .app-message-modal-actions {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #deeaed;
	text-align: right;
}

input.app-message-modal-close,
body.app-theme-ugestor #errorPopup input[type="submit"],
body.app-theme-ruby #errorPopup input[type="submit"] {
	min-width: 104px !important;
	height: 36px !important;
	border: 1px solid #087f8c !important;
	border-radius: 4px !important;
	background: #087f8c !important;
	color: #ffffff !important;
	font-family: Verdana, Arial, Helvetica, sans-serif !important;
	font-size: 12px !important;
	font-weight: bold !important;
	cursor: pointer;
}

input.app-message-modal-close:hover,
input.app-message-modal-close:focus,
body.app-theme-ugestor #errorPopup input[type="submit"]:hover,
body.app-theme-ruby #errorPopup input[type="submit"]:hover {
	border-color: #006c79 !important;
	background: #006c79 !important;
	outline: 0;
}

body.app-theme-ruby input.app-message-modal-close,
body.app-theme-ruby #errorPopup input[type="submit"] {
	border-color: #087f8c !important;
	background: #087f8c !important;
}

body.app-theme-ruby input.app-message-modal-close:hover,
body.app-theme-ruby input.app-message-modal-close:focus,
body.app-theme-ruby #errorPopup input[type="submit"]:hover {
	border-color: #006c79 !important;
	background: #006c79 !important;
}

body.app-theme-ugestor #errorPopup .rich-mpnl-body,
body.app-theme-ruby #errorPopup .rich-mpnl-body {
	color: #284650;
	font-size: 13px;
	line-height: 1.55;
}

/* Erro inesperado: conteúdo técnico preservado em um modal responsivo. */
.app-error-modal,
.app-error-modal .rich-mpnl-content {
	border: 1px solid #b8d5da !important;
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(18, 61, 73, 0.24);
	overflow: hidden;
}

.app-error-modal .rich-mpnl-header {
	padding: 0 !important;
	border: 0 !important;
	background: #087f8c !important;
	background-image: none !important;
	color: #ffffff !important;
}

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

.app-error-modal .rich-mpnl-body {
	padding: 0 !important;
	background: #ffffff !important;
	color: #284650;
}

.app-error-modal .erroModalHeader {
	margin: 0;
}

@media screen and (max-width: 760px) {
	#erroSistemaModalContainer,
	#erroSistemaModalContainer .rich-mpnl-content,
	.app-error-modal,
	.app-error-modal .rich-mpnl-content {
		box-sizing: border-box;
		max-width: calc(100vw - 24px) !important;
		max-height: calc(100vh - 24px) !important;
	}

	.app-error-modal .erroInfoGrid td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		text-align: left !important;
	}

	.app-error-modal .erroInfoGrid td:first-child {
		padding-bottom: 2px;
	}

	.app-error-modal .erroModalContent {
		box-sizing: border-box;
		max-height: calc(100vh - 105px) !important;
		padding: 14px !important;
	}

	.app-error-modal .erroBtnContainer {
		text-align: left;
	}

	.app-error-modal .erroBtnPrimary {
		width: 100%;
		margin: 5px 0 0;
	}
}

/* Modais operacionais: confirmação, seleção e apoio às operações do ERP. */
.app-operational-modal .rich-mpnl-content {
	border: 1px solid #b8d5da !important;
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(18, 61, 73, 0.22);
	overflow: hidden;
}
.app-operational-modal.app-quote-supplier-dispatch-modal .rich-mpnl-content {
	overflow: visible !important;
}

.app-operational-modal .rich-mpnl-header {
	padding: 12px 16px !important;
	border: 0 !important;
	background: #087f8c !important;
	color: #ffffff !important;
	font-weight: 700;
}

.app-operational-modal .rich-mpnl-body {
	padding: 18px !important;
	background: #ffffff !important;
	color: #284650;
}

.app-operational-modal input[type="submit"],
.app-operational-modal input[type="button"] {
	min-height: 34px;
	padding: 7px 15px;
	border: 1px solid #087f8c;
	border-radius: 4px;
	background: #087f8c;
	color: #ffffff;
	font-weight: 700;
}

.app-operational-modal input[type="submit"]:hover,
.app-operational-modal input[type="button"]:hover {
	border-color: #056d78;
	background: #056d78;
}

/* Ações das telas legadas: aplica o mesmo ritmo visual sem alterar Ajax. */
body.app-theme-ugestor .conteudo > form > div[id^="buttons"],
body.app-theme-ruby .conteudo > form > div[id^="buttons"],
body.app-theme-ugestor .conteudo > form > div[id$="ButtonsDiv"],
body.app-theme-ruby .conteudo > form > div[id$="ButtonsDiv"] {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin: 14px 0 18px;
	text-align: right !important;
}

body.app-theme-ugestor .conteudo > form > div[id^="buttons"] input[type="submit"],
body.app-theme-ruby .conteudo > form > div[id^="buttons"] input[type="submit"],
body.app-theme-ugestor .conteudo > form > div[id$="ButtonsDiv"] input[type="submit"],
body.app-theme-ruby .conteudo > form > div[id$="ButtonsDiv"] input[type="submit"] {
	min-width: 104px !important;
	min-height: 36px !important;
	margin: 0 !important;
	border: 1px solid #9eb6be !important;
	border-radius: 4px !important;
	background: #ffffff !important;
	color: #214651 !important;
	font-weight: bold !important;
	text-shadow: none !important;
}

body.app-theme-ugestor .conteudo > form > div[id^="buttons"] input.green-button,
body.app-theme-ruby .conteudo > form > div[id^="buttons"] input.green-button,
body.app-theme-ugestor .conteudo > form > div[id$="ButtonsDiv"] input.green-button,
body.app-theme-ruby .conteudo > form > div[id$="ButtonsDiv"] input.green-button {
	border-color: #087f8c !important;
	background: #087f8c !important;
	color: #ffffff !important;
}

@media screen and (max-width: 760px) {
	.app-message-modal .app-message-modal-content li {
		padding-left: 45px !important;
	}

	body.app-theme-ugestor .conteudo > form > div[id^="buttons"],
	body.app-theme-ruby .conteudo > form > div[id^="buttons"],
	body.app-theme-ugestor .conteudo > form > div[id$="ButtonsDiv"],
	body.app-theme-ruby .conteudo > form > div[id$="ButtonsDiv"] {
		justify-content: flex-start;
	}
}

/* Experiência visual unificada - módulo de Produtos */
.produto-page-heading {
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	margin: 16px 0 14px;
	padding: 19px 24px 18px;
	min-height: 92px;
	border: 1px solid #d3e0e5;
	border-left: 5px solid #008c9e;
	border-radius: 4px;
	background: #f8fcfd;
	background: linear-gradient(118deg, #ffffff 0%, #f4fafb 72%, #eaf5f6 100%);
	box-shadow: 0 7px 18px rgba(18, 67, 79, 0.08);
}

.produto-page-heading:after {
	content: "";
	position: absolute;
	right: -48px;
	top: -72px;
	width: 190px;
	height: 190px;
	border-radius: 50%;
	background: rgba(0, 140, 158, 0.06);
}

.produto-page-heading .produto-page-eyebrow,
.produto-page-heading h2,
.produto-page-heading p {
	position: relative;
	z-index: 1;
}

.produto-page-heading .produto-page-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: #087d8e;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.produto-page-heading h2 {
	margin: 0 0 5px !important;
	padding: 0 !important;
	border: 0 !important;
	color: #173d49 !important;
	font-size: 25px !important;
	font-weight: bold;
	line-height: 1.18;
}

.produto-page-heading p {
	margin: 0;
	max-width: 760px;
	color: #5e7480;
	font-size: 13px;
	line-height: 1.45;
}

.produto-page-heading-form {
	margin-top: 8px;
}

.produto-page-heading-com-acoes {
	padding-right: 310px;
}

.produto-page-actions {
	box-sizing: border-box;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin: 0 0 14px !important;
	padding: 10px 12px;
	border: 1px solid #d7e3e7;
	border-radius: 4px;
	background: #f9fcfd;
	box-shadow: 0 4px 10px rgba(18, 67, 79, 0.05);
}

.produto-page-actions input[type="submit"],
.produto-page-actions input[type="button"] {
	min-width: 112px !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 8px 17px !important;
	border-radius: 3px !important;
	font-weight: bold;
	letter-spacing: 0.01em;
	box-shadow: none;
}

.produto-page-actions .produto-action-primary {
	border-color: #007b8c !important;
	background: #008ea1 !important;
	background: linear-gradient(to bottom, #079caf 0%, #007c8e 100%) !important;
	color: #ffffff !important;
}

.produto-page-actions .produto-action-primary:hover {
	border-color: #006d7d !important;
	background: #007a8a !important;
	background: linear-gradient(to bottom, #008b9c 0%, #006e7e 100%) !important;
}

.produto-page-actions .produto-action-secondary {
	border: 1px solid #a7bbc3 !important;
	background: #ffffff !important;
	color: #395561 !important;
}

.produto-page-actions .produto-action-secondary:hover {
	border-color: #7d9da8 !important;
	background: #edf5f7 !important;
	color: #173d49 !important;
}

.produto-page-actions .produto-action-auxiliary {
	border: 1px solid #a7bbc3 !important;
	background: #f2f7f8 !important;
	color: #395561 !important;
}

.produto-page-actions .produto-action-auxiliary:hover {
	border-color: #7d9da8 !important;
	background: #e4eff2 !important;
	color: #173d49 !important;
}

.produto-page-actions input[type="submit"]:focus,
.produto-page-actions input[type="button"]:focus {
	outline: 2px solid #0b8091 !important;
	outline-offset: 2px;
}

.produto-page-actions input[type="submit"][disabled],
.produto-page-actions input[type="button"][disabled] {
	cursor: not-allowed;
	opacity: 0.58;
}

.produto-page-heading-com-acoes .produto-page-actions {
	position: absolute;
	top: 50%;
	right: 24px;
	z-index: 2;
	transform: translateY(-50%);
	margin: 0 !important;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

#cadastrarProdutoForm .produto-page-actions,
#consultaProdutoForm .produto-page-actions,
#consultaGrupoProdutoForm .produto-page-actions,
#cadastrarGrupoProdutoForm .produto-page-actions,
#consultaProdutoAssociacaoForm .produto-page-actions,
#cadastrarProdutoAssociacaoForm .produto-page-actions {
	clear: both;
}

#consultaProdutoForm .produto-search-panel .produto-filter-export-actions {
	clear: both;
	margin-top: 14px;
	padding-top: 10px;
	border-top: 1px solid #d8e3e7;
	text-align: right;
}

#consultaProdutoForm .produto-search-panel .produto-filter-export-actions a {
	display: inline-block;
	vertical-align: middle;
}

/*
 * Distância única entre a navegação global e o contexto da tela.
 * Os dois cabeçalhos reutilizáveis começam no mesmo ritmo visual.
 */
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 > form > .app-page-heading,
body.app-theme-ruby .conteudo > form > .app-page-heading,
body.app-theme-ugestor .conteudo > form > .produto-page-heading,
body.app-theme-ruby .conteudo > form > .produto-page-heading {
	margin-top: 6px;
}

/* O título da página já identifica o cadastro; as abas iniciam sem cabeçalho redundante. */
#cadastrarProdutoForm .produto-content-panel,
#cadastrarServicoForm .app-service-maintenance-panel {
	margin-top: 12px;
	background: #ffffff;
}

#cadastrarProdutoForm .produto-content-panel .rich-panel-body,
#cadastrarServicoForm .app-service-maintenance-panel .rich-panel-body {
	padding: 0;
	background: transparent;
}

#cadastrarProdutoForm .produto-content-panel .rich-tabpanel,
#cadastrarServicoForm .app-service-maintenance-panel .rich-tabpanel {
	margin-top: 0;
}

#consultaProdutoForm .rich-panel,
#consultaGrupoProdutoForm .rich-panel,
#consultaGrupoServicoForm .rich-panel,
#consultaProdutoAssociacaoForm .rich-panel,
#cadastrarProdutoForm .rich-panel,
#cadastrarServicoForm .rich-panel,
#cadastrarGrupoProdutoForm .rich-panel,
#cadastrarGrupoServicoForm .rich-panel,
#cadastrarProdutoAssociacaoForm .rich-panel,
#cadastrarProdutoAgrupadorForm .rich-panel {
	border-color: #d4e0e5;
	box-shadow: 0 5px 14px rgba(18, 67, 79, 0.05);
}

#consultaProdutoForm .rich-panel-header,
#consultaGrupoProdutoForm .rich-panel-header,
#consultaGrupoServicoForm .rich-panel-header,
#consultaProdutoAssociacaoForm .rich-panel-header,
#cadastrarProdutoForm .rich-panel-header,
#cadastrarServicoForm .rich-panel-header,
#cadastrarGrupoProdutoForm .rich-panel-header,
#cadastrarGrupoServicoForm .rich-panel-header,
#cadastrarProdutoAssociacaoForm .rich-panel-header,
#cadastrarProdutoAgrupadorForm .rich-panel-header {
	padding: 10px 14px !important;
	font-size: 13px;
	letter-spacing: 0.01em;
}

#consultaProdutoForm .rich-table,
#consultaGrupoProdutoForm .rich-table,
#consultaGrupoServicoForm .rich-table,
#consultaProdutoAssociacaoForm .rich-table {
	border-color: #c9d9df;
	box-shadow: 0 4px 12px rgba(18, 67, 79, 0.05);
}

@media screen and (max-width: 760px) {
	.produto-page-heading {
		padding: 16px 17px;
	}

	.produto-page-heading-com-acoes {
		padding-right: 17px;
	}

	.produto-page-heading h2 {
		font-size: 21px !important;
	}

	.produto-page-actions {
		justify-content: flex-start;
	}

	.produto-page-heading-com-acoes .produto-page-actions {
		position: relative;
		top: auto;
		right: auto;
		justify-content: flex-end;
		transform: none;
		margin-top: 14px !important;
	}
}

/* Cabeçalho e ações reutilizáveis para os módulos do ERP ----------------- */
body.app-theme-ugestor .app-page-heading,
body.app-theme-ruby .app-page-heading {
	margin: 16px 0 14px;
	padding: 19px 24px 18px;
	min-height: 92px;
	border: 1px solid #d3e0e5;
	border-left: 5px solid #008c9e;
	border-radius: 4px;
	background: #f8fcfd;
	background: linear-gradient(118deg, #ffffff 0%, #f4fafb 72%, #eaf5f6 100%);
	box-shadow: 0 7px 18px rgba(18, 67, 79, 0.08);
}

body.app-theme-ruby .app-page-heading {
	border-left-color: #b52418;
	background: linear-gradient(118deg, #ffffff 0%, #fff8f7 72%, #fbeceb 100%);
}

body.app-theme-ugestor .app-page-heading:after,
body.app-theme-ruby .app-page-heading:after {
	right: -48px;
	top: -72px;
	width: 190px;
	height: 190px;
	border: 0;
	background: rgba(0, 140, 158, 0.06);
}

body.app-theme-ruby .app-page-heading:after {
	background: rgba(181, 36, 24, 0.055);
}

body.app-theme-ugestor .app-page-heading .app-page-eyebrow,
body.app-theme-ruby .app-page-heading .app-page-eyebrow {
	margin-bottom: 4px;
	color: #087d8e;
	font-size: 11px;
	letter-spacing: 0.08em;
}

body.app-theme-ruby .app-page-heading .app-page-eyebrow {
	color: #a02214;
}

body.app-theme-ugestor .app-page-heading h2,
body.app-theme-ruby .app-page-heading h2 {
	margin: 0 0 5px !important;
	color: #173d49 !important;
	font-size: 25px !important;
	line-height: 1.18;
}

body.app-theme-ruby .app-page-heading h2 {
	color: #54251f !important;
}

body.app-theme-ugestor .app-page-heading p,
body.app-theme-ruby .app-page-heading p {
	margin: 0;
	max-width: 760px;
	color: #5e7480;
	font-size: 13px;
	line-height: 1.45;
}

body.app-theme-ruby .app-page-heading p {
	color: #765d58;
}

/* A experiência do ERP é única: a variação de perfil não altera a linguagem
 * visual das telas operacionais, cuja referência é o módulo de Produtos. */
body.app-theme-ruby .conteudo .app-page-heading {
	border-left-color: #008c9e;
	background: #f8fcfd;
	background: linear-gradient(118deg, #ffffff 0%, #f4fafb 72%, #eaf5f6 100%);
}

body.app-theme-ruby .conteudo .app-page-heading:after {
	border: 0;
	background: rgba(0, 140, 158, 0.06);
}

body.app-theme-ruby .conteudo .app-page-heading .app-page-eyebrow {
	color: #087d8e;
}

body.app-theme-ruby .conteudo .app-page-heading h2 {
	color: #173d49 !important;
}

body.app-theme-ruby .conteudo .app-page-heading p {
	color: #5e7480;
}

body.app-theme-ugestor .app-page-heading-com-acoes,
body.app-theme-ruby .app-page-heading-com-acoes {
	display: block;
	padding-right: 310px;
}

/* Cabeçalhos com três ou mais ações usam a mesma barra padrão, apenas
 * reservando espaço para rótulos funcionais sem truncamento. */
body.app-theme-ugestor .app-page-heading-com-acoes.app-page-heading-com-acoes-multiplas,
body.app-theme-ruby .app-page-heading-com-acoes.app-page-heading-com-acoes-multiplas {
	padding-right: 420px;
}

.app-page-actions {
	box-sizing: border-box;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 14px !important;
	padding: 10px 12px;
	border: 1px solid #d7e3e7;
	border-radius: 4px;
	background: #f9fcfd;
	box-shadow: 0 4px 10px rgba(18, 67, 79, 0.05);
}

.app-page-actions input[type="submit"],
.app-page-actions input[type="button"] {
	min-width: 112px !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 8px 17px !important;
	border-radius: 3px !important;
	font-weight: bold;
	letter-spacing: 0.01em;
	box-shadow: none;
}

.app-page-actions input.app-action-wide[type="submit"],
.app-page-actions input.app-action-wide[type="button"] {
	min-width: 146px !important;
}

.app-page-actions .app-action-primary {
	border-color: #007b8c !important;
	background: #008ea1 !important;
	background: linear-gradient(to bottom, #079caf 0%, #007c8e 100%) !important;
	color: #ffffff !important;
}

.app-page-actions .app-action-primary:hover {
	border-color: #006d7d !important;
	background: #007a8a !important;
	background: linear-gradient(to bottom, #008b9c 0%, #006e7e 100%) !important;
}

.app-page-actions .app-action-secondary,
.app-page-actions .app-action-auxiliary {
	border: 1px solid #a7bbc3 !important;
	background: #ffffff !important;
	color: #395561 !important;
}

.app-page-actions .app-action-secondary:hover,
.app-page-actions .app-action-auxiliary:hover {
	border-color: #7d9da8 !important;
	background: #edf5f7 !important;
	color: #173d49 !important;
}

/* Ações textuais fora da barra principal não podem truncar seu rótulo. */
.conteudo input.app-action-content-width {
	width: auto !important;
	min-width: 0 !important;
	padding-right: 14px !important;
	padding-left: 14px !important;
}

.app-page-actions input[type="submit"]:focus,
.app-page-actions input[type="button"]:focus {
	outline: 2px solid #0b8091 !important;
	outline-offset: 2px;
}

.app-page-heading-com-acoes .app-page-actions {
	position: absolute;
	top: 50%;
	right: 24px;
	z-index: 2;
	transform: translateY(-50%);
	margin: 0 !important;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.app-content-panel {
	margin-top: 12px;
	background: #ffffff;
}

/* Consulta e operação de competência contábil. Escopo exclusivo da tela. */
.app-accounting-period-query .app-search-panel {
	padding: 16px 20px 18px;
}

.app-accounting-period-query .app-accounting-period-filter-grid {
	width: 100%;
	max-width: 620px;
	border-collapse: separate;
	border-spacing: 0 8px;
}

.app-accounting-period-query .app-accounting-period-filter-field {
	width: 50%;
	padding-right: 16px;
	vertical-align: top;
}

.app-accounting-period-query .app-accounting-period-filter-field label {
	display: block;
	margin-bottom: 5px;
	color: #163f4c;
	font-size: 12px;
	font-weight: bold;
}

.app-accounting-period-query .app-accounting-period-filter-field select,
.app-accounting-period-query .app-accounting-period-filter-field input {
	width: 100%;
	min-height: 34px;
	box-sizing: border-box;
}

.app-accounting-period-results {
	margin-top: 16px;
}

.app-accounting-period-result-panel .rich-panel-body {
	padding: 18px 20px !important;
}

.app-accounting-period-detail-grid {
	width: 100%;
	max-width: 680px;
	border-collapse: collapse;
}

.app-accounting-period-detail-grid td {
	padding: 10px 12px;
	border-bottom: 1px solid #e0eaed;
}

.app-accounting-period-detail-grid tr:last-child td {
	border-bottom: 0;
}

.app-accounting-period-label {
	width: 210px;
	color: #5a7079;
	font-size: 12px;
	font-weight: bold;
}

.app-accounting-period-value {
	color: #163f4c;
	font-size: 13px;
	font-weight: bold;
}

.app-accounting-period-note {
	max-width: 680px;
	margin-top: 14px;
	padding: 10px 12px;
	border-left: 3px solid #008ea1;
	background: #eef8fa;
	color: #45636d;
	font-size: 12px;
	line-height: 1.45;
}

.app-accounting-period-operation {
	max-width: 680px;
	margin-top: 14px;
	padding: 12px;
	border-left: 3px solid #008ea1;
	background: #eef8fa;
	color: #45636d;
	font-size: 12px;
	line-height: 1.45;
}

.app-accounting-period-operation-actions {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.app-accounting-period-operation-actions input[type="submit"] {
	min-height: 34px;
	padding: 7px 14px;
	border-radius: 3px;
	font-weight: bold;
}

/* Consulta de lançamentos contábeis: composição de filtros e resultado canônico. */
.app-accounting-entry-query .app-search-panel {
	padding: 16px 20px 18px;
}

.app-accounting-entry-query .app-accounting-entry-filter-grid {
	display: grid;
	grid-template-columns: minmax(160px, 1fr) minmax(130px, .72fr) minmax(180px, 1fr);
	gap: 14px 18px;
	width: 100%;
	max-width: none;
}

.app-accounting-entry-query .app-accounting-entry-filter-field {
	min-width: 0;
	vertical-align: top;
}

.app-accounting-entry-query .app-accounting-entry-filter-field-texto {
	grid-column: span 2;
}

.app-accounting-entry-query .app-accounting-entry-filter-field label {
	display: block;
	margin-bottom: 5px;
	color: #163f4c;
	font-size: 12px;
	font-weight: bold;
}

.app-accounting-entry-query .app-accounting-entry-filter-field select,
.app-accounting-entry-query .app-accounting-entry-filter-field input {
	width: 100%;
	min-height: 34px;
	box-sizing: border-box;
}

.app-accounting-entry-results {
	margin-top: 16px;
}

.app-accounting-entry-result-panel .rich-panel-body {
	padding: 18px 20px !important;
}

.app-accounting-entry-empty-state {
	min-height: 84px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px 20px;
	border: 1px dashed #cbdce1;
	border-radius: 4px;
	background: #f8fbfc;
	color: #45636d;
	text-align: center;
}

/* Prévia operacional contábil: resumo auditável fora do modal de confirmação. */
.app-accounting-origin-preview {
	margin-top: 16px;
}

.app-accounting-origin-preview-panel .rich-panel-body {
	padding: 18px 20px !important;
}

.app-accounting-origin-preview-summary {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
}

.app-accounting-origin-summary-card {
	box-sizing: border-box;
	min-width: 0;
	padding: 11px 12px;
	border: 1px solid #dce5ef;
	border-top: 3px solid #78909c;
	border-radius: 5px;
	background: #f9fbfd;
}

.app-accounting-origin-summary-card-success {
	border-top-color: #008ea1;
}

.app-accounting-origin-summary-card-warning {
	border-top-color: #ff5a1f;
}

.app-accounting-origin-summary-label,
.app-accounting-origin-summary-value {
	display: block;
}

.app-accounting-origin-summary-label {
	margin-bottom: 4px;
	color: #52647d;
	font-size: 11px;
	font-weight: 600;
}

.app-accounting-origin-summary-value {
	color: #10213d;
	font-size: 16px;
	font-weight: 700;
	word-break: break-word;
}

.app-accounting-origin-preview-status {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.app-accounting-origin-blockers {
	margin-top: 14px;
	padding: 12px 14px;
	border-left: 3px solid #ff5a1f;
	background: #fff8f5;
	color: #465b69;
}

.app-accounting-origin-blockers-title,
.app-accounting-origin-blocker-item {
	display: block;
}

.app-accounting-origin-blockers-title {
	margin-bottom: 7px;
	color: #10213d;
	font-weight: 700;
}

.app-accounting-origin-blocker-item {
	position: relative;
	padding: 2px 0 2px 14px;
	line-height: 1.4;
}

.app-accounting-origin-blocker-item:before {
	position: absolute;
	left: 0;
	content: "\2022";
	color: #ff5a1f;
}

.app-accounting-origin-supplier-table {
	margin-top: 14px;
}

.app-accounting-origin-preview-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #e1e9ed;
}

/* Lançamento manual contábil: formulário único no contrato visual de Produtos. */
.app-accounting-manual-entry-form .app-accounting-manual-entry-panel .rich-panel-body {
	padding: 0 !important;
}

.app-accounting-manual-entry-section {
	padding: 20px 22px;
}

.app-accounting-manual-entry-section-divider {
	border-top: 1px solid #e6edf0;
}

.app-accounting-manual-entry-section-title {
	margin: 0 0 16px;
	color: #10284c;
	font-size: 15px;
	font-weight: 700;
}

.app-accounting-manual-entry-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 16px 20px;
	align-items: end;
}

.app-accounting-manual-entry-field {
	min-width: 0;
	grid-column: span 12;
}

.app-accounting-manual-entry-field-date,
.app-accounting-manual-entry-field-type {
	grid-column: span 2;
}

.app-accounting-manual-entry-field-title {
	grid-column: span 8;
}

.app-accounting-manual-entry-field-history {
	grid-column: span 12;
}

.app-accounting-manual-entry-grid-partida .app-accounting-manual-entry-field-half {
	grid-column: span 6;
}

.app-accounting-manual-entry-grid-partida .app-accounting-manual-entry-field-value {
	grid-column: span 12;
}

.app-accounting-manual-entry-field label {
	display: block;
	margin-bottom: 5px;
	color: #163f4c;
	font-size: 12px;
	font-weight: 700;
}

.app-accounting-manual-entry-field input,
.app-accounting-manual-entry-field select,
.app-accounting-manual-entry-field textarea,
.app-accounting-manual-entry-field .rich-calendar-input {
	box-sizing: border-box;
	width: 100%;
}

.app-accounting-manual-entry-field textarea {
	min-height: 84px;
	resize: vertical;
}

/* O tema legado fixa alguns controles por !important. Nesta tela o grid e
 * responsivo, portanto os controles precisam ocupar a coluna que lhes cabe. */
body.app-theme-ugestor .conteudo .app-accounting-manual-entry-form .app-accounting-manual-entry-field input.app-control,
body.app-theme-ugestor .conteudo .app-accounting-manual-entry-form .app-accounting-manual-entry-field select.app-control,
body.app-theme-ugestor .conteudo .app-accounting-manual-entry-form .app-accounting-manual-entry-field textarea.app-control,
body.app-theme-ruby .conteudo .app-accounting-manual-entry-form .app-accounting-manual-entry-field input.app-control,
body.app-theme-ruby .conteudo .app-accounting-manual-entry-form .app-accounting-manual-entry-field select.app-control,
body.app-theme-ruby .conteudo .app-accounting-manual-entry-form .app-accounting-manual-entry-field textarea.app-control {
	width: 100% !important;
}

body.app-theme-ugestor .conteudo .app-accounting-manual-entry-form .app-accounting-manual-entry-field-value input.app-control,
body.app-theme-ruby .conteudo .app-accounting-manual-entry-form .app-accounting-manual-entry-field-value input.app-control {
	max-width: 280px !important;
}

.app-accounting-manual-catalog {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px dashed #d7e3e7;
}

.app-accounting-manual-catalog-notice {
	max-width: none;
	margin: 0 0 14px;
}

.app-accounting-manual-catalog-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: end;
}

.app-accounting-manual-catalog-controls .app-accounting-manual-entry-field,
.app-accounting-manual-catalog-controls .app-accounting-manual-catalog-action {
	grid-column: auto;
}

.app-accounting-manual-catalog-action {
	display: flex;
	align-items: end;
	min-height: 34px;
}

.app-accounting-manual-catalog-action input[type="submit"] {
	min-height: 34px;
	padding: 7px 14px;
}

@media (max-width: 1023px) {
	.app-accounting-manual-entry-field-date,
	.app-accounting-manual-entry-field-type {
		grid-column: span 3;
	}

	.app-accounting-manual-entry-field-title {
		grid-column: span 6;
	}

	.app-accounting-manual-entry-grid-partida .app-accounting-manual-entry-field-half {
		grid-column: span 12;
	}

	.app-accounting-manual-entry-grid-partida .app-accounting-manual-entry-field-value {
		grid-column: span 6;
	}
}

@media (max-width: 700px) {
	.app-accounting-manual-entry-section {
		padding: 16px;
	}

	.app-accounting-manual-entry-field,
	.app-accounting-manual-entry-field-date,
	.app-accounting-manual-entry-field-type,
	.app-accounting-manual-entry-field-title,
	.app-accounting-manual-entry-field-history,
	.app-accounting-manual-entry-grid-partida .app-accounting-manual-entry-field-half,
	.app-accounting-manual-entry-grid-partida .app-accounting-manual-entry-field-value {
		grid-column: span 12;
	}

	.app-accounting-manual-catalog-controls {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.app-accounting-manual-catalog-action,
	.app-accounting-manual-catalog-action input[type="submit"] {
		width: 100%;
	}
}

@media (max-width: 700px) {
	.app-accounting-period-query .app-accounting-period-filter-grid,
	.app-accounting-period-query .app-accounting-period-filter-grid tbody,
	.app-accounting-period-query .app-accounting-period-filter-grid tr,
	.app-accounting-period-query .app-accounting-period-filter-grid td {
		display: block;
		width: 100%;
	}

	.app-accounting-period-query .app-accounting-period-filter-field {
		padding-right: 0;
	}

	.app-accounting-period-detail-grid,
	.app-accounting-period-detail-grid tbody,
	.app-accounting-period-detail-grid tr,
	.app-accounting-period-detail-grid td {
		display: block;
		width: 100%;
	}

	.app-accounting-period-detail-grid td {
		padding: 7px 0;
		border-bottom: 0;
	}

	.app-accounting-period-label {
		padding-top: 12px !important;
		color: #5a7079;
	}

	.app-accounting-period-operation-actions {
		flex-direction: column;
	}

	.app-accounting-entry-query .app-accounting-entry-filter-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.app-accounting-entry-query .app-accounting-entry-filter-field-texto {
		grid-column: auto;
	}

	.app-accounting-origin-preview-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.app-accounting-origin-preview-actions,
	.app-accounting-origin-preview-actions input[type="submit"] {
		width: 100%;
	}
}

@media (min-width: 701px) and (max-width: 1023px) {
	.app-accounting-entry-query .app-accounting-entry-filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.app-accounting-origin-preview-summary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.app-theme-ugestor .app-content-panel .rich-panel-body,
body.app-theme-ruby .app-content-panel .rich-panel-body {
	padding: 0;
	background: transparent;
}

/* Componentes legados: mesma gramática de painéis, abas e tabelas de Produtos. */
body.app-theme-ugestor .conteudo .rich-panel,
body.app-theme-ruby .conteudo .rich-panel {
	border-color: #d4e0e5;
	box-shadow: 0 5px 14px rgba(18, 67, 79, 0.05);
}

body.app-theme-ugestor .conteudo .rich-panel-header,
body.app-theme-ruby .conteudo .rich-panel-header {
	padding: 10px 14px !important;
	border: 0;
	border-bottom: 1px solid #006f7f;
	background: linear-gradient(to bottom, #079caf 0%, #007c8e 100%);
	color: #ffffff;
	font-size: 13px !important;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .rich-tabpanel,
body.app-theme-ruby .conteudo .rich-tabpanel {
	margin-top: 4px;
	border: 1px solid #cbd6dc;
	border-radius: 4px;
	background: #ffffff;
}

body.app-theme-ugestor .conteudo .rich-tab-header,
body.app-theme-ruby .conteudo .rich-tab-header {
	margin: 0 3px 0 0;
	padding: 9px 14px !important;
	border-color: #cbd6dc;
	border-radius: 3px 3px 0 0;
	background: #eef3f5;
	color: #294952;
	font-size: 12px;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .rich-tab-active,
body.app-theme-ruby .conteudo .rich-tab-active {
	border-color: #008b9c;
	border-top: 3px solid #008b9c;
	background: #ffffff;
	color: #006f7f;
}

body.app-theme-ugestor .conteudo .rich-tab-header:hover,
body.app-theme-ruby .conteudo .rich-tab-header:hover {
	background: #e2e9ec;
	box-shadow: none;
}

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

body.app-theme-ugestor .conteudo .rich-table,
body.app-theme-ruby .conteudo .rich-table {
	margin-top: 8px;
	border: 1px solid #cbd6dc;
	background: #ffffff;
}

body.app-theme-ugestor .conteudo .rich-table-headercell,
body.app-theme-ruby .conteudo .rich-table-headercell {
	padding: 8px 9px;
	border-color: #cbd6dc;
	background: #e7f1f3;
	color: #254852;
	font-size: 11px;
	font-weight: bold;
}

body.app-theme-ugestor .conteudo .rich-table-cell,
body.app-theme-ruby .conteudo .rich-table-cell {
	padding: 7px 9px;
	border-color: #e0e7ea;
	color: #314d56;
	font-size: 11px;
}

body.app-theme-ugestor .conteudo .rich-table-row:hover .rich-table-cell,
body.app-theme-ruby .conteudo .rich-table-row:hover .rich-table-cell {
	background: #f1f8f9;
}

.app-table-scroll {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.app-table-scroll .rich-table {
	margin-top: 0 !important;
}

/* Janelas auxiliares abertas em nova aba: usam a mesma hierarquia de Produtos. */
.app-popup-legend-form {
	max-width: 1080px;
	margin: 24px auto;
	padding: 0 20px;
}

.app-popup-legend-form .app-page-heading {
	position: relative;
	margin: 0 0 14px;
	padding: 19px 24px 18px;
	overflow: hidden;
	border: 1px solid #d3e0e5;
	border-left: 5px solid #008c9e;
	border-radius: 4px;
	background: linear-gradient(118deg, #ffffff 0%, #f4fafb 72%, #eaf5f6 100%);
	box-shadow: 0 7px 18px rgba(18, 67, 79, 0.08);
}

.app-popup-legend-form .app-page-heading:after {
	position: absolute;
	right: -48px;
	top: -72px;
	width: 190px;
	height: 190px;
	border-radius: 50%;
	background: rgba(0, 140, 158, 0.06);
	content: '';
}

.app-popup-legend-form .app-page-heading > * {
	position: relative;
	z-index: 1;
}

.app-popup-legend-form .app-page-eyebrow {
	margin-bottom: 4px;
	color: #087d8e;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 0.08em;
}

.app-popup-legend-form .app-page-heading h2 {
	margin: 0 0 5px !important;
	color: #173d49 !important;
	font-size: 25px !important;
	line-height: 1.18;
}

.app-popup-legend-form .app-page-heading p {
	margin: 0;
	color: #5e7480;
	font-size: 13px;
	line-height: 1.45;
}

.app-popup-legend-form .app-popup-legend-panel {
	border-color: #d4e0e5;
	box-shadow: 0 5px 14px rgba(18, 67, 79, 0.05);
}

.app-popup-legend-form fieldset {
	margin: 0;
	padding: 16px;
	border: 1px solid #d9e5e8;
	border-radius: 3px;
	background: #ffffff;
}

.app-popup-legend-form legend {
	padding: 0 6px;
	color: #254852;
	font-size: 12px;
	font-weight: bold;
}

/* Estados externos da cotação: retorno claro e compatível com telas móveis. */
.app-status-page {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	margin: 0 !important;
	padding: 32px 20px;
	color: inherit;
}

.app-status-page .app-status-page-card {
	box-sizing: border-box;
	width: min(100%, 680px);
	margin: 0;
	text-align: left;
}

.app-status-page.cotacao-enviada .app-status-page-card {
	border-left-color: #008c9e;
}

.app-status-page.cotacao-indisponivel .app-status-page-card {
	border-left-color: #c26d16;
	background: linear-gradient(118deg, #ffffff 0%, #fffaf2 72%, #fff1dc 100%);
}

.app-status-page.cotacao-indisponivel .app-page-eyebrow {
	color: #9b5b15;
}

@media screen and (max-width: 760px) {
	.app-popup-legend-form {
		margin: 16px auto;
		padding: 0 12px;
	}

	.app-popup-legend-form .app-page-heading {
		padding: 16px 17px;
	}

	.app-popup-legend-form .app-page-heading h2 {
		font-size: 21px !important;
	}

	.app-popup-legend-form .rich-panel-body {
		overflow-x: auto;
	}

	.app-status-page {
		min-height: 300px;
		padding: 20px 12px;
	}

	.app-status-page .app-status-page-card {
		padding: 16px 17px;
	}

	body.app-theme-ugestor .app-page-heading,
	body.app-theme-ruby .app-page-heading {
		padding: 16px 17px;
	}

	body.app-theme-ugestor .app-page-heading-com-acoes,
	body.app-theme-ruby .app-page-heading-com-acoes {
		padding-right: 17px;
	}

	body.app-theme-ugestor .app-page-heading h2,
	body.app-theme-ruby .app-page-heading h2 {
		font-size: 21px !important;
	}

	.app-page-heading-com-acoes .app-page-actions {
		position: relative;
		top: auto;
		right: auto;
		justify-content: flex-end;
		transform: none;
		margin-top: 14px !important;
	}

	/* Grades legadas usadas somente para alinhar ações não reservam uma coluna
	 * vazia em telas estreitas. A marcação é inserida pelo normalizador global. */
	.app-page-actions-table,
	.app-page-actions-table tbody,
	.app-page-actions-table tr,
	.app-page-actions-table td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
	}

	.app-page-actions-table td:empty {
		display: none;
	}

	.app-page-actions-table .app-page-actions {
		width: 100%;
	}

	#cadastrarServicoForm .rich-tabpanel,
	#cadastrarServicoAgrupadorForm .rich-tabpanel {
		overflow-x: auto;
	}

	#cadastrarServicoForm .rich-tab-header,
	#cadastrarServicoAgrupadorForm .rich-tab-header {
		white-space: nowrap;
	}

	body.app-theme-ugestor .conteudo .rich-tabpanel,
	body.app-theme-ruby .conteudo .rich-tabpanel,
	body.app-theme-ugestor .conteudo .rich-table,
	body.app-theme-ruby .conteudo .rich-table {
		max-width: 100%;
		overflow-x: auto;
	}

	body.app-theme-ugestor .conteudo .rich-tab-header,
	body.app-theme-ruby .conteudo .rich-tab-header {
		white-space: nowrap;
	}

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

	body.app-theme-ugestor .conteudo .rich-panel,
	body.app-theme-ugestor .conteudo .rich-stglpanel,
	body.app-theme-ugestor .conteudo fieldset,
	body.app-theme-ruby .conteudo .rich-panel,
	body.app-theme-ruby .conteudo .rich-stglpanel,
	body.app-theme-ruby .conteudo fieldset {
		box-sizing: border-box;
		max-width: 100%;
	}

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

	/* Diversas telas legadas usam divs com larguras fixas para relatórios,
	 * filtros e grades. Em celular, a largura passa a respeitar o contêiner e
	 * o conteúdo interno preserva acesso por rolagem horizontal quando preciso. */
	body.app-theme-ugestor .conteudo div[style*="width:"],
	body.app-theme-ruby .conteudo div[style*="width:"] {
		box-sizing: border-box;
		max-width: 100% !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* Cabeçalho e navegação principal do ERP. Mantém a estrutura RichFaces existente. */
#nomesDiv.app-header {
	box-sizing: border-box;
	margin: 12px 0 10px;
	padding: 11px 20px;
	border: 1px solid #d8e3e7;
	border-radius: 5px;
	background: linear-gradient(110deg, #ffffff 0%, #fbfdfe 68%, #edf7f8 100%);
	box-shadow: 0 4px 14px rgba(18, 67, 79, 0.08);
}

#nomesDiv .app-header-layout {
	border-collapse: collapse;
}

#nomesDiv .app-header-logo {
	display: block;
	max-width: 310px;
	max-height: 70px;
	margin: 0;
}

#nomesDiv .app-header-meta {
	margin-left: auto;
	color: #36515c;
	font-size: 11px;
	line-height: 1.55 !important;
	text-align: right;
}

#nomesDiv .app-header-meta td {
	padding: 0 !important;
	line-height: 1.55 !important;
}

#nomesDiv .app-header-meta .name,
#nomesDiv .app-header-meta .value {
	float: none;
	display: inline;
	margin: 0;
	padding: 0;
	font-size: 11px;
	line-height: 1.55 !important;
}

#nomesDiv .app-header-meta .name {
	color: #173d49;
	font-weight: bold;
}

#nomesDiv .app-header-meta input[type="image"] {
	margin-left: 6px;
	vertical-align: middle;
}

#MenuHorizontal.app-main-navigation {
	margin: 0 0 15px;
}

#MenuHorizontal .app-main-toolbar {
	width: 100% !important;
	min-height: 48px;
	border: 1px solid #164d59;
	border-radius: 6px;
	background: #135563;
	box-shadow: 0 3px 10px rgba(16, 62, 72, 0.14);
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item {
	height: 48px;
	padding: 0 !important;
	vertical-align: middle;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label {
	display: block;
	margin: 0;
	padding: 14px 17px !important;
	border: 0;
	background: transparent;
	color: #ffffff !important;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0;
	line-height: 19px;
	text-decoration: none !important;
	text-shadow: none;
	transition: background-color 0.18s ease, color 0.18s ease;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item a,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item a:visited,
#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label {
	color: #f4fbfc !important;
	text-decoration: none !important;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-menu-item > i > span {
	font-family: Verdana, Arial, Helvetica, sans-serif !important;
	font-size: 14px !important;
	font-style: normal;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .rich-ddmenu-label .rich-label-text-decor {
	font-family: Verdana, Arial, Helvetica, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 19px !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 {
	background: #277382 !important;
	color: #ffffff !important;
	text-decoration: none;
}

#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: 2px solid #9ee7ed;
	outline-offset: -3px;
}

#MenuHorizontal .app-main-toolbar .app-toolbar-actions {
	box-sizing: border-box;
	padding-right: 0 !important;
	white-space: nowrap;
}

#MenuHorizontal .app-main-toolbar .app-toolbar-logout,
#MenuHorizontal .app-main-toolbar .app-toolbar-logout:visited {
	box-sizing: border-box;
	display: inline-block !important;
	margin: 0 !important;
	padding: 14px 17px !important;
	background: transparent;
	color: #f4fbfc !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 19px !important;
	text-decoration: none !important;
	vertical-align: middle;
}

#MenuHorizontal .app-main-toolbar .app-toolbar-logout:hover,
#MenuHorizontal .app-main-toolbar .app-toolbar-logout:focus {
	background: #277382 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

#MenuHorizontal .app-main-toolbar .app-control-panel-trigger {
	display: inline-block !important;
	box-sizing: border-box;
	margin-left: 0 !important;
	margin-right: 2px !important;
	padding: 14px 17px !important;
	border-left: 1px solid rgba(244, 251, 252, 0.36);
	color: #f4fbfc !important;
	cursor: pointer;
	font-size: 16px !important;
	line-height: 19px !important;
	vertical-align: middle;
}

#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:hover,
#MenuHorizontal .app-main-toolbar .app-control-panel-trigger:focus {
	color: #ffffff !important;
	background: #277382 !important;
}

/* O RichFaces monta o grupo da direita em uma celula de toolbar. Este
 * espaçador faz parte do seu conteudo e preserva uma margem real apos o
 * Painel de controle, inclusive quando a barra ocupa toda a largura. */
#MenuHorizontal .app-main-toolbar .app-toolbar-actions-end {
	display: inline-block;
	width: 12px;
	height: 1px;
	vertical-align: middle;
}

#MenuHorizontal .app-main-toolbar td.rich-toolbar-item > .fa {
	color: inherit !important;
}

.rich-menu-list-border {
	border: 1px solid #c5d4d9 !important;
	border-radius: 5px;
	background: #ffffff !important;
	box-shadow: 0 10px 22px rgba(15, 56, 66, 0.18);
}

.rich-menu-list-bg {
	background: #ffffff !important;
}

.rich-menu-list-border .rich-menu-item,
.rich-menu-list-border .rich-menu-group {
	padding: 9px 12px !important;
	background: #ffffff !important;
	color: #193f49 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 18px !important;
	text-shadow: none !important;
}

.rich-menu-list-border .rich-menu-item a,
.rich-menu-list-border .rich-menu-item a:visited,
.rich-menu-list-border .rich-menu-group a,
.rich-menu-list-border .rich-menu-group a:visited,
.rich-menu-list-border .rich-menu-item *,
.rich-menu-list-border .rich-menu-group * {
	color: #193f49 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 18px !important;
	text-decoration: none !important;
	text-shadow: none !important;
}

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

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

/*
 * RichFaces aninha os submenus no elemento da navegacao principal. Estes
 * seletores vencem o texto claro do cabecalho e preservam contraste em todos
 * os niveis do menu suspenso.
 */
#MenuHorizontal .rich-menu-list-border {
	border-color: #b8cbd1 !important;
	border-radius: 4px;
	box-shadow: 0 8px 18px rgba(15, 56, 66, 0.18);
}

#MenuHorizontal .rich-menu-list-border .rich-menu-item,
#MenuHorizontal .rich-menu-list-border .rich-menu-group {
	/* O RichFaces reserva 16px para .rich-menu-node. O espaco adicional a
	 * direita separa o indicador do rótulo e mantém a área clicável ampla. */
	padding: 8px 35px 8px 12px !important;
	border: 0 !important;
	background-image: none !important;
	color: #1b3038 !important;
	font-family: Verdana, Arial, Helvetica, sans-serif !important;
	font-size: 12px !important;
	font-weight: bold !important;
}

#MenuHorizontal .rich-menu-list-border .rich-menu-node {
	top: 50% !important;
	right: 10px !important;
	margin-top: -8px !important;
}

#MenuHorizontal .rich-menu-list-border .rich-menu-item *,
#MenuHorizontal .rich-menu-list-border .rich-menu-group * {
	color: #1b3038 !important;
	font-family: Verdana, Arial, Helvetica, sans-serif !important;
	font-size: 12px !important;
	font-weight: bold !important;
	text-decoration: none !important;
	text-shadow: none !important;
}

/* Mantem os glifos Font Awesome dos itens RichFaces; a regra tipografica
 * acima se aplica somente aos rotulos e nao pode substituir a fonte de icone. */
#MenuHorizontal .rich-menu-list-border .rich-menu-item .fa,
#MenuHorizontal .rich-menu-list-border .rich-menu-group .fa {
	font-family: FontAwesome !important;
	font-weight: normal !important;
	font-style: normal !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: #e6f2f4 !important;
	background-image: none !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: #075866 !important;
}

@media screen and (max-width: 980px) {
	#nomesDiv.app-header {
		padding: 10px 14px;
	}

	#nomesDiv .app-header-logo {
		max-width: 230px;
		max-height: 56px;
	}

	#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 {
		padding-right: 11px !important;
		padding-left: 11px !important;
		font-size: 12px !important;
	}
}

/* Pagina inicial: uma central de trabalho sem pressupor indicadores ou dados
 * que o usuario nao tenha permissao para consultar. */
#homeForm.home-page {
	box-sizing: border-box;
	margin: 0 0 22px;
	color: #173f4b;
}

#homeForm .home-workspace {
	box-sizing: border-box;
	padding: 24px;
	border: 1px solid #d7e5e9;
	border-radius: 8px;
	background: #f8fbfc;
	box-shadow: 0 5px 14px rgba(18, 67, 79, 0.06);
}

#homeForm .home-welcome {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 122px;
	padding: 25px 29px;
	border: 1px solid #dce9ec;
	border-radius: 7px;
	background: #ffffff;
}

#homeForm .home-welcome-copy {
	max-width: 720px;
}

#homeForm .home-kicker {
	display: block;
	margin: 0 0 9px;
	color: #008c9a;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.16em;
}

#homeForm .home-welcome h1 {
	margin: 0;
	color: #173f4b;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: -0.03em;
	line-height: 1.28;
}

#homeForm .home-welcome p {
	margin: 10px 0 0;
	color: #5b727b;
	font-size: 14px;
	line-height: 1.55;
}

#homeForm .home-welcome-version {
	box-sizing: border-box;
	flex: 0 0 205px;
	margin-left: 30px;
	padding: 14px 16px;
	border-left: 3px solid #00a0ad;
	background: #f3fafb;
	color: #29616c;
}

#homeForm .home-welcome-version .fa {
	float: left;
	margin: 2px 9px 0 0;
	color: #008c9a;
	font-size: 20px;
}

#homeForm .home-welcome-version-label,
#homeForm .home-welcome-version-value {
	display: block;
}

#homeForm .home-welcome-version-label {
	font-size: 12px;
	font-weight: bold;
}

#homeForm .home-welcome-version-value {
	margin-top: 4px;
	color: #668089;
	font-size: 11px;
}

#homeForm .home-content-grid {
	display: flex;
	align-items: stretch;
	margin-top: 18px;
}

#homeForm .home-guidance-card,
#homeForm .home-modules-card {
	box-sizing: border-box;
	border: 1px solid #d8e6e9;
	border-radius: 7px;
}

#homeForm .home-guidance-card {
	flex: 0 0 31%;
	margin-right: 18px;
	padding: 25px;
	background: linear-gradient(145deg, #0a3d69 0%, #096d7b 100%);
	color: #ffffff;
}

#homeForm .home-guidance-icon {
	display: inline-block;
	margin-bottom: 15px;
	color: #9de7eb;
	font-size: 26px;
}

#homeForm .home-guidance-card h2,
#homeForm .home-modules-card h2 {
	margin: 0;
	font-size: 19px;
	line-height: 1.32;
}

#homeForm .home-guidance-card p {
	margin: 9px 0 0;
	color: #dceff0;
	font-size: 13px;
	line-height: 1.55;
}

#homeForm .home-guidance-list {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

#homeForm .home-guidance-list li {
	position: relative;
	min-height: 37px;
	margin-top: 12px;
	padding: 0 0 0 31px;
	color: #d9eff0;
	font-size: 11px;
	line-height: 1.45;
}

#homeForm .home-guidance-list li .fa {
	position: absolute;
	top: 2px;
	left: 0;
	color: #9de7eb;
	font-size: 16px;
}

#homeForm .home-guidance-list strong,
#homeForm .home-guidance-list span {
	display: block;
}

#homeForm .home-guidance-list strong {
	margin-bottom: 2px;
	color: #ffffff;
	font-size: 12px;
}

#homeForm .home-modules-card {
	flex: 1 1 auto;
	padding: 25px;
	background: #ffffff;
}

#homeForm .home-modules-card h2 {
	color: #173f4b;
}

#homeForm .home-modules-intro {
	margin: 7px 0 0;
	color: #607780;
	font-size: 12px;
	line-height: 1.5;
}

#homeForm .home-module-list {
	display: flex;
	flex-wrap: wrap;
	margin: 18px -5px -5px;
}

#homeForm .home-module-card {
	box-sizing: border-box;
	flex: 1 1 155px;
	min-width: 155px;
	margin: 5px;
	padding: 16px;
	border: 1px solid #dce8eb;
	border-radius: 5px;
	background: #fbfdfe;
}

#homeForm .home-module-icon {
	display: inline-block;
	margin-bottom: 10px;
	color: #008c9a;
	font-size: 20px;
}

#homeForm .home-module-card h3 {
	margin: 0;
	color: #173f4b;
	font-size: 14px;
	line-height: 1.35;
}

#homeForm .home-module-card p {
	margin: 5px 0 0;
	color: #637a83;
	font-size: 11px;
	line-height: 1.5;
}

@media screen and (max-width: 760px) {
	#homeForm .home-workspace {
		padding: 16px;
	}

	#homeForm .home-welcome {
		padding: 22px;
	}

	#homeForm .home-welcome h1 {
		font-size: 23px;
	}

	#homeForm .home-content-grid {
		display: block;
	}

	#homeForm .home-guidance-card {
		margin: 0 0 18px;
	}
}

@media screen and (max-width: 480px) {
	#homeForm .home-workspace {
		padding: 12px;
	}

	#homeForm .home-welcome {
		display: block;
		padding: 20px;
	}

	#homeForm .home-welcome h1 {
		font-size: 21px;
	}

	#homeForm .home-welcome-version {
		margin: 18px 0 0;
	}

	#homeForm .home-module-list {
		margin-right: 0;
		margin-left: 0;
	}

	#homeForm .home-module-card {
		min-width: 0;
		margin-right: 0;
		margin-left: 0;
	}
}

/* Mascaras globais emitidas pelo RichFaces 3. O estilo padrao da biblioteca
 * usa cinza solido (#d0d0d0) com 50% de opacidade. Para notificacoes e erros,
 * isso escondia a identidade da pagina. As regras usam os IDs reais das
 * mascaras, inclusive o sufixo dos modais de mensagem internos, sem alterar a
 * camada do painel nem permitir clique no conteudo que esta atras. */
#mensagemPanelMessagesDiv,
[id$="mensagemModalPanelDiv"],
#erroSistemaModalDiv,
#errorPopupDiv {
	background-color: #0b3144;
	filter: alpha(opacity=46);
	opacity: 0.46;
}

/* Indicador global de processamento. Os identificadores sao os emitidos pelo
 * RichFaces 3; assim, a atualizacao visual nao altera o ciclo Ajax existente. */
#ajaxLoadingModalBoxDiv {
	background-color: #0b3144 !important;
	filter: alpha(opacity=46) !important;
	opacity: 0.46 !important;
}

/* Notificacoes globais e internas usam a mesma mascara do processamento. Os
 * IDs pertencem ao RichFaces 3 e a regra fica restrita a esses modalPanels. */
#mensagemPanelMessagesDiv,
div[id$="mensagemModalPanelDiv"] {
	background-color: #0b3144;
	filter: alpha(opacity=46);
	opacity: 0.46;
}

/* O RichFaces ainda pode criar o iframe shim em navegadores legados para
 * sobrepor select/embed. Ele continua no DOM para preservar a compatibilidade,
 * mas nao pode pintar de branco a pagina protegida pela mascara modal. */
#mensagemPanelMessagesContainer .rich-mpnl-iframe,
div[id$="mensagemModalPanelContainer"] .rich-mpnl-iframe,
#erroSistemaModalContainer .rich-mpnl-iframe,
#ajaxLoadingModalBoxContainer .rich-mpnl-iframe,
#errorPopupContainer .rich-mpnl-iframe {
	background-color: transparent;
	filter: alpha(opacity=0);
	opacity: 0;
}

#ajaxLoadingModalBoxContainer {
	max-width: calc(100vw - 32px) !important;
}

#ajaxLoadingModalBoxContainer .rich-mpnl-shadow {
	top: 8px !important;
	left: 8px !important;
	background-color: #062b3a !important;
	filter: alpha(opacity=20) !important;
	opacity: 0.20 !important;
}

#ajaxLoadingModalBoxContainer .rich-mpnl-content {
	overflow: hidden;
	border: 1px solid #b8d5da !important;
	border-radius: 8px;
	background: #ffffff !important;
	box-shadow: 0 14px 30px rgba(5, 49, 66, 0.28);
}

#ajaxLoadingModalBoxContainer .rich-mpnl-body {
	padding: 24px !important;
	background: #ffffff;
}

/* O painel não possui cabeçalho: toda a informação fica em um único bloco
 * de conteúdo. Isso remove a faixa vazia deixada pelo renderizador RichFaces. */
#ajaxLoadingModalBoxContainer .rich-mpnl-header,
#ajaxLoadingModalBoxContainer .rich-mpnl-header-cell {
	display: none !important;
	height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

#ajaxLoadingModalBoxContainer .app-ajax-loading-content {
	position: relative;
	min-height: 36px;
	padding-left: 48px;
}

#ajaxLoadingModalBoxContainer .app-ajax-loading-icon {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -16px;
	color: #008c9a;
	font-size: 32px;
	line-height: 32px;
}

#ajaxLoadingModalBoxContainer .app-ajax-loading-copy {
	display: block;
}

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

#ajaxLoadingModalBoxContainer .app-ajax-loading-title {
	margin-bottom: 5px;
	color: #173f4b;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
}

#ajaxLoadingModalBoxContainer .app-ajax-loading-description {
	color: #60757d;
	font-size: 11px;
	line-height: 1.5;
}

@media screen and (max-width: 420px) {
	#ajaxLoadingModalBoxContainer .rich-mpnl-body {
		padding: 20px 18px !important;
	}

	#ajaxLoadingModalBoxContainer .app-ajax-loading-content {
		padding-left: 43px;
	}

	#ajaxLoadingModalBoxContainer .app-ajax-loading-icon {
		margin-top: -14px;
		font-size: 28px;
		line-height: 28px;
	}
}

/* Home: painel inicial responsivo. A imagem e local para evitar dependencia externa. */
#homeForm.home-page {
	margin: 0 0 24px;
}

#homeForm .home-workspace {
	padding: 0;
	border: 0;
	background: transparent;
}

#homeForm .home-hero {
	position: relative;
	min-height: 372px;
	padding: 64px 5.2%;
	overflow: hidden;
	border: 1px solid #0a7f8e;
	border-radius: 10px;
	background-color: #07185a;
	background-image: linear-gradient(90deg, rgba(6, 17, 83, .97) 0%, rgba(6, 17, 83, .89) 38%, rgba(7, 53, 91, .48) 62%, rgba(8, 130, 142, .34) 100%), url('../img/banner_home.jpg');
	background-position: center center;
	background-size: cover;
	box-sizing: border-box;
}

#homeForm .home-hero:after {
	position: absolute;
	top: -165px;
	right: -100px;
	width: 390px;
	height: 390px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 50%;
	content: '';
}

#homeForm .home-hero-copy {
	position: relative;
	z-index: 1;
	max-width: 610px;
	color: #fff;
}

#homeForm .home-kicker {
	display: block;
	margin-bottom: 20px;
	color: #75eef3;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1.2;
}

#homeForm .home-hero h1 {
	margin: 0;
	color: #fff;
	font-size: 36px;
	font-weight: bold;
	letter-spacing: -.55px;
	line-height: 1.24;
}

#homeForm .home-hero p {
	max-width: 620px;
	margin: 24px 0 0;
	color: #f2fbfc;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.55;
}

#homeForm .home-hero-highlight {
	display: inline-block;
	margin-top: 32px;
	padding-top: 17px;
	border-top: 1px solid rgba(255, 255, 255, .3);
	color: #fff;
	font-size: 15px;
	font-weight: bold;
}

#homeForm .home-hero-highlight .fa {
	margin-right: 7px;
	color: #72edf1;
}

#homeForm .home-modules-section {
	margin-top: 22px;
	padding: 32px 36px 36px;
	border: 1px solid #d1e2e8;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(17, 64, 79, .07);
}

#homeForm .home-modules-section h2 {
	margin: 0;
	color: #164557;
	font-size: 27px;
	line-height: 1.25;
}

#homeForm .home-modules-intro {
	margin: 8px 0 0;
	color: #5b7480;
	font-size: 15px;
	line-height: 1.5;
}

#homeForm .home-module-list {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 28px;
}

#homeForm .home-module-card {
	min-width: 205px;
	min-height: 144px;
	padding: 22px 24px;
	border: 1px solid #d5e3e8;
	border-radius: 8px;
	background: #fbfdfe;
	box-sizing: border-box;
	flex: 1 1 210px;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#homeForm .home-module-card:hover {
	border-color: #0a9aaa;
	box-shadow: 0 8px 18px rgba(4, 111, 127, .12);
	transform: translateY(-2px);
}

#homeForm .home-module-icon {
	display: block;
	margin-bottom: 15px;
	color: #0094a7;
	font-size: 27px;
	line-height: 1;
}

#homeForm .home-module-card h3 {
	margin: 0;
	color: #164557;
	font-size: 19px;
	line-height: 1.25;
}

#homeForm .home-module-card p {
	margin: 10px 0 0;
	color: #5a717c;
	font-size: 14px;
	line-height: 1.5;
}

@media screen and (max-width: 760px) {
	#homeForm .home-hero {
		min-height: 330px;
		padding: 46px 32px;
		background-position: 62% center;
	}

	#homeForm .home-hero h1 {
		font-size: 30px;
	}

	#homeForm .home-hero p {
		font-size: 16px;
	}

	#homeForm .home-modules-section {
		padding: 28px 24px;
	}
}

@media screen and (max-width: 480px) {
	#homeForm .home-hero {
		min-height: 355px;
		padding: 38px 22px;
		background-position: 66% center;
	}

	#homeForm .home-hero:after {
		right: -180px;
	}

	#homeForm .home-kicker {
		font-size: 11px;
	}

	#homeForm .home-hero h1 {
		font-size: 27px;
	}

	#homeForm .home-modules-section {
		padding: 24px 18px;
	}

	#homeForm .home-modules-section h2 {
		font-size: 23px;
	}

	#homeForm .home-module-card {
		min-width: 100%;
	}
}
