@CHARSET "ISO-8859-1";

.flex-responsive {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.input-responsive-md {
	width: 400px !important;
}

.table-responsive-wrap {
	width: 100%;
}

.col-info-mobile {
	display: none;
}

.proc-conteudo {
	position: fixed !important;
	top: 60px !important;
	bottom: 120px !important;
	width: 98% !important;
}

.botoes-dlg {
	display: flex;
	flex-direction: row-reverse;
	margin-top: 35px;
}

.dlg-cartao__aviso {
	margin-bottom: 20px;
	margin-left: -202px;
}

.dlg-cartao__campos {
	text-align: left;
	width: 80%;
}

.dlg-cartao__acoes {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	margin-top: 30px;
}

/**
	para quando a tela tem menos que 960px de largura:
**/
@media ( max-width : 960px) {
	div.menu {
		display: none !important;
	}

	.panel > .ui-panel-titlebar {
		position: fixed !important;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 0 !important;
	}

	.panel > .ui-panel-titlebar .ui-panel-title {
		font-size: 11pt;
		line-height: 34px;
		padding: 0 42px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.menu-mobile {
		display: inline-flex !important;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100 !important;
		height: 34px;
		width: auto;
		align-items: center;
		padding-left: 6px;
	}

	.botao-menu {
		display: inline-flex !important;
		align-items: center;
		gap: 4px;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 2px 7px !important;
		background: none !important;
		background-image: none !important;
		border: 1px solid rgba(255, 255, 255, 0.4) !important;
		border-radius: 6px;
		font-size: 12px;
		letter-spacing: 0.08em;
		cursor: pointer;
		color: #ffffff !important;
		margin: 0 !important;
	}

	.botao-menu i {
		font-size: 11px;
	}

	.sidebar-mobile {
		position: fixed !important;
		top: 0 !important;
		bottom: 0 !important;
		height: auto !important;
		padding: 0 !important;
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.sidebar-mobile > .ui-sidebar-content {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-height: 0;
		width: 100%;
		box-sizing: border-box;
	}
	.sidebar-header {
		flex: 0 0 auto;
		padding: 10px;
		text-align: center;
		border-bottom: 1px solid #ddd;
		background: #fff;
	}
	.sidebar-logo {
		height: 50px;
		width: 95%;
		margin: 0;
		max-width: 95%;
		max-height: 50px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}
	.sidebar-identificacao {
		margin-top: 4px;
		font-size: 8.5pt;
		color: #555;
		font-weight: 600;
		line-height: 1.2;
		max-width: 100%;
		word-break: break-word;
	}

	.sidebar-content-scroll {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		padding: 10px;
		box-sizing: border-box;
	}


	.sidebar-rodape {
		flex: 0 0 auto;
		font-size: 8pt;
		color: #666;
		padding: 6px 10px;
		border-top: 1px solid #ddd;
		background-color: #eee;
		text-align: center;
		word-break: break-word;
		box-sizing: border-box;
	}

	body.ui-overflow-hidden {
		overflow: hidden !important;
	}

	div.corpo {
		top: 0 !important;
		left: 5px !important;
		right: 5px !important;
		bottom: 0 !important;
	}

	div.corpo-full {
		top: 0 !important;
		left: 5px !important;
		right: 5px !important;
		bottom: 0 !important;
		min-width: 0 !important;
		min-height: 0 !important;
	}

	.panel {
		position: static !important;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		width: 100% !important;
		height: auto !important;
		min-height: calc(100vh - 34px) !important;
		margin: 34px 0 0 0 !important;
		overflow: visible !important;
	}

	.panel > .ui-panel-content {
		flex: 1 1 auto;
		width: 100%;
		box-sizing: border-box;
		overflow-x: hidden;
		padding-bottom: 70px !important;
	}

	.ui-panel .ui-widget-header {
		text-align: center !important;
	}

	.botoes,
	.botoesleft,
	.botoesbody {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		top: auto !important;
		width: auto !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: 8px;
		margin: 0 !important;
		padding: 8px 10px;
		background: #fff;
		box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
		box-sizing: border-box;
		z-index: 1000;
	}

	.botoes .ui-button,
	.botoesleft .ui-button,
	.botoesbody .ui-button {
		flex: 1 1 auto;
		min-width: 110px;
		max-width: 100%;
		margin: 0 !important;
	}

	.botoes > span,
	.botoesleft > span,
	.botoesbody > span {
		display: flex;
		flex: 1 1 auto;
		gap: 8px;
		min-width: 110px;
	}

	.botoes > span > .ui-button,
	.botoesleft > span > .ui-button,
	.botoesbody > span > .ui-button {
		width: 100%;
	}

	.ui-dialog .botoes,
	.ui-dialog .botoesleft,
	.ui-dialog .botoesbody {
		position: static !important;
		background: transparent;
		box-shadow: none !important;
		padding: 8px 0 0 0 !important;
		margin-top: 10px !important;
		z-index: auto;
	}

	.ui-dialog .botoes .ui-panelgrid,
	.ui-dialog .botoes > table {
		float: none !important;
		width: 100% !important;
	}

	.ui-dialog .botoes .ui-panelgrid tbody,
	.ui-dialog .botoes .ui-panelgrid tr {
		display: flex !important;
		flex-wrap: wrap;
		gap: 8px;
		width: 100%;
	}

	.ui-dialog .botoes .ui-panelgrid td {
		display: block !important;
		flex: 1 1 auto;
		padding: 0 !important;
		border: 0 !important;
	}

	.ui-dialog .botoes .ui-panelgrid td .ui-button {
		width: 100% !important;
	}

	.botoes-dlg {
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 16px !important;
	}

	.botoes-dlg .ui-button {
		flex: 1 1 auto;
		min-width: 110px;
	}

	body .ui-dialog:not(.statusDialog) {
		width: 96vw !important;
		min-width: 0 !important;
		max-width: 96vw !important;
		left: 2vw !important;
		right: auto !important;
		box-sizing: border-box;
		padding-left: 0 !important;
	}

	body .ui-dialog:not(.statusDialog):not(.dlg-downloads) .ui-dialog-content {
		width: auto !important;
		max-width: 100% !important;
		max-height: 72vh !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
	}

	body .ui-dialog.dlg-downloads .ui-dialog-content {
		width: auto !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	body .ui-growl {
		width: 95% !important;
		left: 2.5% !important;
	}

	.panel .ui-inputfield,
	.panel input.ui-inputtext,
	.ui-dialog .ui-inputfield,
	.ui-dialog input.ui-inputtext {
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.select,
	.nome,
	.senha,
	.cartao,
	.abramge,
	.cpfsearch,
	.celularoufixo,
	.inputname,
	.token,
	.leitura_cartao,
	.input-responsive-md {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.ui-selectonemenu {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.ui-selectonemenu .ui-selectonemenu-label {
		width: 100% !important;
		box-sizing: border-box;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.ui-autocomplete,
	.ui-autocomplete input.ui-inputtext {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.ui-selectonemenu-panel,
	.ui-autocomplete-panel {
		max-width: calc(100vw - 20px) !important;
		box-sizing: border-box;
	}

	.ui-selectonemenu-panel .ui-selectonemenu-item,
	.ui-autocomplete-panel .ui-autocomplete-item {
		white-space: normal !important;
		word-break: break-word;
	}

	.panel .ui-panelgrid,
	.panel table.grid,
	.panel table.grid5,
	.panel table.grid6 {
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed;
	}

	.panel table.grid > tbody > tr > td,
	.panel table.grid5 > tbody > tr > td,
	.panel table.grid6 > tbody > tr > td {
		word-break: break-word;
	}

	.panel table.grid .ui-inputfield,
	.panel table.grid5 .ui-inputfield,
	.panel table.grid6 .ui-inputfield,
	.panel table.grid .ui-autocomplete,
	.panel table.grid .ui-selectonemenu {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.grid-empilha > tbody > tr,
	.grid-empilha > tbody > tr > td,
	.grid-empilha > tr,
	.grid-empilha > tr > td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.flex-responsive {
		flex-direction: column;
	}

	.dlg-perguntas table.grid5,
	.dlg-perguntas table.grid5 > tbody,
	.dlg-perguntas table.grid5 > tbody > tr,
	.dlg-perguntas table.grid5 > tbody > tr > td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.dlg-perguntas table.grid5 > tbody > tr > td .ui-inputfield {
		width: 100% !important;
		box-sizing: border-box;
	}

	.dlg-perguntas table.grid5 > tbody > tr > td .titulo {
		display: block;
		margin-bottom: 2px;
	}

	.dlg-cartao__aviso {
		margin-left: 0 !important;
		margin-bottom: 14px !important;
		text-align: center;
	}

	.dlg-cartao__campos {
		width: 100% !important;
	}

	.dlg-cartao__campos .ui-inputfield {
		width: 100% !important;
		box-sizing: border-box;
	}

	.dlg-cartao__acoes {
		margin-top: 16px !important;
		margin-left: 0 !important;
		width: 100% !important;
	}

	.dlg-cartao__acoes .ui-button {
		width: 100% !important;
	}

	.table-responsive-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.ui-datatable-reflow .ui-datatable-data .ui-expanded-row td[role="gridcell"]:not(.ui-helper-hidden)
		{
		width: max-content !important;
	}

	.rowToggler td[role="gridcell"] {
		width: max-content !important;
	}

	.tabela-responsiva .col-hide-sm,
	.tabela-responsiva .col-hide-sm * {
		display: none !important;
	}

	.col-info-mobile {
		display: block !important;
		margin-top: 4px;
	}

	.badge-status {
		display: inline-block;
		background: rgba(0, 0, 0, 0.08);
		border-radius: 3px;
		padding: 1px 6px;
		font-size: 11px;
		font-weight: bold;
	}

	.badge-qtde {
		font-size: 11px;
		color: #555;
	}

	.informacoes-modulo {
		font-size: 8pt;
	}

	.ambiente-homologacao {
		font-size: 8pt;
	}

	.ui-dialog.dialog75.dlg-solicitacao {
		width: 96vw !important;
		min-width: 0 !important;
	}

	.dlg-solicitacao {
		left: 2vw !important;
		right: 2vw !important;
	}

	.dlg-solicitacao .ui-dialog-content {
		width: auto !important;
		max-height: 78vh !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
	}

	.dlg-solicitacao-conteudo {
		height: auto !important;
		max-height: calc(78vh - 96px);
		overflow-y: auto;
		overflow-x: hidden;
	}

	.dlg-solicitacao-info {
		margin-bottom: 8px !important;
	}

	.dlg-solicitacao-info .ui-panelgrid-cell {
		word-break: break-word;
	}

	.solitens-responsiva .ui-datatable-tablewrapper,
	.solitens-responsiva .ui-datatable-scrollable-body {
		overflow-x: hidden !important;
	}

	.solitens-responsiva .ui-datatable-scrollable-header,
	.solitens-responsiva .ui-datatable-scrollable-header-box {
		display: none !important;
	}

	.solitens-responsiva table,
	.solitens-responsiva tbody,
	.solitens-responsiva tr {
		display: block;
		width: 100% !important;
	}

	.solitens-responsiva thead {
		display: none;
	}

	.solitens-responsiva .col-hide-sm,
	.solitens-responsiva .col-hide-sm * {
		display: none !important;
	}

	.solitens-responsiva tbody tr {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 54px;
		grid-template-areas: "procedimento selecao";
		column-gap: 8px;
		margin-bottom: 8px;
		padding: 8px;
		border: 1px solid #d5d5d5;
		border-radius: 6px;
	}

	.solitens-responsiva tbody tr td[role="gridcell"] {
		width: auto !important;
	}

	.solitens-responsiva tbody td {
		box-sizing: border-box;
		width: auto !important;
		border: 0 !important;
		padding: 0 !important;
		white-space: normal !important;
	}

	.solitens-responsiva .col-procedimento-mobile {
		grid-area: procedimento;
		min-width: 0;
		overflow-wrap: anywhere;
		word-break: break-word;
		line-height: 1.35;
	}

	.solitens-responsiva .col-procedimento-mobile .col-info-mobile {
		display: flex !important;
		align-items: center;
		gap: 6px;
		margin-top: 8px;
	}

	.solitens-responsiva .col-selecao-mobile {
		grid-area: selecao;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 52px;
		border-left: 1px solid rgba(0, 0, 0, 0.12) !important;
		padding-left: 8px !important;
	}

	.solitens-responsiva .col-selecao-mobile .ui-chkbox,
	.solitens-responsiva .col-selecao-mobile .ui-chkbox-box {
		width: 24px !important;
		height: 24px !important;
	}

	.dlg-solicitacao-legenda,
	.dlg-solicitacao-acoes {
		position: static !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		width: auto !important;
		box-shadow: none !important;
		background: transparent !important;
	}

	.dlg-solicitacao-legenda {
		margin-top: 8px;
	}

	.dlg-solicitacao-legenda .ui-panelgrid,
	.dlg-solicitacao-legenda .ui-panelgrid-content,
	.dlg-solicitacao-legenda tbody,
	.dlg-solicitacao-legenda tr {
		display: block;
		width: 100%;
	}

	.dlg-solicitacao-legenda td {
		display: inline-block;
		width: auto !important;
		padding: 2px !important;
	}

	.dlg-solicitacao-legenda .status-solicitacao {
		display: inline-block;
		font-size: 10px;
		white-space: nowrap;
	}

	.dlg-solicitacao-acoes {
		display: flex !important;
		flex-wrap: wrap;
		gap: 8px;
		padding-top: 8px;
		justify-content: flex-end;
	}

	.dlg-solicitacao-acoes .ui-button {
		flex: 0 0 auto;
		min-width: 105px;
		max-width: 150px;
	}

	body .ui-dialog.dialog100 {
		width: 100vw !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		left: 0 !important;
		top: 0 !important;
		height: 100% !important;
		max-height: 100% !important;
	}

	body .ui-dialog.dialog100 .ui-dialog-content {
		height: 100% !important;
		max-height: 100% !important;
		overflow: hidden !important;
		box-sizing: border-box;
	}

	.ui-dialog.dialog100 .ui-dialog-content > form {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 0;
		box-sizing: border-box;
	}

	.ui-dialog.dialog100 .ui-dialog-content > form > table,
	.ui-dialog.dialog100 .ui-dialog-content > form > .ui-panelgrid {
		flex: 0 0 auto;
	}

	.proc-conteudo .ui-widget-content {
		width: auto !important;
		height: auto !important;
	}

	.proc-conteudo {
		position: static !important;
		top: auto !important;
		bottom: auto !important;
		width: 100% !important;
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
	}

	.ui-dialog.dialog100 .botoes {
		flex: 0 0 auto;
		margin-top: 0 !important;
		padding: 8px 6px !important;
		border-top: 1px solid #ddd;
		background: #fff;
	}

	.proc-conteudo .ui-tabs,
	.proc-conteudo .ui-tabs .ui-tabs-panels,
	.proc-conteudo .ui-tabs .ui-tabs-panel {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.proc-conteudo .ui-tabs-nav {
		display: flex;
		flex-wrap: wrap;
	}

	.proc-conteudo .ui-tabs-nav li {
		float: none !important;
	}

	.proc-conteudo .ui-tabs-nav li a {
		padding: 6px 8px !important;
		font-size: 12px;
	}

	.proc-conteudo .ui-tabs .ui-tabs-panel,
	.proc-conteudo .ui-datatable,
	.proc-conteudo .ui-datatable-tablewrapper {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	.proc-conteudo .ui-datatable table {
		min-width: 700px;
	}

	.proc-conteudo .ui-datatable td,
	.proc-conteudo .ui-datatable th {
		white-space: normal !important;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.proc-conteudo .ui-column-filter {
		float: none !important;
		width: 100% !important;
		box-sizing: border-box;
	}

	.proc-conteudo table.grid,
	.proc-conteudo table.grid4,
	.proc-conteudo table.grid5 {
		width: 100% !important;
		max-width: 100% !important;
	}

	.proc-conteudo table.grid > tbody > tr,
	.proc-conteudo table.grid > tbody > tr > td,
	.proc-conteudo table.grid4 > tbody > tr,
	.proc-conteudo table.grid4 > tbody > tr > td,
	.proc-conteudo table.grid5 > tbody > tr,
	.proc-conteudo table.grid5 > tbody > tr > td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.proc-conteudo .ui-selectonemenu,
	.proc-conteudo .ui-inputfield,
	.proc-conteudo .ui-autocomplete,
	.proc-conteudo .ui-autocomplete input.ui-inputtext {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.dlg-pesq-proc .ui-widget-content {
		width: auto !important;
		height: auto !important;
	}

	.dlg-pesq-proc table.grid4,
	.dlg-pesq-proc table.grid4 > tbody > tr,
	.dlg-pesq-proc table.grid4 > tbody > tr > td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.dlg-pesq-proc .ui-inputfield,
	.dlg-pesq-proc .ui-autocomplete,
	.dlg-pesq-proc .ui-autocomplete input.ui-inputtext {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.dlg-pesq-proc .ui-spinner {
		width: 110px !important;
	}
}

/**
	para quando a tela tem mais que menos que 640px de largura:
**/
@media (max-width: 640px) {
    /**
        para reflow dos datatables:
    **/

    /* aplica a qualquer classe com "relatorios" */
    [class^="relatorios"],
    [class*=" relatorios"] {
        width: 97% !important;
        min-width: 0 !important;
    }

    .ui-datatable-reflow .ui-datatable-data td{
    		display:flex !important;
    		align-items:center;
    		gap:8px;
    		padding:6px 10px !important;
    		text-align:left !important;
    }

    .ui-datatable-reflow .ui-column-title{
        font-weight:600;
        min-width:120px;
        margin:0;
        text-align:left !important;
    }

    .ui-datatable.ui-datatable-reflow .ui-paginator .ui-paginator-pages {
        display: inline-block !important;
    }
}

/**
	para quando a tela tem mais que 960px de largura:
**/
@media ( min-width : 960px) {
	.menu-mobile {
		display: none;
	}
}
