/* BASE */
body {
	margin: 0;
	font-size: 13px;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* TABVIEW */
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a {
	color: #555;
}

@media ( max-width : 640px) {
	.ui-tabs.ui-tabs-top>.ui-tabs-nav li {
		width: 100%;
	}
	
	
}

/* PANELGRID */
.ui-panelgrid.panelgrid-noborder .ui-grid-responsive {
	border: none;
}

@media ( max-width : 640px) {
	.ui-panelgrid.panelgrid-noborder .ui-grid-responsive .ui-grid-row {
		border: none;
	}
}

.oneMenu{
	min-width: 0px !important;
}

#realizado_panel {
    top: auto !important;
    bottom: 100% !important;
}

/*
MUDAR IMAGEM DO AUTOCOMPLETE
*/
/* .oneMenu1 span.ui-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/print.png.xhtml") !important;
} */

/*ACCORDION*/
.ui-accordion .ui-accordion-header.ui-state-default {
	margin-bottom: 1px;
}

/* remove uma linha preta escrota da header das tabelas */
th[role="columnheader"].ui-state-default {
	border-color: #ccc !important;
}

/* corrige o texto dentro do inputswitch e o backgroud*/
.ui-inputswitch-on {
	background: none !important;
	color: green;
}

/* remover borda DATATABLE */
.semBorda tr, .semBorda td {
	border: none !important;
}

.ui-panelgrid td {
	height: 34px
}

.ajax-status {
	position: fixed;
	top: 65px;
	right: 10px;
	width: 35px;
	height: 35px;
	z-index: 9999;
}

.ui-selectmanycheckbox td {
	border-width: 0px !important;
	padding: 0px !important;
}

.ui-selectmanycheckbox td label {
	padding-right: 10px;
}

.produto-tabela input {
	width: 99%
}

.fornecedor-tabela input {
	width: 99%
}


/* marcacao de qual tab esta selecionada */
ul.ui-tabs-nav>li.ui-tabs-selected {
	margin-top: -2px;
	border-top: 3px solid #23b7e5 !important;
}

/* arruma o toggler da tree */
span.ui-tree-toggler {
	position: relative;
	top: 3px;
}



/* remove aquele asterisco porco dos forms 
.ui-outputlabel-rfi {
    display: none;
}
*/

/* remove todos os efeitos arredondadinhos dos elementos */
.ui-corner-all, .ui-state-default {
	border-radius: 0 !important;
}

/* remove linhas indesejadas nos widgets */
.ui-state-default, .ui-widget-content div.ui-state-default,
	.ui-widget-header div.ui-state-default {
	border-color: #ccc !important;
}

/* tira a sombra para que os botoes fiquem certos quando em widgets */
.ui-widget-content button.ui-state-default {
	box-shadow: none !important;
}

/* background quando com erro no label */
label.ui-state-error {
	background: none;
}

/* remove uma linha preta escrota da header das tabelas */
th[role="columnheader"].ui-state-default {
	border-color: #ccc !important;
}

/* remove icone de mensagens */
.ui-messages ul {
	margin: 0 !important;
}

.ui-messages span.ui-messages-info-icon {
	display: none;
}

.ui-messages span.ui-messages-warn-icon {
	display: none;
}

.ui-messages span.ui-messages-error-icon {
	display: none;
}

/* corrige a borda do paginador das datatables */
div.ui-paginator {
	border: 1px solid #dddddd !important;
	border-top: 0px !important;
}

/* /* Customiza TabView - in�cio */
.tabWidget .ui-tabs-panel {
	padding: 0.5em 0em !important;
}

/* /* Customiza TabView - fim  */
.ui-state-disabled {
	opacity: .80 !important;
}

/* Customiza menu sistemas*/

.aw-menu > div a {
	text-decoration: none;
	
}
.aw-menu > div a:hover, .aw-menu > tr a:focus {
	background-color: #dfdfdf;
	
}

.ui-expanded-row-content .ui-widget-content tbody tr td {
	overflow: hidden !important;
	max-width: 800px !important;
}

/* Customizando components de consulta de producoes */

.ui-fluid .tamanho input {
    width: 86px !important;
    
}

.ui-fluid .tamanho_ input {
    width: 16% !important;
    
}

.ui-fluid .tamanho_ {
    margin-left: 3px !important;
    
}

.ui-fluid .tamanho {
	margin-left: 5px !important;
}

.ui-fluid .complete-producoes {
	width: 70% !important;
	margin-left: 3px !important;
	display: inline-flex;
}

.ui-fluid .input-producoes {
	width: 10% !important;
	margin-left: 3px !important;
	display: inline-flex;
}

.ui-fluid .complete-hospital{
	min-width: 380px !important;
}


.sqlDialogText {
	display: block;
	width: 600px;
	height: 300px;
	overflow: auto;
	color: green;
}

fieldset {
	padding: 1em;
	float: left;
	margin-right: 0.1em;
	padding-top: 0.2em;
	text-align: left;
	border: 1px solid marrow;
}

.ui-datagrid {
	border: none !important;
}

.ui-datagrid-content {
	border: none !important;
}

.ui-messages {
	width: auto;
	margin: 0 auto !important;
}

/* customizacao das mensagens em tela */
.ui-messages-error {
	margin: 5px 0 10px 0 !important;
	border: 1px solid #eee !important;
	border-left-width: 3px !important;
	/*border-radius: 3px !important;*/
	border-left-color: #d9534f !important;
	background-color: rgba(217, 83, 79, 0.1) !important;
}

.ui-messages-warn {
	margin: 5px 0 10px 0 !important;
	border: 1px solid #eee !important;
	border-left-width: 3px !important;
	/*border-radius: 3px !important;*/
	border-left-color: #f0ad4e !important;
	background-color: rgba(240, 173, 78, 0.1) !important;
}

.ui-messages-info {
	margin: 5px 0 10px 0 !important;
	border: 1px solid #eee !important;
	border-left-width: 3px !important;
	/*border-radius: 3px !important;*/
	border-left-color: #5bc0de !important;
	background-color: rgba(91, 192, 222, 0.1) !important;
}

.observacao{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/comments.png.xhtml") !important;
}

.usd{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/usd.png.xhtml") !important;
}

.check-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/check.png.xhtml") !important;
}

.imprimir-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/print.png.xhtml") !important;
}

.pesquisar-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/search.png.xhtml") !important;
}

.icon-novo{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/Add-16x16.png.xhtml") !important;
}

.novo-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/add-file 16x16.png.xhtml") !important;
}

.editar-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/editar.png.xhtml") !important;
}

.salvar-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/save 16x16.png.xhtml") !important;
}

.salvar-gren-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/salvar.png.xhtml") !important;
}

.atualizar-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/refresh 16x16.png.xhtml") !important;
}

.delete-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/delete.png.xhtml") !important;
}
.internar-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/internacao.png.xhtml") !important;
}

.tranfer-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/user transfer 16x16.png.xhtml") !important;
}

.addPasta-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/add-folder-16x16.png.xhtml") !important;
}

.home-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/Home-16.png.xhtml") !important;
}

.cancelar-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/Cancel-16.png.xhtml") !important;
}

.alert-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/alert.png.xhtml") !important;
}

.xls-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/xls 16x.png.xhtml") !important;
}

.down-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/download.png.xhtml") !important;
}

.up-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/upload.png.xhtml") !important;
}

.like-icon{
	background: url("/erp-semsa/javax.faces.resource/ejsistemas/images/like.png.xhtml") !important;
}

.custom-grid tbody tr:first-child {
	border-top: 1px solid #ccc;
}


.anexos-table .acoes-wrap{
    display:flex; align-items:center; justify-content:center; gap:4px; white-space:nowrap;
  }
  /* ui-fluid força width:100%; anulamos só aqui */
  .ui-fluid .anexos-table .acoes-wrap .ui-button{ width:32px !important; flex:0 0 auto; }

  /* quadradinho igual aos da direita */
  .anexos-table .action-btn.ui-button.ui-button-icon-only{
  }
  .anexos-table .action-btn.ui-button.ui-button-icon-only:hover{
    background:#eef2f6; border-color:#c9d3de;
  }
  /* cores dos ícones (usar PrimeIcons pi-*) */
  .anexos-table .action-blue  .ui-button-icon-left:before{ color:#1976d2; } /* download */
  .anexos-table .action-red   .ui-button-icon-left:before{ color:#e53935; } /* excluir  */

  /* coluna mais estreita só p/ caber os dois */
  .anexos-table .col-acoes{ width:110px; text-align:center; }

/* configurando lista de lu do autocomplete 
div#paciente_panel.ui-autocomplete-panel {
	top: 190px !important;
}

tabPanelWidget:diagnostico_panel.ui-autocomplete-panel ui-widget-content{
	top: 312px !important;
	
}
*/

.dashboard-resumo-grid {
    width: 100%;
}

.dashboard-resumo-grid .colGrafico,
.dashboard-resumo-grid .colTabela {
    vertical-align: top;
}

/* Larguras das colunas (ajusta se quiser outro ratio) */
.dashboard-resumo-grid .colGrafico {
    width: 55%;
}

.dashboard-resumo-grid .colTabela {
    width: 45%;
}

.dashboard-resumo-grid .ui-panel {
    width: 100%;
}

/* ====== PADRÃO de largura dos campos do filtro (desktop) ====== */
[id$="grid_panel_judicial"] .complete-producoes,
[id$="grid_panel_judicial"] .ui-selectonemenu.complete-producoes,
[id$="grid_panel_judicial"] .ui-autocomplete.complete-producoes{
  width: 100% !important;
  max-width: 720px !important;   /* ajuste aqui p/ ficar igual ao que você quer */
  min-width: 0;
  box-sizing: border-box;
}

/* ✅ SelectOneMenu: impede "quebra" no mobile (label + seta) */
[id$="grid_panel_judicial"] .ui-selectonemenu{
  display: inline-flex;
  align-items: stretch;
  width: 100% !important;
  box-sizing: border-box;
}

/* label NÃO pode ser 100% (senão empurra a seta) */
[id$="grid_panel_judicial"] .ui-selectonemenu .ui-selectonemenu-label{
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* seta com largura fixa */
[id$="grid_panel_judicial"] .ui-selectonemenu .ui-selectonemenu-trigger{
  flex: 0 0 2.4rem;
  width: 2.4rem;
  box-sizing: border-box;
}


/* Corrige APENAS o campo "Solicitação" pra não estourar a tela */
[id$="grid_panel_judicial"] div[id$="solicitacaoFilter"].ui-selectonemenu{
  width: 100% !important;
  max-width: 720px !important; /* coloque o mesmo teto dos outros */
  min-width: 0 !important;
  box-sizing: border-box;
}

/* garante que o label interno não force largura */
[id$="grid_panel_judicial"] div[id$="solicitacaoFilter"] .ui-selectonemenu-label{
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* garante que o botão da seta não “empurre” o layout */
[id$="grid_panel_judicial"] div[id$="solicitacaoFilter"] .ui-selectonemenu-trigger{
  box-sizing: border-box;
}

/* ... todo seu CSS atual ... */

/* ===== painel do dropdown (itens longos) ===== */
.som-menu-panel.ui-selectonemenu-panel{
  max-width: calc(100vw - 16px) !important;
}
.som-menu-panel .ui-selectonemenu-items li.ui-selectonemenu-item{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.som-menu-panel .ui-selectonemenu-items-wrapper{
  overflow-x: hidden !important;
}


/* ===== Range de datas com Grid (sem espaçamento gigante no "a") ===== */
[id$="grid_panel_judicial"] .date-range{
  display: grid;
  grid-template-columns: 1fr auto 1fr;  /* data | a | data */
  column-gap: 12px;
  align-items: center;
  width: 100%;
  max-width: 720px; /* mesmo teto dos outros campos */
}

[id$="grid_panel_judicial"] .date-range .ui-calendar.tamanho_{
  width: 100%;
}

[id$="grid_panel_judicial"] .date-range .date-sep{
  padding: 0 6px;
  white-space: nowrap;
}

/* mantém o input do calendar com altura normal */
[id$="grid_panel_judicial"] .ui-calendar.tamanho_ input.ui-inputfield{
  width: 100% !important;
  height: 34px !important;
  line-height: 34px !important;
  box-sizing: border-box;
}

/* Mobile: empilha e deixa o "a" sem criar buraco */
@media (max-width: 768px){
  [id$="grid_panel_judicial"] .date-range{
    grid-template-columns: 1fr;
    row-gap: 6px;
    max-width: 100%;
  }

  [id$="grid_panel_judicial"] .date-range .date-sep{
    text-align: center;
    padding: 0;
    margin: 0;
  }
}

@media (max-width: 768px){
  [id$="grid_panel_judicial"] .complete-producoes,
  [id$="grid_panel_judicial"] .ui-selectonemenu.complete-producoes,
  [id$="grid_panel_judicial"] .ui-autocomplete.complete-producoes{
    max-width: 100% !important;
  }
}

/* ===== Tabela de transparência (reflow no mobile) =====
	 Evita truncar os títulos das colunas (ex.: "Posição" virar "Posiç"). */
@media (max-width: 640px) {
	#transparencia.ui-datatable-reflow .ui-datatable-data td .ui-column-title {
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		max-width: none !important;
	}
}

.chat-btn-wrapper {
    position: relative;
    width: 40px;
    height: 40px;
    background-color: #25D366;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.35);
    vertical-align: middle;
    margin-top: 5px;
}

.chat-btn-wrapper:hover {
    background-color: #1ebe5d;
}

.chat-btn-icon {
    color: #ffffff;
    font-size: 18px;
    pointer-events: none;
    z-index: 1;
}

.chat-btn-hidden {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    border: none !important;
    z-index: 2;
}
