@charset "utf-8";

/*
    Todas as customizacoes do primefaces vao estar neste arquivo

    Author     : Arthur Gregorio
    Created on : 26/10/2015
*/

/* customizacao da apresentacao do texto dos botoes */
.ui-button {
	height: 34px;
}

/* remove todos os efeitos arredondadinhos dos elementos */
.ui-corner-all, .ui-state-default {
	border-radius: 0 !important;
}

.ui-selectonemenu-trigger {
	border-radius: 0 !important;
}

/* tira aquele fundo vermelho do label na hr da validacao */
label.ui-state-error {
	background: none !important;
}

/* tira a sombra para que os botoes fiquem certos quando em widgets */
.ui-widget-content button.ui-state-default {
	box-shadow: none !important;
}

/* posicionamento do check nos checkboxes de datatable */
span.ui-icon-check {
	position: relative;
	right: 1px;
	bottom: 1px;
}

/* posicionamento da caixa do checkbox */
.ui-chkbox-box {
	position: relative;
	top: 4px;
}

/* customizacao das mensagens de erro */
.ui-messages>div {
	padding: 15px;
	margin-bottom: 15px;
	border: 1px solid transparent;
	border-radius: 4px;
	color: white;
	font-size: 16px;
}

.ui-messages-error {
	border-color: #d73925 !important;
	background-color: #dd4b39 !important;
}

.ui-messages-warn {
	border-color: #e08e0b !important;
	background-color: #f39c12 !important;
}

.ui-messages-info {
	border-color: #00acd6 !important;
	background-color: #00c0ef !important;
}

.ui-messages ul {
	margin: 0 !important;
}

.ui-messages span.ui-messages-info-icon,
.ui-messages span.ui-messages-warn-icon,
.ui-messages span.ui-messages-error-icon {
	display: none;
}

.ui-messages-warn-summary,
.ui-messages-error-summary,
.ui-messages-info-summary {
	margin-left: 0 !important;
	font-weight: 600 !important;
}

/* corrige a opacidade dos checkboxes das grids */
.ui-chkbox .ui-state-disabled {
	opacity: initial !important;
}

/* remove uma linha preta escrota da header das tabelas */
th[role="columnheader"].ui-state-default {
	border-color: #ccc !important;
}

/* corrige a borda do paginador das datatables */
div.ui-paginator {
	border: 1px solid #dddddd !important;
	border-top: 0px !important;
}

/* remove aquele asterisco porco dos forms */
.ui-outputlabel-rfi {
	display: none;
}

/* corrige a exibicao do selectonemenu */
.full-width-select {
	width: 100% !important;
	box-sizing: border-box;
}

.full-width-select .ui-selectonemenu-label {
	width: calc(100% - 2em);
	box-sizing: border-box;
}

.full-width-select .ui-selectonemenu-trigger {
	width: 2em;
	text-align: center;
}

.ui-selectonemenu {
	width: 100% !important;
	height: 34px;
	display: block !important;
	border-color: #d2d6de !important;
	border-radius: 0 !important;
}

.ui-selectonemenu-trigger {
	width: 30px !important;
	padding: 3px 6px !important;
	border-radius: 0 !important;
}

.ui-selectonemenu-label {
	padding: 6px !important;
}

/* corrige o label dos treenodes da arvore de permissoes */
.ui-treenode-label {
	position: relative;
	left: 3px;
}

.ui-tree-toggler {
	position: relative !important;
}

.ui-icon-triangle-1-e {
	top: 4px;
	background-position: initial !important;
	background-image: url("/javax.faces.resource/img/ui-icon-arrow-right.png.xhtml;jsessionid=vSPNFH2N9vEbZPWgQWSKtUNZYMIeAYW7fLejur8m.node131019-env-8521751?ln=nsym") !important;
}

.ui-icon-triangle-1-s {
	top: 4px;
	background-position: initial !important;
	background-image: url("/javax.faces.resource/img/ui-icon-arrow-down.png.xhtml;jsessionid=vSPNFH2N9vEbZPWgQWSKtUNZYMIeAYW7fLejur8m.node131019-env-8521751?ln=nsym") !important;
}

/* customizacao do scroller */
.ui-datascroller-content {
	background: none !important;
	border: none !important;
	padding: 0px !important;
}

/* customizacao do autocomplete */
.full-width-autocomplete {
	width: 100% !important;
	display: block !important;
	box-sizing: border-box;
}

/* wrapper ocupa toda a largura e alinha os filhos */
span.ui-autocomplete {
	display: flex !important;
	align-items: center;       /* alinha verticalmente */
	width: 100% !important;
	box-sizing: border-box;
}

/* input ocupa todo o espaço restante */
span.ui-autocomplete input.ui-autocomplete-input {
	flex: 1 1 auto;            /* cresce e ocupa o espaço disponível */
	min-width: 0;              /* evita que force largura mínima */
	height: 34px;
	padding: 6px 12px;
	border: 1px solid #d2d6de;
	border-radius: 0;
	box-sizing: border-box;
}

/* botão dropdown fixo à direita, sem afastamento */
span.ui-autocomplete .ui-autocomplete-dropdown {
	flex: 0 0 34px;            /* largura fixa */
	height: 34px !important;
	margin: 0;                 /* remove qualquer espaçamento extra */
	padding: 0;
	text-align: center;
	border-radius: 0;
	border-left: none;         /* opcional: remove borda duplicada */
}

/* força o wrapper do inputNumber a ocupar toda a largura */
span.ui-inputnumber {
	display: flex !important;   /* flexbox para alinhar input + botões */
	width: 100% !important;
	box-sizing: border-box;
}

/* input interno ocupa todo o espaço disponível */
span.ui-inputnumber input.ui-inputfield {
	flex: 1 1 auto;
	min-width: 0;
	height: 34px;
	padding: 6px 12px;
	border: 1px solid #d2d6de;
	border-radius: 0;
	box-sizing: border-box;
}

/* botões de incremento/decremento fixos à direita */
span.ui-inputnumber .ui-inputnumber-button {
	flex: 0 0 34px;             /* largura fixa */
	height: 34px !important;
	margin: 0;
	padding: 0;
	text-align: center;
	border-radius: 0;
	border-left: none;          /* opcional: remove borda duplicada */
}
/* força o inputNumber a ocupar toda a largura da coluna bootstrap */
.full-width-inputnumber {
	width: 100% !important;
	display: block !important;
	box-sizing: border-box;
}
/* força o calendar a ocupar toda a largura da coluna bootstrap */
.full-width-calendar {
	width: 100% !important;
	box-sizing: border-box;
}

/* PRIMEFACES CALENDAR FULL WIDTH (corrigido)
   OBS: quando você usa styleClass="full-width-calendar" no <p:calendar>,
   a classe cai no próprio span.ui-calendar (não existe .full-width-calendar .ui-calendar).
*/
span.ui-calendar.full-width-calendar {
	display: flex !important;
	align-items: center;
	width: 100% !important;
	box-sizing: border-box;
}

/* input ocupa todo o espaço disponível */
span.ui-calendar.full-width-calendar > input.ui-inputfield {
	flex: 1 1 auto;
	min-width: 0;
	height: 34px;
	padding: 6px 12px;
	border: 1px solid #d2d6de;
	border-radius: 0;
	box-sizing: border-box;
}

/* aparência de readonly/disabled (fica com cara de “somente leitura”) */
span.ui-calendar.full-width-calendar > input.ui-inputfield[readonly],
span.ui-calendar.full-width-calendar > input.ui-inputfield:disabled,
span.ui-calendar.full-width-calendar.ui-state-disabled > input.ui-inputfield {
	background-color: #f5f5f5 !important;
	color: #555 !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

/* botão/trigger fixo à direita */
span.ui-calendar.full-width-calendar > button.ui-datepicker-trigger,
span.ui-calendar.full-width-calendar > button.ui-button,
span.ui-calendar.full-width-calendar > span.ui-datepicker-trigger {
	flex: 0 0 34px;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
	border-radius: 0 !important;
	border-left: none; /* opcional: evita borda dupla */
	box-sizing: border-box;
}

/* se o input estiver readonly, opcional: impede abrir o calendário */
span.ui-calendar.full-width-calendar > input.ui-inputfield[readonly] + button.ui-datepicker-trigger,
span.ui-calendar.full-width-calendar > input.ui-inputfield[readonly] + button.ui-button,
span.ui-calendar.full-width-calendar > input.ui-inputfield[readonly] ~ button.ui-datepicker-trigger,
span.ui-calendar.full-width-calendar > input.ui-inputfield[readonly] ~ button.ui-button,
span.ui-calendar.full-width-calendar > input.ui-inputfield[readonly] + span.ui-datepicker-trigger,
span.ui-calendar.full-width-calendar > input.ui-inputfield[readonly] ~ span.ui-datepicker-trigger {
	pointer-events: none;
	opacity: 0.65;
	cursor: not-allowed !important;
}

/* =========================================================
   PADRÃO VISUAL: readonly/disabled para inputs em geral
   (mantém tudo com “cara de input” em modo somente leitura)
   ========================================================= */
.ui-inputfield[readonly],
.ui-inputfield:disabled,
.ui-state-disabled .ui-inputfield {
	background-color: #f5f5f5 !important;
	color: #555 !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

/* selectOneMenu disabled */
.ui-selectonemenu.ui-state-disabled,
.ui-selectonemenu-label.ui-state-disabled {
	background-color: #f5f5f5 !important;
	color: #555 !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

/* =========================================================
   BOTÃO FULL WIDTH (use: styleClass="full-width-btn")
   ========================================================= */
.ui-button.full-width-btn {
	width: 100% !important;
	display: block !important;
	box-sizing: border-box;
}
