/* ============================================================================
   RESET E CONFIGURAÇÕES GERAIS
   ============================================================================ */

body {
	margin: 0px;
	background-color: var(--color-bg-body);
}

body.stop-scrolling {
	height: 100%;
	overflow: hidden;
}

body.stop-scrolling-x {
	height: 100%;
	overflow-x: hidden;
}

* { font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 11px; }

hr { border: 0px; border-bottom: 1px solid var(--color-border-hr);  }


/* ============================================================================
   INPUTS E ELEMENTOS DE FORMULÁRIO BÁSICOS
   ============================================================================ */

input::-ms-clear {
	display: none;
}

input::-ms-reveal {
	display: none;
}

input, select, textarea, button, a {
	outline-color : var(--color-outline);
	color: var(--color-text-default);
}


/* ============================================================================
   WIDGETS UI - DL, DT, DD (DEFINIÇÃO DE LISTAS)
   ============================================================================ */

.ui-widget * { font-size: 12px; }
.ui-dialog-content { z-index: 100; }

.ui-widget dl {
	clear:both;
	border: 1px solid transparent;	
}

.ui-widget dt {
	width:22%;
	max-width:250px;
	float:left;
	text-align:right;
	line-height:20px;
	margin:0 4px 3px 0;
}

.ui-widget dd {
	width:77%;
	max-width:100%;
	float:left;
	line-height:20px;
	margin:0px;
}

.ui-widget .tabs-secundaria dt {
	width:21%;
	max-width:240px;
}

.ui-widget .tabs-secundaria  dd {
	width:78%;
}

.ui-widget dd.head-col-1 { width: 38%; border-bottom: 1px solid var(--color-border-default); margin-right: 5px; }
.ui-widget dd.head-col-2 { width: 38%; border-bottom: 1px solid var(--color-border-default); }
.ui-widget dd.body-col-1 { width: 38%; margin-right: 5px; }
.ui-widget dd.body-col-2 { width: 38%; }

.ui-widget dd small { font-size: 11px; font-style:italic; }
.ui-widget dd small * { font-size: 11px; }

.ui-widget input.text, .ui-widget textarea.text, .ui-widget select.text { width:95%; padding: .2em; margin: 1px; margin-left: 0px; }
.ui-widget textarea.text { margin: 1px 0px -5px 1px; margin-left: 0px; }
@-moz-document url-prefix() { .ui-widget textarea.text { margin: 1px 0px -2px 1px; } }

.ui-widget input.text-small { width:95%; padding: 1px; margin: 0px; }
.ui-widget input:disabled:not(.ignore-disabled), .ui-widget select:disabled:not(.ignore-disabled), .ui-widget textarea:disabled:not(.ignore-disabled) { background: var(--color-bg-disabled); border: 1px solid var(--color-border-default); }
.ui-widget input[readonly]:not(.ignore-disabled, .text-grid-plan), .ui-widget input[readOnly]:not(.ignore-disabled, .text-grid-plan) { background: var(--color-bg-disabled); border: 1px solid var(--color-border-default); }
.ui-widget .imp:disabled:not(.ignore-disabled) { background: var(--color-bg-disabled) !important; border: none !important; cursor: not-allowed; }
.ui-widget input.grid-item { width:99%; padding: .2em; margin: 1px; }
.ui-widget textarea.grid-item { width:99%; padding: .2em; margin: 1px; overflow-x: hidden; }
.ui-widget fieldset { padding:0; border:0;  }


/* ============================================================================
   CHECKBOXES E RADIOS CUSTOMIZADOS
   ============================================================================ */

input[type=checkbox],
input[type=radio] {
	appearance: none;
	width: 12px;
	height: 12px;
	border: 1.5px solid var(--color-checkbox-border);
	border-radius: 3px;
	outline: none;
	cursor: pointer;
	background-color: var(--color-bg-white);
	margin: 5px 3px 0px 4px !important;
	z-index: 999999999999 !important;
}

input[type=checkbox].checkbox-toolbar {
	margin: 0px !important;
}

input[type=checkbox]:focus,
input[type=radio]:focus {
	border: 1.5px solid var(--color-checkbox-border-focus);
	background-color: var(--color-checkbox-bg-focus);
}

input[type=checkbox]:hover,
input[type=radio]:hover {
	border: 1.5px solid var(--color-checkbox-border-focus);
	background-color: var(--color-checkbox-bg-focus);
}

input[type=checkbox]:checked,
input[type=radio]:checked {
	border: 1.5px solid var(--color-checkbox-border-focus);
	background-color: var(--color-primary);
}

input[type=checkbox]:checked::after {
	content: '\2713';
	color: var(--color-text-white);
	font-size: 10px;
	position: relative;
	top: -2px;
    left: 1px;
	font-weight: bold;
}

input[type=radio]:checked::after {
	content: '\25CF';
	color: var(--color-text-white);
	font-size: 12px;
	top: -2.8px;
    left: 1.3px;
	position: relative;
}

input[type=checkbox]:disabled:checked,
input[type=radio]:disabled:checked {
	border: 1.5px solid var(--color-border-checkbox-disabled) !important;
	background-color: var(--color-bg-checkbox-disabled) !important;
}

input[type=radio]:disabled:checked::after {
	color: var(--color-text-checkbox-disabled);
}

input[type=radio] {
	border-radius: 50%;
}

.checkbox-s { width: 10px !important; height: 10px !important; }


/* ============================================================================
   TABELAS - GRID, GRID-GROUP, GRID-SCROLL
   ============================================================================ */

.ui-widget dt table.grid *, .ui-widget dd table.grid *  { line-height: normal !important; }

.ui-widget table.grid { margin: 1em 0; border-collapse: collapse; width: 100%; }
.ui-widget table.grid td, .ui-widget table.grid th { border: 0; border-bottom: 1px solid var(--sig-border-color-light); text-align: left; font-size: 12px;  }
.ui-widget table.grid th { padding: .6em 10px; }
.ui-widget table.grid td { padding: 3px; padding-left: .6em; padding-right: .6em; }
.ui-widget table.grid tbody tr:nth-child(odd) td { background: var(--color-row-even) }
.ui-widget table.grid tbody tr:nth-child(even) td { background: var(--color-bg-row-odd) }
.ui-widget table.grid tbody tr.selected td,
.ui-widget table.grid tbody tr.selected:nth-child(odd) td,
.ui-widget table.grid tbody tr.selected:nth-child(even) td { background: var(--color-selected) !important; }
.ui-widget table.grid tbody tr:not(.no-hover):hover td { background: var(--color-hover-light);  }
.ui-widget table.grid tr td.hover:hover { background: var(--color-hover-light); }
.ui-widget table.grid tbody tr.wrong td { background: var(--color-bg-wrong); }
.ui-widget table.grid tbody tr.wrong:nth-child(even) td { background: var(--color-bg-wrong-even); }
.ui-widget table.grid td.center, .ui-widget table.grid th.center, input.center { text-align: center;  }
.ui-widget table.grid td.right, .ui-widget table.grid th.right, input.right { text-align: right;  }

.ui-widget table.grid tr.top td:first-child { padding-top: 8px; }
.ui-widget table.grid tr.top td { padding-top: 6px; }

.ui-widget table.grid-group { margin: 1em 0; border-collapse: collapse; width: 100%; }
.ui-widget table.grid-group td, .ui-widget table.grid-group th { border: 0; border-bottom: 1px solid var(--sig-border-color-light); text-align: left; font-size: 12px;  }
.ui-widget table.grid-group th { padding: .6em 10px; }
.ui-widget table.grid-group td { padding: 3px; padding-left: .6em; padding-right: .6em; }
.ui-widget table.grid-group tr.odd td { background: var(--color-bg-row-odd) }
.ui-widget table.grid-group tr.even td { background: var(--color-row-even) }
.ui-widget table.grid-group tr.line-group-odd td { background: var(--color-bg-grid-group-odd); }
.ui-widget table.grid-group tr.line-group-even td {	background: var(--color-bg-grid-group-even); }
.ui-widget table.grid-group tr.even:hover td, .ui-widget table.grid-group tr:hover td { background: var(--color-hover-light);  }
.ui-widget table.grid-group td.center, .ui-widget table.grid-group th.center, input.center { text-align: center;  }
.ui-widget table.grid-group td.right, .ui-widget table.grid-group th.right, input.right { text-align: right;  }
.ui-widget table.grid-group .icon-plus-minus, div .icon-plus-minus { float: left; background: var(--color-bg-white); border: 1px solid var(--color-bg-carregando); padding-bottom: 2px; }

.ui-widget div.grid-div div.grid-div-line { padding: 3px; padding-left: .6em; padding-right: .6em; border: 0px; border-bottom: 1px solid var(--color-border-grid-line); }
.ui-widget div.grid-div div.grid-div-nothig { padding: 3px; padding-left: .6em; padding-right: .6em; font-style: italic; }

.ui-widget table.grid tbody tr:nth-child(odd) td div.grid-div div.grid-div-line:last-child { border: 0px; }
.ui-widget table.grid tbody tr:nth-child(odd) td div.grid-div div.grid-div-line:nth-child(odd) { background: var(--color-row-even) }
.ui-widget table.grid tbody tr:nth-child(odd) td div.grid-div div.grid-div-line:nth-child(even) { background: var(--color-bg-row-odd) }
.ui-widget table.grid tbody tr:nth-child(odd) td div.grid-div div.grid-div-line:nth-child(odd):hover,
.ui-widget table.grid tbody tr:nth-child(odd) td div.grid-div div.grid-div-line:nth-child(even):hover { background: var(--color-hover-light) }

.ui-widget table.grid tbody tr:nth-child(even) td div.grid-div div.grid-div-line:last-child { border: 0px; }
.ui-widget table.grid tbody tr:nth-child(even) td div.grid-div div.grid-div-line:nth-child(odd) { background: var(--color-bg-row-odd) }
.ui-widget table.grid tbody tr:nth-child(even) td div.grid-div div.grid-div-line:nth-child(even) { background: var(--color-row-even) }
.ui-widget table.grid tbody tr:nth-child(even) td div.grid-div div.grid-div-line:nth-child(odd):hover,
.ui-widget table.grid tbody tr:nth-child(even) td div.grid-div div.grid-div-line:nth-child(even):hover { background: var(--color-hover-light) }

.ui-widget table.grid-scroll { display: block; overflow-y: auto; border-collapse: separate !important; border-spacing: 0px !important; }
.ui-widget table.grid-scroll thead th,
.ui-widget table.grid-scroll tfoot td { position: sticky; z-index: 10; }
.ui-widget table.grid-scroll thead th { background: var(--color-bg-white); top: 0; border: 0 !important; border-bottom: 1px solid var(--sig-border-color-light) !important; }
.ui-widget table.grid-scroll tbody td { border: 0 !important; border-bottom: 1px solid var(--sig-border-color-light) !important; border-left: 0 !important; }
.ui-widget table.grid-scroll tbody tr > td:first-child { border-left: 0 !important; }
.ui-widget table.grid-scroll tfoot td { border: 0 !important; border-top: 1px solid var(--sig-border-color-light) !important; bottom: 0; }

.ui-widget input.mark_down-status { padding: 2px; padding-left: 8px; padding-right: 8px; } 

.ui-widget strong.mark_down-status,
.ui-widget span.mark_down-status { padding: 2px; padding-left: 8px; padding-right: 8px; border-radius: 5px; }

/* ============================================================================
   MENU ACCORDION
   ============================================================================ */

#menu-accordion .ui-accordion-header a { padding-left: 0; font-weight: 500; }
#menu-accordion .ui-accordion-header a div.icon { display: inline-block; width: 17px; }

#menu-accordion ul {
	list-style: disc;
	padding: 0px;
	margin: 0px;
	margin-top: 4px;
	padding-left: 8px;
}
#menu-accordion ul:first-child {
	margin-bottom: 4px;
}
#menu-accordion ul:first-child {
	margin-left: 15px;
}
#menu-accordion li {
	padding: 3px;
	margin-right: 0px;
	padding-right: 0px;
}

#menu-accordion div { border: 0px; padding: 0px; margin: 0px; }

#menu-accordion-divisao, #menu-accordion-icon { cursor: hand; cursor: pointer; background: var(--color-bg-white) }
#menu-accordion-divisao:hover { background: var(--color-menu-hover); }
#ajuda-divisao { background: var(--color-bg-white); }
#ajuda-divisao:hover { background: var(--color-menu-hover); }
#menu-accordion-icon:hover { background: var(--color-menu-hover); }

#menu-accordion .ui-accordion-content-active { background: var(--color-bg-menu-active); }


/* ============================================================================
   TABS
   ============================================================================ */

div.tabs { border-top: 0px; border-bottom: 0px; border-left: 0px; border-right: 0px; }
div.tabs { margin: 0.3em; background: transparent; }
div.tabs div.ui-tabs-panel { background: var(--color-bg-white); padding: 0.5em; border: 1px solid var(--color-border-tabs); border-left: 1px solid var(--color-border-tabs-light); border-top: 0px; }
div.tabs ul.ui-tabs-nav { border: 0px; border-bottom: 1px solid var(--sig-border-color); background: transparent; font-weight: 400; padding-left: 0px; border-radius: 0 !important;}
div.tabs ul.ui-tabs-nav a { color: var(--color-text-tabs); }
div.tabs ul.ui-tabs-nav li.ui-state-default { background: var(--color-bg-tabs-default); border: 1px solid var(--color-border-tabs-light); }
div.tabs ul.ui-tabs-nav li.ui-state-default:hover { background: var(--color-bg-tabs-hover); }
div.tabs ul.ui-tabs-nav li.ui-state-active { background: var(--color-bg-tabs-active); border: 1px solid var(--color-border-tabs); border-left: 1px solid var(--color-border-tabs-light); border-bottom: 0; margin-bottom: -1px; padding-bottom: 0; position: relative; z-index: 2; }
div.tabs ul.ui-tabs-nav li.ui-state-active:hover { background: var(--color-bg-tabs-active); }
div.tabs ul.ui-tabs-nav li.ui-state-active a { color: var(--color-text-tabs-active); }

div.tabs li.tab-blue { background: var(--color-tab-primary) !important; border: 1px solid var(--color-border-tabs-blue) !important; border-bottom: 0px !important; }
div.tabs li.tab-blue:hover { background: var(--color-tab-primary-hover) !important; border: 1px solid var(--color-border-tabs-blue-hover) !important; border-bottom: 0px !important; }
div.tabs li.tab-blue a { color: var(--color-text-white) !important; }

div.tabs-secundaria div.ui-tabs-panel { background: var(--color-bg-white); padding: 0.75em 0.5em 0.5em;
	border: 1px solid var(--sig-border-color);
	border-top: 0;
	border-radius: 0 0 var(--sig-radius-md) var(--sig-radius-md);
}

div.tabs-border-bottom {
	border-radius: var(--sig-radius-md);
	border-bottom: 0;
}

.tabs { margin-top: 0.3em; }

.ui-tabs .ui-tabs-panel { padding: 5px 2px 0px 2px; }


/* ============================================================================
   TOOLBAR E BOTÕES
   ============================================================================ */

.ui-widget a { color: var(--color-text-default) }

.ui-widget input.ui-button { padding: 0.2rem 0.4rem; }

#div-TOOLBAR-BOTTOM li.ui-state-default,
#div-TOOLBAR-BOTTOM select.ui-state-default,
#div-TOOLBAR button.ui-state-default,
#div-TOOLBAR label.ui-state-default,
#div-TOOLBAR input.ui-state-default,
#div-TOOLBAR li.ui-state-default,
#div-TOOLBAR select.ui-state-default,
.ui-widget button.ui-state-default,
.ui-widget-content button.ui-state-default,
.ui-widget-content label.ui-state-default,
.ui-widget-content input.ui-state-default,
input.ui-state-default[type=button],
input.ui-state-default[type=submit] { background: var(--color-bg-button-default); color: var(--color-text-button); }
input.button-yellow[type=button],
input.button-yellow[type=submit]{ background: var(--color-button-yellow) !important;; color: var(--color-text-button); }

.ui-widget-content label.ui-state-active { background: var(--color-bg-button-active); }

#div-TOOLBAR button.ui-state-default:hover,
#div-TOOLBAR label.ui-state-default:hover,
#div-TOOLBAR input.ui-state-default:hover,
.ui-widget button.ui-state-default:hover,
.ui-widget-content button.ui-state-default:hover,
.ui-widget-content label.ui-state-default:hover,
.ui-widget-content input.ui-state-default:hover,
input.ui-state-default[type=button]:hover,
input.ui-state-default[type=submit]:hover { background: var(--color-bg-button-hover); color: var(--color-text-button); }
input.button-yellow[type=button].button-yellow:hover,
input.button-yellow[type=submit].button-yellow:hover { background: var(--color-button-yellow-hover) !important; color: var(--color-text-button); }

.grid .ui-widget-header { background: var(--color-bg-white); color: var(--color-text-grid-header); }

:root {
    --color-button-ia: #5250c7;
    --color-button-ia-hover: #3737a7;
}

.button-ia-color { background: var(--color-button-ia) !important; color: white !important; }
.button-ia-color:hover { background: var(--color-button-ia-hover) !important; color: white !important; }

.ui-widget button.button-ia,
.ui-widget-content button.button-ia { background: var(--color-button-ia); color: white; }
.ui-widget button.button-ia:hover,
.ui-widget-content button.button-ia:hover { background: var(--color-button-ia-hover); color: white; }

.ia-botoes-texto {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px;
	max-width: 100%;
	white-space: normal;
}

.ia-botoes-texto .ui-button,
.ia-botoes-texto button.button-ia {
	flex: 0 1 auto;
	max-width: 100%;
}


.ui-widget button.button-blue,
.ui-widget-content button.button-blue { background: var(--color-button-blue); color: var(--color-text-white); }
.ui-widget button.button-blue:hover,
.ui-widget-content button.button-blue:hover { background: var(--color-button-blue-hover); color: var(--color-text-white); }
.ui-widget button.button-yellow,
.ui-widget-content button.button-yellow { background: var(--color-button-yellow); color: var(--color-text-button-yellow); }
.ui-widget button.button-yellow:hover,
.ui-widget-content button.button-yellow:hover { background: var(--color-button-yellow-hover); color: var(--color-text-button-yellow); }
.ui-widget button.button-green,
.ui-widget-content button.button-green { background: var(--color-button-green); color: var(--color-text-white); }
.ui-widget button.button-green:hover,
.ui-widget-content button.button-green:hover { background: var(--color-button-green-hover); color: var(--color-text-white); }
.ui-widget button.button-green-light-dark,
.ui-widget-content button.button-green-light-dark { background: var(--color-button-green-light-dark); color: var(--color-text-white); border-color: var(--color-button-green-light-dark); }
.ui-widget button.button-green-light-dark:hover,
.ui-widget-content button.button-green-light-dark:hover { background: var(--color-button-green-light-dark-hover); color: var(--color-text-white); border-color: var(--color-button-green-light-dark-hover); }
.ui-widget button.button-red,
.ui-widget-content button.button-red { background: var(--color-button-red); color: var(--color-text-white); }
.ui-widget button.button-red:hover,
.ui-widget-content button.button-red:hover { background: var(--color-button-red-hover); color: var(--color-text-white); }

.ui-widget .button-small button.button-ia span.ui-button-text,
.ui-widget fieldset dl dd button.button-ia span.ui-button-text,
.ui-widget .grid button.button-ia span.ui-button-text,
.ui-widget-content .grid button.button-ia span.ui-button-text,
.ui-widget .button-small button.button-ia span.ui-button-text,
.ui-widget fieldset dl dd button.button-blue span.ui-button-text,
.ui-widget .grid button.button-blue span.ui-button-text,
.ui-widget-content .grid button.button-blue span.ui-button-text,
.ui-widget .button-small button.button-green span.ui-button-text,
.ui-widget fieldset dl dd button.button-green span.ui-button-text,
.ui-widget .grid button.button-green span.ui-button-text,
.ui-widget-content .grid button.button-green span.ui-button-text,
.ui-widget .button-small button.button-green-light-dark span.ui-button-text,
.ui-widget fieldset dl dd button.button-green-light-dark span.ui-button-text,
.ui-widget .grid button.button-green-light-dark span.ui-button-text,
.ui-widget-content .grid button.button-green-light-dark span.ui-button-text,
.ui-widget .button-small button.button-red span.ui-button-text,
.ui-widget fieldset dl dd button.button-red span.ui-button-text,
.ui-widget .grid button.button-red span.ui-button-text,
.ui-widget-content .grid button.button-red span.ui-button-text,
.ui-widget-content .button-small button.button-yellow span.ui-button-text,
.ui-widget-content fieldset dl dd button.button-yellow span.ui-button-text,
.ui-widget-content .grid button.button-yellow span.ui-button-text,
.ui-widget-content fieldset dl dd button.button-white span.ui-button-text,
.ui-widget-content .grid button.button-white span.ui-button-text { padding: 0; }

.ui-widget button.btn_ajuda span.ui-button-text { padding: 0; }

.icon-edit { border: 1px solid var(--color-border-icon-edit); width: 30px; height: 23px; cursor: pointer; }

#div-TOOLBAR, .div-TOOLBAR-fixo {
	background: var(--color-bg-toolbar);
	z-index: 1000;
	padding-right: 2px;
}

.div-TOOLBAR-fixo {
	position: fixed;
	top: 0;
	width: 100%;
	padding-top: 10px;
}

.toolbar * {
	font-size: 11px;
}

.ui-widget table.grid-TOOLBAR tr {
	cursor: pointer;
}

#div-TOOLBAR div div #icons .ui-state-default {
	background: var(--color-bg-white);
}

#div-TOOLBAR div span.toolbar span button.ui-state-default,
#div-TOOLBAR div div.toolbar span button.ui-state-default,
#div-TOOLBAR div div.toolbar > button.button.ui-state-default {
	padding: 0.2rem 0.4rem;
	margin: 0;
	border: 1px solid var(--color-border-button);
}

#div-TOOLBAR div span.toolbar span button.ui-state-default:has(input[type=checkbox]),
#div-TOOLBAR div div.toolbar span button.ui-state-default:has(input[type=checkbox]) {
	padding: 0;
	margin: 0;
}

#div-TOOLBAR div div.toolbar {
	border-bottom: 1px solid var(--color-border-toolbar);
	padding: 6px 0 8px;
}
#div-TOOLBAR div div.toolbar button {
	margin-top: 1px !important;
	margin-bottom: 1px !important;
}


/* ============================================================================
   ÁREA DE CABEÇALHO
   ============================================================================ */

#area-cabecalho {
	width: 100%;
	min-width: 900px;
	background: var(--color-primary);
	-webkit-box-shadow: 0px 3px 7px 0px var(--color-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
	-moz-box-shadow:    0px 3px 7px 0px var(--color-shadow);  /* Firefox 3.5 - 3.6 */
	box-shadow:         0px 3px 7px 0px var(--color-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

#area-cabecalho #div-cabecalho {
	padding: 0px 10px 0px 10px;
}

#div-cabecalho-dashboard {
	position: absolute;
	padding: 15px;
	width: 100%;
	min-width: 900px;
	background: var(--color-bg-cabecalho-dashboard);
	-webkit-box-shadow: 0px 3px 7px 0px var(--color-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
	-moz-box-shadow:    0px 3px 7px 0px var(--color-shadow);  /* Firefox 3.5 - 3.6 */
	box-shadow:         0px 3px 7px 0px var(--color-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

#div-cabecalho-dashboard a {
	text-decoration: none;
}

#div-cabecalho-pcs {
	position: absolute;
	right: 0px;
	max-height: 400px;
	overflow: auto;
	padding: 15px;
	background: var(--color-bg-white);
	border: 1px solid var(--color-border-cabecalho);
	border-top: 0px;

	-webkit-box-shadow: 0px 1px 4px 0px var(--color-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
	-moz-box-shadow:    0px 1px 4px 0px var(--color-shadow);  /* Firefox 3.5 - 3.6 */
	box-shadow:         0px 1px 4px 0px var(--color-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

#tab-menu-pcs *, #tab-menu-pcs-cliente * {
	font-size: 14px;
}

#tab-menu-pcs tr td, #tab-menu-pcs-cliente tr td {
	font-size: 14px;
	padding: 6px;
}

#tab-menu-pcs tr td, #tab-menu-pcs-cliente tr td {
	color: var(--color-text-tab-menu-pcs);
}

#tab-menu-pcs tr td.info, #tab-menu-pcs-cliente tr td.info {
	font-weight: bold;
	color: var(--color-text-tab-menu-pcs-info);
}

#tab-menu-pcs tr.item-menu:hover, #tab-menu-pcs-cliente tr.item-menu:hover {
	background: var(--color-bg-cabecalho-consumo-hover);
}

#div-cabecalho-new {
	position: absolute;
	right: 0px;
	width: 700px;
	padding: 5px;
	background: var(--color-bg-white);
	border: 1px solid var(--color-border-cabecalho);
	border-top: 0px;
	-webkit-box-shadow: 0px 1px 4px 0px var(--color-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
	-moz-box-shadow:    0px 1px 4px 0px var(--color-shadow);  /* Firefox 3.5 - 3.6 */
	box-shadow:         0px 1px 4px 0px var(--color-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

#div-cabecalho-consumo {
	position: absolute;
	right: 0px;
	width: 300px;
	background: var(--color-bg-white);
	border: 1px solid var(--color-border-cabecalho);
	border-top: 0px;
	-webkit-box-shadow: 0px 1px 4px 0px var(--color-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
	-moz-box-shadow:    0px 1px 4px 0px var(--color-shadow);  /* Firefox 3.5 - 3.6 */
	box-shadow:         0px 1px 4px 0px var(--color-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

#div-cabecalho-notificacao {
	position: absolute;
	right: 0px;
	width: 450px;
	background: var(--color-bg-white);
	border: 1px solid var(--color-border-cabecalho);
	border-top: 0px;
	-webkit-box-shadow: 0px 1px 4px 0px var(--color-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
	-moz-box-shadow:    0px 1px 4px 0px var(--color-shadow);  /* Firefox 3.5 - 3.6 */
	box-shadow:         0px 1px 4px 0px var(--color-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

#area-central {
	min-width: 900px;
}

.li-cabecalho-consumo { 
	color: var(--color-text-cabecalho-consumo);
}
.li-cabecalho-consumo:hover { 
	color: var(--color-text-cabecalho-consumo-hover);
	background: var(--color-bg-cabecalho-consumo-hover); 
}


/* ============================================================================
   BOXES
   ============================================================================ */

#divCarregado {
	padding: 1rem 1.25rem;
	box-sizing: border-box;
}

.box-title {
	font-family: inherit;
	font-size: 18px;
	padding: 8px 8px 8px 15px;
	color: var(--color-text-box-title);
	background: var(--color-bg-box-title);
	border-bottom: 1px solid var(--color-border-box);
}

.box {
	margin:0 0 10px 0;
	position:relative;
	border:1px solid;
}

.box h2, .box p, .box table {
	margin:0;
}

.box .right {
	text-align: right;
}

.box .center {
	text-align: center;
}

.box table {
	width:100%;
	margin:0;
	padding:0;
	border:0;
	border-spacing:0;
	outline:0;
	vertical-align:baseline;
	background:transparent
}

.box th, .box td {
	padding:4px 10px;
	font-size:13px;
	text-align:left;
}

.box p, .box td {
	font-size:12px;
}

.box td {
	border-bottom: 1px solid var(--color-bg-white);
}

.box table.grid-basic tr:hover td {
	background: var(--color-bg-grid-basic-hover);
	border-bottom: 1px solid var(--color-border-box-grid-hover);
}

.box table.grid-basic tr:nth-child(even) td {
	background: var(--color-bg-grid-basic-even);
	border-bottom: 1px solid var(--color-bg-white);
}

.box table.grid-basic tr:hover:nth-child(even) td {
	background: var(--color-bg-grid-basic-hover);
	border-bottom: 1px solid var(--color-border-box-grid-hover-even);
}

.box tr:last-child td:first-child {
	-moz-border-bottomleft: 1px; -webkit-border-bottom-left-radius: 1px; -khtml-border-bottom-left-radius: 1px; border-bottom-left-radius: 1px;
}

.box tr:last-child td:last-child {
	-moz-border-radius-bottomright: 1px; -webkit-border-bottom-right-radius: 1px; -khtml-border-bottom-right-radius: 1px; border-bottom-right-radius: 1px;
}

.box h2 {
	font-size: 14px;
	font-weight: normal;
	padding:8px 10px;
	cursor:hand;
	cursor:pointer;
}

.utils>a, .utils>div {
	position:absolute;
	top:5px;
	right:10px;
	padding:4px 8px;
}

.utils>div div {
	display: inline-block;
}

.utils>div div {
	display: inline-block;
}

.utils a {
	color: var(--color-text-utils);
	font-size: 12px;
	cursor: hand;
	cursor: pointer;
}

.box p {
	padding:10px;
}

.box {
	background: var(--color-bg-white);
	border-color: var(--color-border-box)
}

.box > h2 {
	border-bottom: 1px solid var(--color-border-box-h2);
}

.box > h2 {
	background: var(--color-bg-box-h2);
}


/* ============================================================================
   CURSOR E SELEÇÃO
   ============================================================================ */

.mouse-default, .mouse-default * {
	cursor: default;
}

.mouse-hand {
	cursor: hand;
	cursor: pointer;
}

.mouse-block {
	cursor: not-allowed;
}

.mouse-help {
	cursor: help;
}

.mouse-move {
	cursor: m;
}

.no-selection-all * {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}


/* ============================================================================
   CORES E LINKS
   ============================================================================ */

.link {
	text-decoration: underline;
}

.gray, .gray * { color: var(--color-text-gray); }
.blue, .blue * { color: --color-text-blue; }
.red, .red * { color: var(--color-text-red); }


/* ============================================================================
   BOTÕES DO MENU TOPO
   ============================================================================ */

.botao-menu-topo {
	padding-left: 5px;
	padding-right: 5px;
}

.botao-menu-topo, .botao-menu-topo span {
	font-size: 13px;
	font-weight: 400;
	background: transparent;
	color: var(--color-text-white);
	cursor: default;
	cursor: pointer;
}

.botao-menu-topo i {
	font-size: 12px;
}

.botao-menu-topo:hover, .botao-menu-topo-hover {
	background: var(--color-primary-hover);
	color: var(--color-text-white);
	cursor: default;
	cursor: pointer;
}

.botao-topo {
	font-size: 13px;
	font-weight: 400;
	border: 0px;
	background: transparent;
	color: var(--color-text-white);
	margin-left: 0px;
	display: inline-block;
	padding: 3px;
	padding-left: 7px;
	padding-right: 7px;
	cursor: default;
	cursor: pointer;
}

.botao-topo:hover, .botao-topo-hover, .botao-topo-hovered {
	border: 0px;
	background: var(--color-primary-hover);
	color: var(--color-text-white);
	margin-left: 0px;
	display: inline-block;
	cursor: default;
	cursor: pointer;
}

.botao-entendi {
	font-size: 12px;
	font-weight: 400;
	border: 1px solid var(--color-border-toolbar);
	background: var(--color-bg-white);
	color: var(--color-text-button-yellow);
	margin-left: 5px;
	display: inline;
	padding: 2px;
	padding-left: 4px;
	padding-right: 4px;
	cursor: default;
	cursor: pointer;
}

.botao-entendi:hover {
	border: 0px;
	background: var(--color-primary-hover);
	color: var(--color-text-white);
	display: inline;
	cursor: default;
	cursor: pointer;
}


/* ============================================================================
   SPANS ESPECIAIS (RECURSO, TAREFA, ETC)
   ============================================================================ */

.sp-recurso_extra {
	font-size: 10px;
	background: var(--color-sp-recurso-extra-bg);
	border: 1px solid transparent;
	color: var(--color-sp-recurso-extra-text);
	padding: 0px;
	padding-left: 3px;
	padding-right: 3px;
	cursor: hand; cursor: pointer;

	border-radius: 7px;
}

.sp-tarefa-menu, .sp-tarefa-item {
	min-width: 12px;
	text-align: center;
	font-size: 10px;
	background: var(--color-sp-tarefa-bg);
	border: 1px solid transparent;
	color: var(--color-text-white);
	padding: 0px;
	padding-left: 2px;
	padding-right: 2px;
	cursor: help;

	border-radius: 7px;
}
.sp-tarefa-item {
	background: var(--color-sp-tarefa-item-bg);
	color: var(--color-text-white);
	font-weight: bold;
	padding-left: 3px;
	padding-right: 3px;
	cursor: pointer;
}
.sp-tarefa {
	min-width: 12px;
	text-align: center;
	font-size: 10px;
	background: var(--color-sp-tarefa-bg);
	border: 1px solid transparent;
	color: var(--color-text-white);
	padding: 0px;
	padding-left: 3px;
	padding-right: 3px;
	cursor: help;
	position: absolute;
	right: 5px;
	top: 7px;

	border-radius: 7px;
}
.sp-tarefa-area {
	position: absolute;
	right: 7px;
	top: 7px;
}


/* ============================================================================
   AUTOCOMPLETE
   ============================================================================ */

.ui-autocomplete {
	max-height: 400px;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 1;
}
* html .ui-autocomplete {
	height: 400px;
}


/* ============================================================================
   REFERÊNCIAS
   ============================================================================ */

ul.ul-referencia, ul.ul-referencia ul { line-height: normal; margin: 0px; padding-left: 15px; }
ul.ul-referencia li, ul.ul-referencia ul li { line-height: normal; }

#accordion-referencia-item h3 a { padding-top: 2px; padding-bottom: 1px; }
#accordion-referencia-item-base h3 a { padding-top: 2px; padding-bottom: 1px; }
#accordion-referencia-item-base ul { margin-top: 0px; margin-bottom: 2px; }
#dialog-referencia-item ul li { cursor: move; }
.area-referencia-item { height: 350px; }
.area-referencia-item-base { height: 350px; }

.referencia-item-final ul {
	margin: 0px;
	padding: 0px;
	padding-left: 25px;
	line-height: 15px;
}
.referencia-item-final ul li {
	margin: 0px;
	padding: 0px;
	line-height: 15px;
}

.span-btn-ajuda { margin: 2px; padding: 3px; background: var(--color-primary-hover); color: var(--color-text-white); float: right; }
.ui-widget button.btn_ajuda span.ui-button-text { padding: 0em 0.4em 0.1em 0.4em; }

#tipArea p, .tip-area p { margin: 5px; }
#tipArea, .tip-area { border: 1px solid var(--color-border-default); }
.span-btn-tip { background: var(--color-primary-hover); color: var(--color-text-white); }


/* ============================================================================
   UPLOAD DE ARQUIVOS
   ============================================================================ */

.upload-file-upload {
	background-color: var(--color-upload-bg);
	color: var(--color-text-white);
	padding: 4px 8px;
	border-radius: 4px;
	cursor: pointer;
	font-weight: bold;
	line-height: 1.2;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.upload-file-upload:hover {
	background-color: var(--color-upload-hover);
}

.upload-file-input {
	display: inline-block;
	position: relative;
}

.upload-file-input-group:not(:first-child) {
	margin-top: 0;
}

.upload-file-name {
	display: inline-block;
	margin-right: 5px;
	margin-left: 5px;
}

fieldset dl dd[id^="dd-"]:has(.upload-file-block-row) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	height: auto;
}

.upload-file-block-row {
	display: flex;
	align-items: center;
	gap: 6px;
	float: none;
}

.upload-file-input-group {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	box-sizing: border-box;
}

.upload-file-block {
	float: none;
	box-sizing: border-box;
}

.upload-file-block-row > button.submit.button-blue.ui-button {
	height: auto;
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 0.45rem;
	padding-right: 0.45rem;
	line-height: 1.2;
	min-height: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	float: none;
	box-sizing: border-box;
}

.upload-file-block-row > button.submit.button-blue.ui-button .ui-button-text {
	padding: 0;
	line-height: 1;
}

span.ui-icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	overflow: hidden;
}

span.ui-icon.ui-icon-circle-arrow-e,
span.ui-icon.ui-icon-circle-arrow-w {
	display: block;
}


/* ============================================================================
   MENSAGENS OFFLINE
   ============================================================================ */

#offline-message-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-bg-offline-overlay); /* Cor preta com 50% de opacidade */
	z-index: 999999999998; /* Z-index menor que o da mensagem de erro para que o fundo fique atrás */
	display: none;
}

.offline-message {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: var(--color-bg-offline-message);
	color: var(--color-text-offline);
	text-align: center;
	padding: 20px;
	border-radius: 10px;
	z-index: 999999999999; /* Z-index maior para que fique sobre o fundo semitransparente */
	display: none;
}

.offline-message-system {
	background-color: var(--color-bg-offline-system);
}

.offline-message i {
	font-size: 48px;
	margin-bottom: 10px;
}

.offline-message h2 {
	font-size: 24px;
	margin-bottom: 5px;
}

.offline-message p {
	font-size: 18px;
	line-height: 1;
}


/* ============================================================================
   IMAGENS
   ============================================================================ */

div.image-cropper {
	width: 45px;
	height: 45px;
	margin: 0px;
	padding: 0px;
	overflow: hidden;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
img.image-rounded {
	display: inline;
	margin: 0px;;
	padding: 0px;;
	height: 60px;
	width: 45px;
}


/* ============================================================================
   PROGRESS BARS
   ============================================================================ */

#volume_base .ui-progressbar-value {
	background-color: blue;
}
#volume_arquivos .ui-progressbar-value {
	background-color: green;
}
#volume_ftp .ui-progressbar-value {
	background-color: yellow;
}
#volume_total .ui-progressbar-value {
	background-color: red;
}


/* ============================================================================
   MENU INTERNO
   ============================================================================ */

.menu-interno, .menu-botao {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.menu-interno li, .menu-botao li {
	margin: 3px;
	padding: 0.4em;
	font-size: 13px;
	min-height: 14px;
	cursor: pointer;
	user-select: none;
}

.menu-interno li.ui-state-highlight, .menu-botao li.ui-state-highlight {
	background: var(--color-bg-white);
}

.menu-interno li.ui-state-highlight:hover, .menu-botao li.ui-state-highlight:hover {
	background: var(--color-bg-menu-interno-hover);
}

.menu-interno li.ui-state-active {
	background: var(--color-bg-menu-interno-active);
	color: var(--color-text-menu-active);
	font-weight: bold;
}

.menu-botao li.ui-state-highlight {
	margin-top: 1px;
}

#tabs-MENU {
	padding: 5px;
	border: 1px solid var(--color-border-tabs-menu);
}

#tabs-MENU div {
	padding-right: 5px;
}

.tabs-MENU-fixo {
	position: fixed;
	top: 0;
	padding-top: 2px;
	border: 1px solid var(--color-border-tabs-menu-fixo);
}


/* ============================================================================
   GRID NOWRAP
   ============================================================================ */

.ui-widget table.grid-NOWRAP {
	table-layout: fixed;
}

.ui-widget table.grid-NOWRAP thead tr th {
	white-space: nowrap;
	overflow: hidden;
	font-weight: bold;
	text-overflow: ellipsis;
	padding: 0;
	user-select: none;
}

.ui-widget table.grid-NOWRAP tbody tr td {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ui-widget table.grid-NOWRAP thead tr th div.text {
	padding: .6em .2em;
}

.ui-widget table.grid-NOWRAP thead tr th div.resize {
	float: right;
	cursor: col-resize;
	z-index: 10000;
}

.ui-widget table.grid-NOWRAP thead tr th div.resize:hover {
	background: var(--color-bg-cabecalho-consumo-hover);
}

.ui-widget table.grid-NOWRAP tbody tr td.no-pad {
	padding: 0;
	padding-top: 3px;
	padding-bottom: 3px;
}

.ui-widget table input[type=checkbox] {
	margin-left: 0;
	margin-right: 0;
}


/* ============================================================================
   UTILITÁRIOS GERAIS
   ============================================================================ */

.padding-0 { padding: 0px; }

.button-x { width: 20px; }

.w-15 { max-width: 15px; }
.w-20 { max-width: 20px; }
.w-25 { max-width: 25px; }
.w-30 { max-width: 30px; }
.w-40 { max-width: 40px; }
.w-50 { max-width: 50px; }
.w-55 { max-width: 55px; }
.w-65 { max-width: 65px; }
.w-70 { max-width: 70px; }
.w-75 { max-width: 75px; }
.w-85 { max-width: 85px; }
.w-100 { max-width: 100px; }
.w-125 { max-width: 125px; }
.w-150 { max-width: 150px; }
.w-200 { max-width: 200px; }
.w-250 { max-width: 250px; }
.w-300 { max-width: 300px; }
.w-400 { max-width: 400px; }

select.w-15 { max-width: calc(15px + 6px); }
select.w-20 { max-width: calc(20px + 6px); }
select.w-25 { max-width: calc(25px + 6px); }
select.w-30 { max-width: calc(30px + 6px); }
select.w-40 { max-width: calc(40px + 6px); }
select.w-50 { max-width: calc(50px + 6px); }
select.w-55 { max-width: calc(55px + 6px); }
select.w-65 { max-width: calc(65px + 6px); }
select.w-70 { max-width: calc(70px + 6px); }
select.w-75 { max-width: calc(75px + 6px); }
select.w-85 { max-width: calc(85px + 6px); }
select.w-100 { max-width: calc(100px + 6px); }
select.w-125 { max-width: calc(125px + 6px); }
select.w-150 { max-width: calc(150px + 6px); }
select.w-200 { max-width: calc(200px + 6px); }
select.w-250 { max-width: calc(250px + 6px); }
select.w-300 { max-width: calc(300px + 6px); }
select.w-400 { max-width: calc(400px + 6px); }

.w-25p { max-width: 25%; }
.w-50p { max-width: 50%; }
.w-60p { max-width: 60%; }
.w-65p { max-width: 65%; }
.w-70p { max-width: 70%; }
.w-75p { max-width: 75%; }
.w-85p { max-width: 85%; }
.w-90p { max-width: 90%; }
.w-100p { width: 95%;  max-width: 95%; }
.w-100f { width: 100%;  max-width: 100%; }
.w-100x { min-width: 100% !important; }

select.w-25p { max-width: calc(25% + 6px); }
select.w-50p { max-width: calc(50% + 6px); }
select.w-60p { max-width: calc(60% + 6px); }
select.w-65p { max-width: calc(65% + 6px); }
select.w-70p { max-width: calc(70% + 6px); }
select.w-75p { max-width: calc(75% + 6px); }
select.w-85p { max-width: calc(85% + 6px); }
select.w-90p { max-width: calc(90% + 6px); }
select.w-100p { width: calc(95% + 6px); max-width: calc(95% + 6px); }
select.w-100f { width: calc(100% + 6px); max-width: calc(100% + 6px); }
select.w-100x { min-width: calc(100% + 6px) !important; }

.hide { display: none; }
.hidden { visibility: hidden; }
th.hidden, td.hidden { border: 0px; }

.border-radius-2 {
	border-radius: 4px;
}

.border-radius-5 {
	border-radius: 7px;
}

.small-novo {
	background: var(--color-small-novo-bg);
	color: var(--color-small-novo-text);
	padding-left: 3px;
	padding-right: 3px;
}

.l-MODERN { }
.l-MOBILE { display: none; }


/* ============================================================================
   DATEPICKER
   ============================================================================ */

.ui-datepicker * { font-size: 10px; font-weight: normal; }
.ui-datepicker .ui-state-default { font-weight: normal; }
.ui-datepicker .ui-state-active { font-weight: bold; }
.ui-datepicker .ui-state-active { font-weight: bold; }


/* ============================================================================
   DIALOG E ÍCONES
   ============================================================================ */

#dialog_link {padding: .4em 1em .4em 20px;text-decoration: none;position: relative;}
#dialog_link span.ui-icon {margin: 0 5px 0 0;position: absolute;left: .2em;top: 50%;margin-top: -8px;}

ul#icons {margin: 0; padding: 0;}
ul#icons li {margin: 2px; position: relative; padding: 4px 0; cursor: pointer; float: left;  list-style: none;}
ul#icons span.ui-icon {float: left; margin: 0 4px;}


/* ============================================================================
   OVERLAY E CARREGAMENTO
   ============================================================================ */

.ui-widget-overlay-dark
{
	opacity: .40 !important;
	filter: Alpha(Opacity=40) !important;
	background: var(--color-bg-overlay-dark) !important;
	position: fixed;
}

.carregando-centered {
	background: var(--color-bg-carregando);
	border: 1px solid var(--color-border-toolbar);
	z-index: 999999999;
	position: fixed;
	width: 25%;
	margin-top: -6.25%;
	top: 50%;
	left: 50%;
	margin-left: -12.5%
}

.carregando-wait { color: var(--color-text-carregando); }

/*
* ==========================================================================
* ESTILOS PARA DIALOGS E Z-INDEX
* ==========================================================================
* Estilo necessário para o Dialog, para que o z-index seja controlado corretamente e checkboxes funcionarem corretamente
*/
.ui-widget-overlay { z-index: 89999999; }
.ui-dialog-content { z-index: 99999999; }
.ui-dialog { z-index: 99999998; }

/*
* ==========================================================================
* ESTILOS PARA INTERAÇÕES E HOVER
* ==========================================================================
*/
#div_clicked {
    opacity: 0.3;
}

#div_clicked:hover {
    opacity: 1;
}

/*
* ==========================================================================
* MEDIA QUERIES PARA RESPONSIVIDADE
* ==========================================================================
*/
@media screen and (max-width: 600px) {
    .ui-tabs .ui-tabs-panel { padding: 2px 2px 0px 2px }

    .ui-widget dl { padding:5px; margin:0px; }
    .ui-widget dt { text-align:left; width:100%; padding:0px; margin:0px; }
    .ui-widget dd { width:100%; padding:0px; padding-left:5px; margin:0px; }

    .l-MODERN { display: none; }
    *.l-MOBILE { 
        /* Classe vazia mantida para compatibilidade */ 
    }
    .ui-widget table.grid td.l-MOBILE, .ui-widget table.grid th.l-MOBILE { display: table-cell; }

    .ui-widget input.text, .ui-widget textarea.text, .ui-widget select.text { max-width: 300px; }
    .ui-widget input.text-small { max-width: 300px; }
    .ui-widget select.text { max-width: 300px; }

    .w-300 { max-width: 250px; }
    .w-400 { max-width: 300px; }

    .toolbar-filtro { max-height: 200px; overflow: auto; }
}

/*
* ==========================================================================
* ESTILOS COM CORES DINÂMICAS (USANDO CSS VARIABLES)
* ==========================================================================
*/
#area-cabecalho { background: var(--color-primary) !important; }
.botao-menu-topo:hover, .botao-menu-topo-hover,
.botao-topo:hover, .botao-topo-hover, .botao-topo-hovered,
.botao-entendi:hover,
.sp-tarefa-item,
.span-btn-ajuda,
.span-btn-tip { background: var(--color-primary-hover) !important; }

.ui-widget table.grid tbody tr:not(.no-hover):hover td,
.ui-widget table.grid tr td.hover:hover,
.ui-widget table.grid-group tr.even:hover td, .ui-widget table.grid-group tr:hover td,
.ui-widget table.grid tbody tr:nth-child(odd) td div.grid-div div.grid-div-line:nth-child(even):hover,
.ui-widget table.grid tbody tr:nth-child(even) td div.grid-div div.grid-div-line:nth-child(even):hover { background: var(--color-hover-light) !important; }

.ui-widget table.grid tbody tr:nth-child(odd) td,
.ui-widget table.grid-group tr.even td,
.ui-widget table.grid tbody tr:nth-child(odd) td div.grid-div div.grid-div-line:nth-child(even),
.ui-widget table.grid tbody tr:nth-child(even) td div.grid-div div.grid-div-line:nth-child(odd),
.box table.grid-basic tr:hover td,
.box table.grid-basic tr:hover:nth-child(even) td { background: var(--color-row-hover) !important; }
.box table.grid-basic tr:nth-child(even) td { background: var(--color-row-even); }
input, select, textarea, button, a { outline-color : var(--color-outline) !important; }

.ui-widget table.grid tbody tr.selected td,
.ui-widget table.grid tbody tr.selected:nth-child(odd) td,
.ui-widget table.grid tbody tr.selected:nth-child(even) td { background: var(--color-selected) !important; }

#menu-accordion-divisao:hover,
#ajuda-divisao:hover,
#menu-accordion-icon:hover { background: var(--color-menu-hover); }

div.tabs li.tab-blue { background: var(--color-tab-primary) !important; }
div.tabs li.tab-blue:hover { background: var(--color-tab-primary-hover) !important; }

input[type=checkbox],
input[type=radio] {
    border: 1.5px solid var(--color-checkbox-border);
}

input[type=checkbox]:focus,
input[type=radio]:focus {
    border: 1.5px solid var(--color-checkbox-border-focus);
    background-color: var(--color-checkbox-bg-focus);
}

input[type=checkbox]:hover,
input[type=radio]:hover {
    border: 1.5px solid var(--color-checkbox-border-focus);
    background-color: var(--color-checkbox-bg-focus);
}

input[type=checkbox]:checked,
input[type=radio]:checked {
    border: 1.5px solid var(--color-checkbox-border-focus);
    background-color: var(--color-primary);
}

.cms-checkbox.cms-checked {
    background: var(--color-primary) !important;
    border-color: var(--color-checkbox-border-focus) !important;
}

.menu-interno li.ui-state-highlight:hover { background: var(--color-row-hover); }
.menu-interno li.ui-state-active { background: var(--color-row-hover);  }

.menu-botao li.ui-state-highlight:hover { background: var(--color-row-hover); }

div.bell-cropper i {
    display: inline-block;
    border-radius: 100px;
    border: 5px solid var(--color-primary);
    padding: 0.5em 0.5em;
    margin: 0.5em 0.6em 0.5em 0em;
    color: var(--color-text-white);
    background: var(--color-bell-bg);
    font-size: 11px;
    width: 11px;
}
div.bell-cropper i:hover {
    border: 5px solid var(--color-primary);
    background: var(--color-bell-hover-bg);
}
div.bell-selected i {
    border: 5px solid var(--color-border-bell-selected);
    color: var(--color-text-bell-selected);
}
div.bell-selected i:hover {
    border: 5px solid var(--color-border-bell-selected);
    background: var(--color-bell-hover-bg);
}
div.bell-red i {
    border: 5px solid var(--color-primary);
    background: var(--color-bell-red-bg);
    color: var(--color-text-bell-red);
}
div.bell-red i:hover, div.bell-red-selected i {
    border: 5px solid var(--color-text-bell-red);
    background: var(--color-bell-red-hover-bg);
}
div.bell-red-selected i:hover {
    border: 5px solid var(--color-text-bell-red);
    background: var(--color-bell-red-selected-hover);
}
div.bell-cropper strong {
    position: absolute;
    border-radius: 100px;
    border: 1px solid var(--color-border-bell);
    padding: 0.1em 0.3em 0.2em 0.3em;
    margin: 28px 16px;
    min-width: 10px;
    color: var(--color-bell-badge-text);
    background: var(--color-bell-badge-bg);
    font-size: 9px;
    text-align: center;
}

div.item-notificacao {
    margin: 5px;
    padding: 5px;
    color: var(--color-text-notificacao);
    border: 1px solid var(--color-border-notificacao);
    text-align: justify;

    display: grid;
    grid-template-columns: 20% 80%;
}

div.item-notificacao:hover {
    color: var(--color-text-notificacao-hover);
	background: var(--color-bg-notificacao-hover);
}

/* ==========================================================================
   TEXTO COMPLETO (listagens / grids)
   ========================================================================== */

span.texto-completo-controle {
	white-space: nowrap;
}

span.texto-completo-controle a {
	display: inline-block;
	color: var(--color-text-default) !important;
	padding: 1px 6px;
	margin-left: 2px;
	border-radius: 3px;
	border: 1px solid var(--color-bg-row-marked) !important;
	font-size: 90%;
	font-family: Arial, sans-serif;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.4;
}

span.texto-completo-controle a:hover {
	background: var(--color-bg-row-marked) !important;
	border: 1px solid var(--color-border-default) !important;
	color: var(--color-text-default) !important;
	text-decoration: none;
}

span.texto-completo-extra {
	display: none;
}

span.texto-completo-extra .texto-completo-controle {
	display: inline-block;
	margin-top: 2px;
}

.ui-widget table.grid td span.texto-completo-controle a,
.ui-widget table.grid td span.texto-completo-extra {
	vertical-align: baseline;
}

/* ============================================================================
   SIG ADMINLTE REFRESH (CSS-only)
   ============================================================================ */

/* --- Formularios --- */
.ui-widget input.text,
.ui-widget textarea.text,
.ui-widget select.text,
.ui-widget input.grid-item,
.ui-widget textarea.grid-item {
	border: 1px solid var(--sig-border-color);
	border-radius: var(--sig-radius-md);
	box-shadow: var(--sig-shadow-inset);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ui-widget input.text:focus,
.ui-widget textarea.text:focus,
.ui-widget select.text:focus,
.ui-widget input.grid-item:focus,
.ui-widget textarea.grid-item:focus {
	border-color: var(--color-primary);
	box-shadow: var(--sig-shadow-inset), var(--sig-focus-ring);
	outline: none;
}

input[type=checkbox],
input[type=radio] {
	border-radius: var(--sig-radius-sm);
}

/* --- Botoes --- */
#div-TOOLBAR button.ui-state-default,
#div-TOOLBAR input.ui-state-default,
#div-TOOLBAR-BOTTOM button.ui-state-default,
#div-TOOLBAR-BOTTOM input.ui-state-default,
.ui-widget button.ui-state-default,
.ui-widget-content button.ui-state-default,
input.ui-state-default[type=button],
input.ui-state-default[type=submit],
.ui-widget button.button-blue,
.ui-widget button.button-green,
.ui-widget button.button-red,
.ui-widget button.button-yellow,
.ui-widget button.button-ia,
.ui-widget button.button-green-light-dark,
.ui-widget-content button.button-blue,
.ui-widget-content button.button-green,
.ui-widget-content button.button-red,
.ui-widget-content button.button-yellow,
.ui-widget-content button.button-ia,
.ui-widget-content button.button-green-light-dark {
	border-radius: var(--sig-radius-md);
	transition: background 0.15s ease, border-color 0.15s ease;
}

.ui-widget button.ui-button,
.ui-widget input.ui-button,
.ui-widget label.ui-button {
	padding: 0.2rem 0.4rem;
}

.ui-widget .button-small button.ui-button,
.ui-widget .button-small input.ui-button {
	padding: 0.2em 0.4em;
}

.ui-button-text-only .ui-button-text {
	padding: 0;
}

.ui-button-text-icon-secondary .ui-button-text {
	padding: 0 1.5em 0 0;
}

.ui-button-text-icon-primary .ui-button-text {
	padding: 0 0 0 1.5em;
}

.ui-button-text-icons .ui-button-text {
	padding: 0 1.5em;
}

.ui-button-icon-only,
.ui-button-icon-only .ui-button-text {
	padding: 0.2rem;
}

/* --- Button group (btn-group) --- */
.ui-buttonset {
	display: inline-flex;
	vertical-align: middle;
	margin-right: 7px;
}

.ui-buttonset .ui-button,
.ui-buttonset label.ui-button {
	margin: 0 0 0 -1px !important;
	border-radius: 0;
	position: relative;
}

.ui-buttonset .ui-button:first-child {
	margin-left: 0;
	border-top-left-radius: var(--sig-radius-md);
	border-bottom-left-radius: var(--sig-radius-md);
}

.ui-buttonset label.ui-button:first-of-type {
	margin-left: 0;
	border-top-left-radius: var(--sig-radius-md);
	border-bottom-left-radius: var(--sig-radius-md);
}

.ui-buttonset .ui-button:last-child {
	border-top-right-radius: var(--sig-radius-md);
	border-bottom-right-radius: var(--sig-radius-md);
}

.ui-buttonset label.ui-button:last-of-type {
	border-top-right-radius: var(--sig-radius-md);
	border-bottom-right-radius: var(--sig-radius-md);
}

.ui-buttonset .ui-button:hover,
.ui-buttonset .ui-button.ui-state-active,
.ui-buttonset label.ui-button.ui-state-active {
	z-index: 1;
}

/* --- Abas (nav-tabs) --- */
div.tabs.tabs-border-bottom,
div.tabs-secundaria.tabs-border-bottom {
	border-bottom: 0 !important;
}

div.tabs.ui-tabs.ui-widget-content,
div.tabs-secundaria.ui-tabs.ui-widget-content {
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

div.tabs ul.ui-tabs-nav,
div.tabs ul.ui-tabs-nav.ui-widget-header {
	border: 0 !important;
	border-bottom: 1px solid var(--sig-border-color) !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

div.tabs ul.ui-tabs-nav li {
	top: 0;
	margin-bottom: 0 !important;
}

div.tabs ul.ui-tabs-nav li.ui-state-default:not(.ui-state-active):not(.ui-tabs-active) {
	border-radius: var(--sig-radius-md) var(--sig-radius-md) 0 0;
	margin-right: 2px;
	border: 1px solid var(--sig-border-color-light);
	border-bottom: 0;
}

div.tabs ul.ui-tabs-nav li.ui-tabs-active,
div.tabs ul.ui-tabs-nav li.ui-state-active {
	border: 1px solid var(--sig-border-color) !important;
	border-bottom: 0 !important;
	background: var(--color-bg-white) !important;
	margin: 0 2px -1px 0 !important;
	padding-bottom: 0 !important;
	position: relative;
	z-index: 2;
	border-radius: var(--sig-radius-md) var(--sig-radius-md) 0 0;
}

div.tabs ul.ui-tabs-nav li.ui-tabs-active::after,
div.tabs ul.ui-tabs-nav li.ui-state-active::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 3px;
	background: var(--color-bg-white);
	z-index: 3;
}

div.tabs ul.ui-tabs-nav li.ui-tabs-active a,
div.tabs ul.ui-tabs-nav li.ui-state-active a,
div.tabs ul.ui-tabs-nav.ui-widget-header li.ui-state-active a {
	border: 0 !important;
	background: transparent !important;
}

div.tabs div.ui-tabs-panel,
div.tabs-secundaria div.ui-tabs-panel,
div.tabs div.ui-tabs-panel.ui-widget-content,
div.tabs-secundaria div.ui-tabs-panel.ui-widget-content {
	border: 1px solid var(--sig-border-color) !important;
	border-top: 0 !important;
	background: var(--color-bg-white) !important;
	border-radius: 0 0 var(--sig-radius-md) var(--sig-radius-md);
	padding-top: 0.75em;
	margin-top: 0 !important;
}

div.tabs-secundaria div.ui-tabs-panel,
div.tabs-secundaria div.ui-tabs-panel.ui-widget-content {
	position: relative;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
}
div.tabs-secundaria div.ui-tabs-panel::before,
div.tabs-secundaria div.ui-tabs-panel::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(to bottom, var(--sig-border-color), transparent);
	pointer-events: none;
}
div.tabs-secundaria div.ui-tabs-panel::before { left: 0; }
div.tabs-secundaria div.ui-tabs-panel::after { right: 0; }

div.tabs li.tab-blue {
	border-radius: var(--sig-radius-md) var(--sig-radius-md) 0 0 !important;
}

div.tabs-border-bottom {
	border-radius: var(--sig-radius-md);
	border-bottom: 0;
}

/* --- Tabelas / grid --- */
.ui-widget table.grid td,
.ui-widget table.grid th {
	border: 0;
	border-bottom: 1px solid var(--sig-border-color-light);
}

.ui-widget table.grid th {
	font-weight: 600;
	background: var(--color-bg-white);
}

.grid .ui-widget-header,
.ui-widget table.grid thead tr,
.ui-widget table.grid thead th,
.ui-widget table.grid tr.ui-widget-header,
.ui-widget table.grid tr.ui-widget-header th {
	background: var(--color-bg-white) !important;
	color: var(--color-text-grid-header);
}

.ui-widget table.grid tr.ui-widget-header,
.ui-widget table.grid-group tr.ui-widget-header {
	border: 0;
	background: var(--color-bg-white);
}

.ui-widget table.grid tr.ui-widget-header th,
.ui-widget table.grid-group tr.ui-widget-header th {
	border: 0;
	border-bottom: 1px solid var(--sig-border-color);
	font-weight: 600;
	background: var(--color-bg-white) !important;
}

.ui-widget table.grid tbody tr td {
	transition: background 0.12s ease;
}

.ui-widget table.grid-group td,
.ui-widget table.grid-group th {
	border: 0;
	border-bottom: 1px solid var(--sig-border-color-light);
}

.ui-widget table.grid-group th {
	font-weight: 600;
	background: var(--color-bg-white);
}

.ui-widget table.grid-scroll thead th {
	background: var(--color-bg-white) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--sig-border-color-light) !important;
}

.ui-widget table.grid-scroll tbody td {
	border: 0 !important;
	border-bottom: 1px solid var(--sig-border-color-light) !important;
	border-left: 0 !important;
}

.ui-widget table.grid-scroll tbody tr > td:first-child {
	border-left: 0 !important;
}

/* --- UX polish --- */
hr,
.toolbar + hr {
	border-color: var(--sig-border-color-light);
}

fieldset dl dt {
	padding-top: 0px;
}

#div-TOOLBAR button:focus-visible,
#div-TOOLBAR input:focus-visible {
	box-shadow: var(--sig-focus-ring);
	outline: none;
}

table.grid td .ui-state-highlight {
	border-radius: var(--sig-radius-sm);
	padding: 2px 8px;
}

.tip-area {
	border-radius: var(--sig-radius-md);
}

/* --- Boxes / cards --- */
.box-title {
	border-radius: var(--sig-radius-md) var(--sig-radius-md) 0 0;
}

.box {
	border-radius: var(--sig-radius-md);
	border-color: var(--sig-border-color);
	box-shadow: var(--sig-shadow-card);
	overflow: hidden;
}

.box tr:last-child td:first-child {
	border-bottom-left-radius: var(--sig-radius-md);
}

.box tr:last-child td:last-child {
	border-bottom-right-radius: var(--sig-radius-md);
}

.box table.grid-basic tr td {
	border: 0;
	border-bottom: 1px solid var(--sig-border-color-light);
}

/* --- Autocomplete e menus --- */
.ui-autocomplete {
	border-radius: var(--sig-radius-lg);
	box-shadow: var(--sig-shadow-dropdown);
	border: 1px solid var(--sig-border-color);
	padding: 4px 0;
}

.ui-autocomplete .ui-menu-item a {
	padding: 6px 12px;
	border-radius: var(--sig-radius-sm);
	margin: 0 4px;
}

/* --- Dropdown toolbar (estilo Bootstrap) --- */
#div-TOOLBAR div.ui-widget-content:has(> ul.menu-botao),
#div-TOOLBAR div.ui-widget-content:has(> ul.menu-interno),
#div-TOOLBAR-BOTTOM div.ui-widget-content:has(> ul.menu-botao),
.menu-item-box {
	padding: 0.25rem 0 !important;
	border: 1px solid var(--sig-border-color) !important;
	border-radius: var(--sig-radius-md) !important;
	box-shadow: var(--sig-shadow-dropdown) !important;
	background: var(--color-bg-white) !important;
	overflow: hidden;
}

#div-TOOLBAR ul.menu-botao,
#div-TOOLBAR ul.menu-interno,
#div-TOOLBAR-BOTTOM ul.menu-botao,
.menu-item-box ul.menu-botao,
.menu-item-box ul.menu-interno {
	padding: 0.25rem 0;
}

#div-TOOLBAR ul.menu-botao li,
#div-TOOLBAR ul.menu-interno li,
#div-TOOLBAR-BOTTOM ul.menu-botao li,
.menu-item-box ul.menu-botao li,
.menu-item-box ul.menu-interno li {
	margin: 0 !important;
	padding: 0.5rem 0.75rem !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-weight: normal !important;
	box-shadow: none !important;
	color: var(--color-text-default);
}

#div-TOOLBAR ul.menu-botao li:hover,
#div-TOOLBAR ul.menu-interno li:hover,
#div-TOOLBAR-BOTTOM ul.menu-botao li:hover,
.menu-item-box ul.menu-botao li:hover,
.menu-item-box ul.menu-interno li:hover,
#div-TOOLBAR ul.menu-botao li.ui-state-highlight:hover,
#div-TOOLBAR ul.menu-interno li.ui-state-highlight:hover,
#div-TOOLBAR-BOTTOM ul.menu-botao li.ui-state-highlight:hover,
.menu-item-box ul.menu-botao li.ui-state-highlight:hover,
.menu-item-box ul.menu-interno li.ui-state-highlight:hover {
	background: var(--color-bg-menu-interno-hover) !important;
	border-radius: 0 !important;
}

/* ============================================================================
   SIG ADMINLTE PHASE 2 (filtros, paginacao, modais, alertas, forms)
   ============================================================================ */

/* --- Painéis de filtro (card) --- */
div[id^="tb-filtro-"].tabs {
	border: 1px solid var(--sig-border-color) !important;
	border-radius: var(--sig-radius-md) !important;
	box-shadow: var(--sig-shadow-card) !important;
	background: var(--color-bg-white) !important;
	margin-bottom: 1rem !important;
	padding: 0.75rem !important;
}

div[id^="tb-filtro-"].tabs fieldset {
	padding: 0.25rem 0.5rem;
}

div[id^="tb-filtro-"].tabs .submit {
	margin-right: 0.25rem;
}

/* --- Paginação (pagination Bootstrap) --- */
ul#icons {
	display: inline-flex;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 0;
}

ul#icons li {
	margin: 0 0 0 -1px !important;
	padding: 0 !important;
	border: 1px solid var(--sig-border-color) !important;
	border-radius: 0 !important;
	background: var(--color-bg-white) !important;
	float: none !important;
	list-style: none;
	cursor: pointer;
	position: relative;
}

ul#icons li:first-child {
	margin-left: 0 !important;
	border-top-left-radius: var(--sig-radius-md) !important;
	border-bottom-left-radius: var(--sig-radius-md) !important;
}

ul#icons li:last-child {
	border-top-right-radius: var(--sig-radius-md) !important;
	border-bottom-right-radius: var(--sig-radius-md) !important;
}

ul#icons li:hover {
	background: var(--color-hover-light) !important;
	z-index: 1;
}

ul#icons li.ui-state-default.ui-corner-all {
	padding: 0.4rem 0.55rem !important;
	display: flex;
	align-items: center;
	justify-content: center;
}

ul#icons li span.ui-icon {
	float: none;
	display: block;
	margin: 0;
	padding: 0;
	width: 16px;
	height: 16px;
	overflow: hidden;
	background-repeat: no-repeat;
}

ul#icons li select.ui-state-default {
	border: 0 !important;
	border-radius: 0 !important;
	height: auto !important;
	min-height: 100%;
	padding: 0.35rem 0.5rem;
	background: transparent;
	margin: 0;
}

#div-TOOLBAR-BOTTOM-BOX,
#div-TOOLBAR-BOTTOM-BOX.ui-widget-header {
	border: 1px solid var(--sig-border-color) !important;
	border-radius: var(--sig-radius-md) !important;
	box-shadow: var(--sig-shadow-dropdown) !important;
	background: var(--color-bg-white) !important;
	padding: 0.5rem 0.75rem !important;
	font-weight: normal !important;
}

/* --- Modais (ui-dialog) --- */
.ui-dialog {
	border: 1px solid var(--sig-border-color) !important;
	border-radius: var(--sig-radius-lg) !important;
	box-shadow: var(--sig-shadow-dropdown) !important;
	padding: 0 !important;
	overflow: hidden;
}

.ui-dialog .ui-dialog-titlebar {
	border: 0 !important;
	border-bottom: 1px solid var(--sig-border-color) !important;
	border-radius: 0 !important;
	background: var(--color-bg-box-title) !important;
	padding: 0.75rem 1rem !important;
	font-weight: 600;
}

.ui-dialog .ui-dialog-titlebar-close {
	border-radius: var(--sig-radius-sm);
	right: 0.5rem;
}

.ui-dialog .ui-dialog-content {
	padding: 1rem !important;
}

.ui-dialog .ui-dialog-buttonpane {
	border-top: 1px solid var(--sig-border-color-light) !important;
	padding: 0.75rem 1rem !important;
	margin-top: 0 !important;
	background: var(--color-bg-white);
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	float: right;
	display: inline-flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

/* --- Alertas (tip-area / ui-state-highlight) --- */
.tip-area.ui-state-highlight,
#tipArea.ui-state-highlight {
	background: var(--sig-alert-info-bg) !important;
	border: 1px solid var(--sig-alert-info-border) !important;
	border-left: 4px solid var(--color-primary) !important;
	color: var(--sig-alert-info-text) !important;
	padding: 0.75rem 1rem !important;
	border-radius: var(--sig-radius-md) !important;
}

.tip-area.ui-state-highlight p,
#tipArea.ui-state-highlight p {
	margin: 0.25rem 0;
}

.tip-area.ui-state-error,
.ui-widget-content .ui-state-error.tip-area {
	background: #f8d7da !important;
	border: 1px solid #f5c2c7 !important;
	border-left: 4px solid #dc3545 !important;
	color: #842029 !important;
}

/* --- Formulários dl/dt/dd --- */
.ui-widget fieldset dl {
	margin-bottom: 0.75rem;
	padding-bottom: 0.15rem;
}

.ui-widget fieldset dl dt,
.ui-widget fieldset dl dt label {
	font-weight: 500;
	color: var(--sig-label-color);
}

.ui-widget fieldset dl dd {
	line-height: 1.5;
	margin-bottom: 0.15rem;
}

/* input-group (campo + botao lupa) - nao aplicar em botoes + Novo (fa-plus) */
.ui-widget dd:has(> input.text + button:has(.fa-search)),
.ui-widget dd:has(> input.grid-item + button:has(.fa-search)) {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	max-width: 95%;
}

.ui-widget dd:has(> input.text + button:has(.fa-search)) > input.text,
.ui-widget dd:has(> input.grid-item + button:has(.fa-search)) > input.grid-item {
	width: auto !important;
	flex: 1 1 auto;
	margin-right: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.ui-widget dd:has(> input.text + button:has(.fa-search)) > button,
.ui-widget dd:has(> input.grid-item + button:has(.fa-search)) > button {
	margin: 1px 0 1px -1px;
	flex: 0 0 auto;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	align-self: stretch;
}

/* --- Datepicker --- */
.ui-datepicker {
	border-radius: var(--sig-radius-md) !important;
	box-shadow: var(--sig-shadow-dropdown) !important;
	border: 1px solid var(--sig-border-color) !important;
	padding: 0.5rem !important;
}

.ui-datepicker * {
	font-size: 12px;
	font-weight: normal;
}

.ui-datepicker td a,
.ui-datepicker td span {
	border-radius: var(--sig-radius-sm);
	text-align: center;
	padding: 0.25em;
}

.ui-datepicker .ui-state-active,
.ui-datepicker .ui-state-active:hover {
	background: var(--color-primary) !important;
	border-color: var(--color-primary) !important;
	color: #fff !important;
	font-weight: 600;
}

/* --- Badges na grid --- */
table.grid td .ui-state-highlight,
table.grid td span.badge,
table.grid td .badge {
	border-radius: 50rem;
	padding: 0.2em 0.65em;
	font-size: 0.85em;
	font-weight: 500;
	border: 1px solid var(--sig-border-color-light);
}

/* --- Botões de ação no rodapé do form --- */
.ui-widget form p:has(> input.submit),
.ui-widget form div:has(> input.submit) {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: flex-end;
}

.ui-widget form input.submit.ui-button,
.ui-widget form button.submit.ui-button {
	margin: 0;
}

/* ============================================================================
   SIG Layout v2 - Chamado 8129 (AdminLTE-inspired shell)
   ============================================================================ */

:root {
	--sig-sidebar-width: 260px;
	--sig-sidebar-collapsed-width: 60px;
	--sig-sidebar-collapsed-icon-size: 22px;
	--sig-topbar-height: 56px;
	--sig-sidebar-bg: var(--color-primary);
	--sig-sidebar-text: #ffffff;
	--sig-sidebar-item-hover: rgba(255, 255, 255, 0.1);
	--sig-sidebar-item-active: rgba(255, 255, 255, 0.15);
	--sig-sidebar-scrollbar-size: 6px;
	--sig-sidebar-scrollbar-track: transparent;
	--sig-sidebar-scrollbar-thumb: rgba(255, 255, 255, 0.22);
	--sig-sidebar-scrollbar-thumb-hover: rgba(255, 255, 255, 0.38);
	--sig-sidebar-search-bg: #ffffff;
	--sig-sidebar-search-text: #333333;
	--sig-sidebar-search-placeholder: #888888;
	--sig-sidebar-search-border: rgba(0, 0, 0, 0.15);
	--sig-sidebar-search-focus: #3c8dbc;
	--sig-menu-l1-font: 13px;
	--sig-menu-l2-border: rgba(255, 255, 255, 0.5);
	--sig-menu-l2-margin: 5px;
	--sig-menu-l2-bg: rgba(0, 0, 0, 0.12);
	--sig-menu-l3-border: rgba(255, 220, 80, 0.6);
	--sig-menu-l3-margin: 0px;
	--sig-menu-l3-bg: rgba(0, 0, 0, 0.10);
	--sig-menu-l3-font: 12.5px;
	--sig-menu-l4-border: rgba(100, 220, 180, 0.55);
	--sig-menu-l4-margin: 0px;
	--sig-menu-l4-bg: rgba(0, 0, 0, 0.10);
	--sig-menu-l4-font: 12px;
	--sig-menu-block-padding-y: 5px;
	--sig-menu-anim-duration: 380ms;
	--sig-menu-anim-easing: cubic-bezier(0.4, 0, 0.2, 1);
	--sig-topbar-bg: #ffffff;
	--sig-topbar-text: #333333;
	--sig-topbar-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
	--sig-transition: 0.38s var(--sig-menu-anim-easing);
}

/* --- Layout base --- */
#area-central.sig-layout-wrapper {
	display: flex;
	flex-direction: row;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	min-width: 0;
}

#div-area-cabecalho {
	display: none !important;
	height: 0 !important;
}

.sig-main-wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	position: relative;
}

/* --- Sidebar --- */
#menu-accordion-area.sig-sidebar {
	display: flex !important;
	flex-direction: column;
	flex-shrink: 0;
	width: var(--sig-sidebar-width);
	height: 100vh;
	background: var(--sig-sidebar-bg);
	color: var(--sig-sidebar-text);
	overflow: hidden;
	transition: width var(--sig-transition);
	border-right: 1px solid rgba(0, 0, 0, 0.1);
	z-index: 100;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed {
	width: var(--sig-sidebar-collapsed-width);
}

#menu-accordion-area.sig-sidebar.hide {
	display: flex !important;
}

#div-cabecalho.sig-sidebar__logo {
	height: var(--sig-topbar-height);
	min-height: var(--sig-topbar-height);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	flex-shrink: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	overflow: hidden;
}

#div-cabecalho.sig-sidebar__logo img {
	max-height: 40px;
	max-width: 100%;
}

#div-cabecalho.sig-sidebar__logo .sig-sidebar__logo-compact {
	display: none;
	max-height: 36px;
	max-width: 44px;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed #div-cabecalho.sig-sidebar__logo .sig-sidebar__logo-full {
	display: none;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed #div-cabecalho.sig-sidebar__logo .sig-sidebar__logo-compact {
	display: block;
}

.sig-sidebar__menu,
#menu-accordion-box.sig-sidebar__menu {
	flex: 1;
	min-height: 0;
	overflow: hidden;
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	display: flex;
	flex-direction: column;
	scroll-behavior: smooth;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.sig-sidebar__menu-search-wrap {
	flex-shrink: 0;
	padding: 8px 10px 6px 10px;
	box-sizing: border-box;
}

.sig-sidebar__menu-search-box {
	position: relative;
}

.sig-sidebar__menu-search-icon {
	position: absolute;
	left: 9px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 11px;
	color: var(--sig-sidebar-search-placeholder);
	pointer-events: none;
	z-index: 1;
}

.sig-sidebar__menu-search-clear {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: var(--sig-sidebar-search-placeholder);
	font-size: 16px;
	line-height: 18px;
	cursor: pointer;
}

.sig-sidebar__menu-search-clear:hover {
	color: var(--sig-sidebar-search-text);
	background-color: rgba(0, 0, 0, 0.06);
}

.sig-sidebar__menu-search-empty {
	padding: 6px 4px 2px 4px;
	font-size: 11px;
	color: var(--sig-sidebar-search-placeholder);
	text-align: center;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed .sig-sidebar__menu-search-wrap {
	display: none;
}

.sig-sidebar__menu-search {
	width: 100%;
	box-sizing: border-box;
	outline: none;
	border: 1px solid var(--sig-sidebar-search-border);
	border-radius: 8px;
	height: 28px;
	padding: 4px 26px 4px 26px;
	font-size: 12px;
	line-height: 18px;
	color: var(--sig-sidebar-search-text);
	background-color: var(--sig-sidebar-search-bg);
}

.sig-sidebar__menu-search:focus {
	border-color: var(--sig-sidebar-search-focus);
}

.sig-sidebar__menu-search::-webkit-input-placeholder {
	color: var(--sig-sidebar-search-placeholder);
	opacity: 1;
}

.sig-sidebar__menu-search:-moz-placeholder {
	color: var(--sig-sidebar-search-placeholder);
	opacity: 1;
}

.sig-sidebar__menu-search::-moz-placeholder {
	color: var(--sig-sidebar-search-placeholder);
	opacity: 1;
}

.sig-sidebar__menu-search:-ms-input-placeholder {
	color: var(--sig-sidebar-search-placeholder);
}

.sig-sidebar__menu-search::-webkit-search-cancel-button,
.sig-sidebar__menu-search::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

#menu-accordion-box.sig-sidebar__menu #menu-accordion {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 2px 0px 8px 0;
	box-sizing: border-box;
	scrollbar-width: thin;
	scrollbar-color: var(--sig-sidebar-scrollbar-thumb) var(--sig-sidebar-scrollbar-track);
	scrollbar-gutter: stable;
}

/* Scrollbar discreta estilo AdminLTE (WebKit) */
#menu-accordion-box.sig-sidebar__menu #menu-accordion::-webkit-scrollbar {
	width: var(--sig-sidebar-scrollbar-size);
	height: var(--sig-sidebar-scrollbar-size);
}

#menu-accordion-box.sig-sidebar__menu #menu-accordion::-webkit-scrollbar-track {
	background: var(--sig-sidebar-scrollbar-track);
}

#menu-accordion-box.sig-sidebar__menu #menu-accordion::-webkit-scrollbar-thumb {
	background-color: var(--sig-sidebar-scrollbar-thumb);
	border-radius: 999px;
	border: 2px solid transparent;
	background-clip: padding-box;
}

#menu-accordion-box.sig-sidebar__menu #menu-accordion::-webkit-scrollbar-thumb:hover {
	background-color: var(--sig-sidebar-scrollbar-thumb-hover);
}

#menu-accordion-box.sig-sidebar__menu #menu-accordion::-webkit-scrollbar-corner {
	background: transparent;
}

/* Respiro lateral para o conteudo nao colar na barra de rolagem */
#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed:not(.sig-sidebar--hover-expanded) #menu-accordion-box.sig-sidebar__menu #menu-accordion {
	padding: 4px 0 8px 0;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed:not(.sig-sidebar--hover-expanded) #menu-accordion-box.sig-sidebar__menu #menu-accordion {
	scrollbar-width: none;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed:not(.sig-sidebar--hover-expanded) #menu-accordion-box.sig-sidebar__menu #menu-accordion::-webkit-scrollbar {
	display: none;
}

#menu-accordion-area.sig-sidebar--menu-filtering #menu-accordion .ui-accordion-content:not(.sig-menu-filter-hidden) {
	display: block !important;
	height: auto !important;
	max-height: none !important;
	visibility: visible !important;
	overflow: visible !important;
}

#menu-accordion-area.sig-sidebar--menu-filtering #menu-accordion .ui-accordion-header:not(.sig-menu-filter-hidden) {
	display: block !important;
}

#menu-accordion-area.sig-sidebar--menu-filtering #menu-accordion .ui-accordion-header-active:not(.sig-menu-filter-hidden) .nav-arrow,
#menu-accordion-area.sig-sidebar--menu-filtering #menu-accordion .ui-accordion-header.ui-state-active:not(.sig-menu-filter-hidden) .nav-arrow {
	transform: translateY(-50%) rotate(90deg);
}

#menu-accordion .sig-menu-filter-hidden {
	display: none !important;
}

.sig-menu-filter-mark {
	background-color: rgba(255, 220, 80, 0.5);
	color: inherit;
	border-radius: 2px;
	padding: 0 1px;
	font-size: inherit;
	line-height: inherit;
	font-family: inherit;
	font-weight: inherit;
	vertical-align: baseline;
}

#menu-accordion-area.sig-sidebar #menu-accordion .sig-menu-filter-mark {
	font-size: inherit !important;
	line-height: inherit;
}

#menu-accordion-divisao {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden;
}

#menu-accordion-icon-area {
	display: none !important;
}

/* Accordion na sidebar */
#menu-accordion-area.sig-sidebar {
	--sig-sidebar-menu-font-size: 14px;
	--sig-sidebar-menu-edge-right: 0.65rem;
	--sig-sidebar-menu-header-padding-y: 0.08rem;
	font-size: var(--sig-sidebar-menu-font-size);
}

#menu-accordion-area.sig-sidebar #menu-accordion > .ui-accordion-header {
	background: transparent !important;
	color: var(--sig-sidebar-text) !important;
	border: none !important;
	border-bottom: none !important;
	border-radius: 0.2rem !important;
	box-shadow: none !important;
	padding: var(--sig-sidebar-menu-header-padding-y) var(--sig-sidebar-menu-edge-right) !important;
	margin-top: 0 !important;
	margin-bottom: 0;
	font-size: var(--sig-sidebar-menu-font-size) !important;
	transition: background-color var(--sig-menu-anim-duration) var(--sig-menu-anim-easing);
}

#menu-accordion-area.sig-sidebar #menu-accordion > .ui-accordion-header a {
	position: relative;
	display: flex;
	align-items: center;
	color: var(--sig-sidebar-text) !important;
	font-size: var(--sig-sidebar-menu-font-size) !important;
	text-decoration: none;
	border: none !important;
	box-shadow: none !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-header a p {
	display: inline;
	padding-left: 0.5rem;
	padding-right: 1.5rem;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1;
	min-width: 0;
	font-size: var(--sig-sidebar-menu-font-size) !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-header a div.icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	max-width: 1.5rem;
	flex-shrink: 0;
	font-size: var(--sig-sidebar-menu-font-size);
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-header a div.icon i {
	font-size: var(--sig-sidebar-menu-font-size);
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-header .nav-arrow {
	position: absolute;
	top: 50%;
	right: var(--sig-sidebar-menu-edge-right);
	transform: translateY(-50%);
	transition: transform var(--sig-menu-anim-duration) var(--sig-menu-anim-easing);
	font-size: 11px;
	opacity: 0.85;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-header-active .nav-arrow {
	transform: translateY(-50%) rotate(90deg);
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-header:hover,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-header-active,
#menu-accordion-area.sig-sidebar #menu-accordion > .ui-accordion-header.ui-state-active,
#menu-accordion-area.sig-sidebar #menu-accordion > .ui-accordion-header.ui-state-hover {
	background: var(--sig-sidebar-item-hover) !important;
	box-shadow: none !important;
	border: none !important;
	border-bottom: none !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content {
	background: rgba(0, 0, 0, 0.15) !important;
	border: none !important;
	color: var(--sig-sidebar-text) !important;
	font-size: var(--sig-sidebar-menu-font-size) !important;
	padding: 0 0 0 0.25rem !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	top: 0 !important;
	overflow: hidden;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content-active {
	background: var(--sig-sidebar-item-active) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	top: 0 !important;
	overflow: hidden;
}

#menu-accordion-area.sig-sidebar #menu-accordion ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul {
	border-left: 3px solid var(--sig-menu-l2-border);
	margin: 0 0 0 var(--sig-menu-l2-margin);
	background: var(--sig-menu-l2-bg);
	border-radius: 0;
	margin-right: 0;
	margin-top: 0;
	margin-bottom: 0;
}

#menu-accordion-area.sig-sidebar #menu-accordion li {
	margin: 0;
	list-style: none !important;
	list-style-image: none !important;
}

/* 1o sub-nivel: itens diretos do modulo (abaixo do h3) */
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li {
	padding: 4px 10px;
	font-size: var(--sig-menu-l1-font) !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li > span {
	font-size: var(--sig-menu-l1-font) !important;
}

/* Sub-itens: sem icone/traco, apenas linhas e indentacao */
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li > span > .nav-icon,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content ul ul > li > span > .nav-icon {
	display: none !important;
}

/* 2o sub-nivel: bloco expandido */
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul {
	border-left: 3px solid var(--sig-menu-l3-border);
	margin-left: var(--sig-menu-l3-margin);
	background: var(--sig-menu-l3-bg);
	border-radius: 0;
    margin-top: 5px;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li > span {
	font-size: var(--sig-menu-l3-font) !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li {
	padding: 4px 10px;
}

/* 3o sub-nivel: bloco expandido */
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul {
	border-left: 3px solid var(--sig-menu-l4-border);
	margin-left: var(--sig-menu-l4-margin);
	margin-right: 0;
	margin-bottom: 0;
	background: var(--sig-menu-l4-bg);
	border-radius: 0;
    margin-top: 5px;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li > span {
	font-size: var(--sig-menu-l4-font) !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li {
	padding: 3px 10px;
}

/* 4o+ sub-nivel: repetir estilos do nivel 4 */
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul {
	border-left: 3px solid var(--sig-menu-l4-border);
	margin-left: var(--sig-menu-l4-margin);
	background: var(--sig-menu-l4-bg);
	border-radius: 0;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li > span {
	font-size: var(--sig-menu-l4-font) !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li {
	padding: 3px 10px;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul {
	border-left: 3px solid var(--sig-menu-l4-border);
	margin-left: var(--sig-menu-l4-margin);
	background: var(--sig-menu-l4-bg);
	border-radius: 0;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li > span {
	font-size: var(--sig-menu-l4-font) !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li {
	padding: 3px 10px;
}

/* Blocos agrupadores: sem espaco a direita (evita faixa tipo scroll) */
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-close,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-close,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-close,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-close {
	padding-right: 0;
	padding-bottom: 0;
}

/* Blocos com linha vertical: respiro superior/inferior */
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-close > ul,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-close > ul,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-close > ul,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-close > ul {
	margin-right: 0;
	margin-bottom: 0;
	padding-right: 0;
	padding-top: var(--sig-menu-block-padding-y);
	padding-bottom: var(--sig-menu-block-padding-y);
	box-sizing: border-box;
}

#menu-accordion-area.sig-sidebar #menu-accordion li.sig-nav--active {
	border-left: 3px solid var(--sig-sidebar-search-focus);
	background-color: rgba(255, 255, 255, 0.08);
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.sig-nav--active {
	padding-left: calc(10px - 3px);
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.sig-nav--active,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.sig-nav--active {
	padding-left: calc(10px - 3px);
}

#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.sig-nav--active,
#menu-accordion-area.sig-sidebar #menu-accordion .ui-accordion-content > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.ul-open > ul > li.sig-nav--active {
	padding-left: calc(10px - 3px);
}

#menu-accordion-area.sig-sidebar #menu-accordion li.sig-nav--active > span {
	font-weight: 600;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed:not(.sig-sidebar--hover-expanded) #menu-accordion .ui-accordion-header {
	text-align: center;
	padding: 0.5rem 0 !important;
}
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-point-sub,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-point,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-open,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-close {
	list-style: none !important;
	list-style-image: none !important;
}

#menu-accordion-area.sig-sidebar #menu-accordion .nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1rem;
	max-width: 1rem;
	font-size: 10px;
	opacity: 0.75;
	vertical-align: middle;
	margin-right: 0.4rem;
}

#menu-accordion-area.sig-sidebar #menu-accordion li.ul-point,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-point-sub {
	transition: background-color var(--sig-menu-anim-duration) var(--sig-menu-anim-easing);
}

#menu-accordion-area.sig-sidebar #menu-accordion li.ul-open > span,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-close > span,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-point > span,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-point-sub > span {
	position: relative;
	display: block;
	padding-right: 1.5rem;
	transition: background-color var(--sig-menu-anim-duration) var(--sig-menu-anim-easing);
}

#menu-accordion-area.sig-sidebar #menu-accordion li.ul-open > span:hover,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-close > span:hover,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-point:hover,
#menu-accordion-area.sig-sidebar #menu-accordion li.ul-point-sub:hover {
	background-color: rgba(255, 255, 255, 0.06);
}

#menu-accordion-area.sig-sidebar #menu-accordion .sig-menu-nav-label {
	cursor: pointer;
}

#menu-accordion-area.sig-sidebar #menu-accordion li .nav-sub-arrow {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: var(--sig-sidebar-menu-edge-right);
	transform: translateY(-50%);
	transition: transform var(--sig-menu-anim-duration) var(--sig-menu-anim-easing);
	font-size: 11px;
	opacity: 0.85;
}

#menu-accordion-area.sig-sidebar #menu-accordion li.ul-open .nav-sub-arrow {
	transform: translateY(-50%) rotate(90deg);
}

#menu-accordion-area.sig-sidebar #menu-accordion li,
#menu-accordion-area.sig-sidebar #menu-accordion li a {
	color: var(--sig-sidebar-text) !important;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed #menu-accordion .ui-accordion-header a p {
	display: none;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed #menu-accordion .ui-accordion-header a {
	justify-content: center;
	width: 100%;
	font-size: 0;
	line-height: 0;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed #menu-accordion .ui-accordion-header .nav-arrow {
	display: none;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed #menu-accordion .ui-accordion-header a div.icon {
	min-width: auto;
	max-width: none;
	width: auto;
	font-size: var(--sig-sidebar-collapsed-icon-size);
	line-height: normal;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed #menu-accordion .ui-accordion-header a div.icon i {
	font-size: inherit;
}

#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed #menu-accordion .ui-accordion-content {
	display: none !important;
}

@media (min-width: 768px) {
	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded {
		width: var(--sig-sidebar-width);
		z-index: 1100;
		box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.15);
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #div-cabecalho.sig-sidebar__logo .sig-sidebar__logo-full {
		display: block;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #div-cabecalho.sig-sidebar__logo .sig-sidebar__logo-compact {
		display: none;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded .sig-sidebar__menu-search-wrap {
		display: block;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion .ui-accordion-header {
		text-align: left;
		padding: var(--sig-sidebar-menu-header-padding-y) var(--sig-sidebar-menu-edge-right) !important;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion .ui-accordion-header a p {
		display: inline;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion .ui-accordion-header a {
		justify-content: flex-start;
		font-size: inherit;
		line-height: normal;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion .ui-accordion-header .nav-arrow {
		display: inline-block;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion .ui-accordion-header a div.icon {
		min-width: 1.5rem;
		max-width: 1.5rem;
		font-size: var(--sig-sidebar-menu-font-size);
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion .ui-accordion-header a div.icon i {
		font-size: var(--sig-sidebar-menu-font-size);
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion .ui-accordion-content-active {
		display: block !important;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion-box.sig-sidebar__menu #menu-accordion {
		padding: 2px var(--sig-sidebar-menu-edge-right) 8px 0;
		scrollbar-width: thin;
		scrollbar-color: var(--sig-sidebar-scrollbar-thumb) var(--sig-sidebar-scrollbar-track);
		scrollbar-gutter: stable;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed.sig-sidebar--hover-expanded #menu-accordion-box.sig-sidebar__menu #menu-accordion::-webkit-scrollbar {
		display: block;
		width: var(--sig-sidebar-scrollbar-size);
		height: var(--sig-sidebar-scrollbar-size);
	}
}

/* --- Topbar --- */
#area-cabecalho.sig-topbar {
	position: relative !important;
	width: 100% !important;
	min-width: 0 !important;
	height: var(--sig-topbar-height);
	min-height: var(--sig-topbar-height);
	background: var(--sig-topbar-bg) !important;
	color: var(--sig-topbar-text);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: var(--sig-topbar-shadow);
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: 8px;
	--sig-topbar-search-max-width: 480px;
	padding: 0 8px 0 4px;
	box-sizing: border-box;
}

.sig-topbar__left,
.sig-topbar__center,
.sig-topbar__right {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
}

.sig-topbar__left {
	flex: 0 0 auto;
	justify-content: flex-start;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.sig-topbar__center {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
	box-sizing: border-box;
	z-index: 1;
	justify-content: center;
}

.sig-topbar__menu-search-wrap {
	width: 100%;
	min-width: 0;
	max-width: var(--sig-topbar-search-max-width);
	box-sizing: border-box;
}

.sig-topbar__menu-search-box {
	position: relative;
	pointer-events: auto;
}

.sig-topbar__menu-search-icon {
	position: absolute;
	left: 9px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 11px;
	color: var(--sig-sidebar-search-placeholder);
	pointer-events: none;
	z-index: 1;
}

.sig-topbar__menu-search-clear {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: var(--sig-sidebar-search-placeholder);
	font-size: 16px;
	line-height: 18px;
	cursor: pointer;
}

.sig-topbar__menu-search-clear:hover {
	color: var(--sig-sidebar-search-text);
	background-color: rgba(0, 0, 0, 0.06);
}

.sig-topbar__menu-search {
	width: 100%;
	box-sizing: border-box;
	outline: none;
	border: 1px solid var(--sig-sidebar-search-border);
	border-radius: 8px;
	height: 34px;
	padding: 6px 30px 6px 30px;
	font-size: 13px;
	line-height: 20px;
	color: var(--sig-sidebar-search-text);
	background-color: var(--sig-sidebar-search-bg);
}

.sig-topbar__menu-search:focus {
	border-color: var(--sig-sidebar-search-focus);
}

.sig-topbar__menu-search::-webkit-input-placeholder {
	color: var(--sig-sidebar-search-placeholder);
	opacity: 1;
}

.sig-topbar__menu-search:-moz-placeholder {
	color: var(--sig-sidebar-search-placeholder);
	opacity: 1;
}

.sig-topbar__menu-search::-moz-placeholder {
	color: var(--sig-sidebar-search-placeholder);
	opacity: 1;
}

.sig-topbar__menu-search:-ms-input-placeholder {
	color: var(--sig-sidebar-search-placeholder);
}

.sig-topbar__menu-search::-webkit-search-cancel-button,
.sig-topbar__menu-search::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

ul.ui-autocomplete.sig-topbar-busca-ac {
	box-sizing: border-box;
}

ul.ui-autocomplete.sig-topbar-busca-ac .ui-menu-item a {
	white-space: normal;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.sig-topbar__right {
	flex: 0 0 auto;
	overflow: visible;
	justify-content: flex-end;
	margin-left: auto;
	position: relative;
	z-index: 1;
}

#sig-topbar-item-consumo {
	flex-shrink: 0;
}

/* Links esquerda estilo AdminLTE nav-link */
.sig-topbar__nav-links {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.sig-topbar__nav-links li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sig-topbar__nav-link {
	display: inline-flex;
	align-items: center;
	height: var(--sig-topbar-height);
	padding: 0 10px;
	color: var(--sig-topbar-text) !important;
	text-decoration: none;
	font-size: 14px;
	font-weight: 400;
	background: transparent !important;
	border: none !important;
	white-space: nowrap;
	transition: opacity 0.15s ease;
}

.sig-topbar__nav-link:hover {
	opacity: 0.72;
	text-decoration: none;
}

.sig-topbar__nav-link--icon {
	padding: 0 8px;
	font-size: 17px;
}

.sig-topbar__nav-link > i {
	display: none;
	font-size: 17px;
	line-height: 1;
}

.sig-topbar__nav-link--icon > i {
	display: inline-block;
}

/* Icones direita */
.sig-topbar__nav-icons {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sig-topbar__nav-icons > li,
.sig-topbar__item {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sig-topbar__nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: var(--sig-topbar-height);
	padding: 0;
	border: none;
	background: transparent;
	color: var(--sig-topbar-text);
	font-size: 17px;
	cursor: pointer;
	position: relative;
	border-radius: 4px;
	transition: background-color 0.15s ease;
}

.sig-topbar__nav-icon:hover,
.sig-topbar__nav-icon.sig-topbar__nav-icon--active {
	background: rgba(0, 0, 0, 0.06);
}

.sig-topbar__nav-icon.sig-topbar__nav-icon--orange {
	color: #ff6600;
}

.sig-topbar__nav-icon.sig-topbar__nav-icon--orange:hover,
.sig-topbar__nav-icon.sig-topbar__nav-icon--orange.sig-topbar__nav-icon--active {
	background: rgba(255, 102, 0, 0.14);
	color: #e55a00;
}

.sig-topbar-az-label {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: -0.3px;
	line-height: 1;
	font-family: inherit;
}

.sig-topbar__badge {
	position: absolute;
	top: 10px;
	right: 6px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 10px;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
	color: #fff;
	background: #dd4b39;
	border: none;
	z-index: 1;
}

#menu-topo-notificacao.bell-red .sig-topbar__badge {
	background: #dd4b39;
}

#menu-topo-notificacao.bell-red-selected .sig-topbar__badge,
#menu-topo-notificacao.sig-topbar__nav-icon--active.bell-red .sig-topbar__badge {
	background: #c23321;
}

/* Dropdowns compactos */
.sig-topbar-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	min-width: 280px;
	max-width: 360px;
	background: #ffffff;
	border: 1px solid var(--sig-border-color, #dee2e6);
	border-radius: var(--sig-radius-lg, 8px);
	box-shadow: var(--sig-shadow-dropdown, 0 4px 16px rgba(0, 0, 0, 0.12));
	z-index: 1050;
	margin-top: 2px;
	box-sizing: border-box;
}

.sig-topbar-dropdown.sig-topbar-dropdown--open,
.sig-topbar-dropdown:not(.hide) {
	display: block;
}

.sig-topbar-dropdown__header {
	padding: 10px 14px;
	font-size: 14px;
	font-weight: 600;
	color: var(--sig-topbar-text);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	background: rgba(0, 0, 0, 0.02);
}

.sig-topbar-dropdown__body {
	padding: 12px 14px;
}

/* Busca dropdown */
.sig-topbar-busca__label {
	display: block;
	margin: 0 0 8px 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--sig-topbar-text);
}

.sig-topbar-busca__input {
	width: 100%;
	box-sizing: border-box;
	outline: none;
	border: 1px solid #d2d6de;
	border-radius: 6px;
	height: 34px;
	padding: 6px 10px;
	font-size: 13px;
	color: #888;
	background: #fff;
}

.sig-topbar-busca__input--active,
.sig-topbar-busca__input:focus {
	color: #333;
	border-color: var(--color-primary, #3c8dbc);
}

.sig-topbar-busca__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.sig-topbar-busca__link {
	font-size: 12px;
	color: var(--color-primary, #3c8dbc);
	text-decoration: none;
	cursor: pointer;
}

.sig-topbar-busca__link:hover {
	text-decoration: underline;
}

/* Tema dropdown */
.sig-topbar-tema__field {
	margin: 0 0 10px 0;
}

.sig-topbar-tema__field dt {
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 4px;
	color: var(--sig-topbar-text);
}

.sig-topbar-tema__field dd {
	margin: 0;
	font-size: 13px;
}

.sig-topbar-tema__field select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.sig-topbar-tema__paleta {
	margin-top: 8px;
}

.sig-topbar-tema__actions {
	margin-top: 10px;
	text-align: right;
}

.sig-topbar-tema__btn {
	font-size: 12px;
	padding: 6px 14px;
}

/* Usuario estilo AdminLTE */
.sig-topbar-user {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: var(--sig-topbar-height);
	padding: 0 8px 0 4px;
	border: none;
	background: transparent;
	cursor: pointer;
	border-radius: 4px;
	max-width: 220px;
	transition: background-color 0.15s ease;
}

.sig-topbar-user:hover,
.sig-topbar-user.sig-topbar-user--active {
	background: rgba(0, 0, 0, 0.06);
}

.sig-topbar-user__avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.sig-topbar-user__name {
	font-size: 13px;
	color: var(--sig-topbar-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 140px;
}

.sig-topbar-user-header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
}

.sig-topbar-user-header .sig-topbar-user__avatar {
	width: 48px;
	height: 48px;
}

.sig-topbar-user-header .sig-topbar-user__name {
	font-size: 14px;
	font-weight: 600;
	max-width: none;
}

#div-cabecalho-consumo .li-cabecalho-consumo {
	padding: 8px 14px !important;
	margin: 0 !important;
	font-size: 13px !important;
}

#div-cabecalho-consumo hr {
	margin: 4px 0;
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

#div-cabecalho-notificacao {
	width: 360px !important;
	max-width: calc(100vw - 24px);
	padding: 0 !important;
}

.sig-notificacao-header {
	cursor: pointer;
}

.sig-notificacao-list {
	max-height: 280px;
	overflow-x: hidden;
	overflow-y: auto;
}

#div-cabecalho-notificacao div.item-notificacao,
#div-notificacao div.item-notificacao {
	display: block !important;
	grid-template-columns: none !important;
	margin: 0 !important;
	padding: 10px 14px;
	border: 0 !important;
	text-align: left !important;
	color: inherit;
}

#div-cabecalho-notificacao div.item-notificacao:hover,
#div-notificacao div.item-notificacao:hover {
	color: inherit;
	background: rgba(0, 0, 0, 0.04);
}

.sig-notificacao-item {
	display: block;
	margin: 0;
	padding: 10px 14px;
	border: 0;
	text-align: left;
	transition: background-color 0.15s ease;
}

.sig-notificacao-item__assunto {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--sig-topbar-text);
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.sig-notificacao-item__meta {
	display: block;
	margin-top: 2px;
	font-size: 11.5px;
	line-height: 1.35;
	color: rgba(0, 0, 0, 0.5);
}

.sig-notificacao-item__meta i {
	margin-right: 4px;
	opacity: 0.75;
}

.sig-notificacao-item:hover {
	background: #f8f9fa;
}

.sig-notificacao-divider {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	margin: 0;
}

.sig-notificacao-empty {
	padding: 14px;
	font-size: 12px;
	line-height: 1.4;
	text-align: center;
	color: rgba(0, 0, 0, 0.55);
}

.sig-notificacao-footer {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding: 10px 14px;
	text-align: center;
}

.sig-notificacao-footer__link {
	font-size: 12px;
	color: var(--color-primary, #3c8dbc);
	text-decoration: none;
	cursor: pointer;
}

.sig-notificacao-footer__link:hover {
	text-decoration: underline;
}

#div-cabecalho-consumo {
	width: 260px !important;
}

#div-cabecalho-busca {
	width: 300px !important;
}

ul.ui-autocomplete.sig-topbar-busca-ac {
	z-index: 10050 !important;
	width: auto !important;
	max-width: none;
	min-width: 0;
	max-height: 280px;
	overflow-x: hidden;
	overflow-y: auto;
	border-radius: var(--sig-radius-lg, 8px);
	box-shadow: var(--sig-shadow-dropdown, 0 4px 16px rgba(0, 0, 0, 0.12));
	border: 1px solid var(--sig-border-color, #dee2e6);
	padding: 4px 0;
	box-sizing: border-box;
}

ul.ui-autocomplete.sig-topbar-busca-ac .ui-menu-item {
	max-width: 100%;
}

ul.ui-autocomplete.sig-topbar-busca-ac .ui-menu-item a {
	display: block;
	max-width: 100%;
	box-sizing: border-box;
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	word-break: break-word;
	line-height: 1.35;
}

ul.ui-autocomplete.sig-topbar-busca-ac .ui-menu-item a i {
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	word-break: break-word;
}

ul.ui-autocomplete.sig-topbar-busca-ac .ui-menu-item a.ui-state-active {
	background: rgba(0, 0, 0, 0.08);
	font-weight: 600;
}

#div-cabecalho-tema {
	width: 320px !important;
}

#area-cabecalho.sig-topbar .botao-menu-topo,
#area-cabecalho.sig-topbar .botao-topo {
	color: var(--sig-topbar-text) !important;
	background: transparent !important;
	border: none !important;
}

#area-cabecalho.sig-topbar .botao-menu-topo:hover,
#area-cabecalho.sig-topbar .botao-menu-topo-hover {
	background: rgba(0, 0, 0, 0.06) !important;
	color: var(--sig-topbar-text) !important;
}

#area-cabecalho.sig-topbar #input_menu_busca {
	max-width: 100%;
}

/* Notificacao: sobrescreve estilo legado pesado */
#area-cabecalho.sig-topbar #menu-topo-notificacao.bell-cropper,
#area-cabecalho.sig-topbar #menu-topo-notificacao .bell-cropper {
	all: unset;
}

#area-cabecalho.sig-topbar #menu-topo-notificacao i.fa-bell {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	font-size: 17px !important;
	width: auto !important;
	border-radius: 0 !important;
}

#area-cabecalho.sig-topbar #menu-topo-notificacao.bell-red-selected i.fa-bell,
#area-cabecalho.sig-topbar #menu-topo-notificacao.sig-topbar__nav-icon--active i.fa-bell {
	color: var(--color-primary, #3c8dbc);
}

/* Hamburger toggle */
.sig-sidebar-toggle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 36px;
	padding: 6px;
	border: none;
	background: transparent;
	cursor: pointer;
	border-radius: 4px;
	flex-shrink: 0;
}

.sig-sidebar-toggle:hover {
	background: rgba(0, 0, 0, 0.05);
}

.sig-sidebar-toggle span {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--sig-topbar-text);
	margin: 2px 0;
	transition: var(--sig-transition);
}

.sig-block-frames .sig-sidebar-toggle {
	display: none !important;
}

/* Apps dropdown */
.sig-apps-wrap {
	position: relative;
}

.sig-apps-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: var(--sig-topbar-height);
	padding: 0;
	border: none;
	border-radius: 4px;
	background: transparent;
	cursor: pointer;
	color: var(--sig-topbar-text);
	font-size: 17px;
}

.sig-apps-btn:hover {
	background: rgba(0, 0, 0, 0.06);
}

.sig-apps-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 4px;
	width: 342px;
	max-width: calc(100vw - 24px);
	max-height: 420px;
	overflow-y: auto;
	padding: 12px 8px;
	background: #ffffff;
	border: 1px solid var(--sig-border-color, #dee2e6);
	border-radius: var(--sig-radius-lg, 8px);
	box-shadow: var(--sig-shadow-dropdown, 0 4px 16px rgba(0, 0, 0, 0.12));
	z-index: 1050;
	box-sizing: border-box;
}

.sig-apps-dropdown.sig-apps-dropdown--open {
	display: block;
}

.sig-apps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4px 0;
}

.sig-apps-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	min-height: 88px;
	margin: 0;
	padding: 12px 8px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--sig-topbar-text);
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.15s ease;
}

.sig-apps-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-bottom: 6px;
	font-size: 24px;
	line-height: 1;
	color: var(--color-primary, #3c8dbc);
}

.sig-apps-item__label {
	font-size: 13.5px;
	line-height: 1.25;
	text-align: center;
	word-break: break-word;
	color: var(--sig-topbar-text);
}

/* Sobrescreve legado inicial.body.css (.botao-menu-topo span { color: white }) */
.sig-apps-dropdown .sig-apps-item,
.sig-apps-dropdown .sig-apps-item span {
	color: var(--sig-topbar-text) !important;
	background: transparent !important;
	font-weight: 400 !important;
}

.sig-apps-dropdown .sig-apps-item .sig-apps-item__icon,
.sig-apps-dropdown .sig-apps-item .sig-apps-item__icon i {
	color: var(--sig-topbar-text) !important;
	font-size: 24px !important;
}

.sig-apps-dropdown .sig-apps-item .sig-apps-item__label {
	color: var(--sig-topbar-text) !important;
	font-size: 13.5px !important;
}

.sig-apps-item:hover,
.sig-apps-dropdown .botao-menu-topo-hover {
	background: #f8f9fa !important;
}

.sig-apps-dropdown .sig-apps-item:hover,
.sig-apps-dropdown .sig-apps-item.botao-menu-topo-hover {
	color: var(--sig-topbar-text) !important;
}

.sig-apps-dropdown .sig-apps-item:hover .sig-apps-item__label,
.sig-apps-dropdown .sig-apps-item.botao-menu-topo-hover .sig-apps-item__label {
	color: var(--sig-topbar-text) !important;
}

.sig-apps-dropdown .sig-apps-item:hover .sig-apps-item__icon,
.sig-apps-dropdown .sig-apps-item:hover .sig-apps-item__icon i,
.sig-apps-dropdown .sig-apps-item.botao-menu-topo-hover .sig-apps-item__icon,
.sig-apps-dropdown .sig-apps-item.botao-menu-topo-hover .sig-apps-item__icon i {
	color: var(--sig-topbar-text) !important;
}

#div-cabecalho-dashboard,
#div-cabecalho-pcs,
#div-cabecalho-new {
	position: absolute;
	top: 100%;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100%;
	box-sizing: border-box;
	z-index: 1040;
}

#div-cabecalho-new {
	width: 700px !important;
	max-width: calc(100% - 16px);
	left: auto !important;
	right: 0 !important;
}

/* --- Content area --- */
#sistema-area.sig-content {
	flex: 1;
	display: flex;
	flex-direction: row;
	overflow: hidden;
	min-height: 0;
	min-width: 0;
	position: relative;
}

#sistema-area.sig-content .frame-principal {
	flex: 1;
	width: 100% !important;
	height: 100% !important;
	min-width: 0;
	border: 0;
}

#sistema-area.sig-content #ajuda-divisao {
	display: none;
	flex-shrink: 0;
	width: 3px;
	cursor: col-resize;
	background: var(--color-bg-white, #fff);
	border-left: 1px solid #ddd;
}

#sistema-area.sig-content #ajuda-area {
	display: none;
	flex-shrink: 0;
	overflow: hidden;
}

#sistema-area.sig-content #frame-ajuda {
	height: 100% !important;
	border: 0;
}

#div-frame-principal {
	pointer-events: none;
}

/* Overlay da shell (sidebar + topbar) quando dialog abre no iframe */
.sig-shell-dialog-overlay {
	display: none;
	position: fixed;
	z-index: 9500;
	pointer-events: auto;
	background: var(--color-bg-overlay-dark, #000);
	opacity: 0.4;
}

#sig-shell-dialog-overlay-sidebar {
	top: 0;
	left: 0;
	width: var(--sig-sidebar-width);
	height: 100vh;
}

#sig-shell-dialog-overlay-topbar {
	top: 0;
	left: var(--sig-sidebar-width);
	right: 0;
	height: var(--sig-topbar-height);
}

/* block.frames: sem sidebar */
.sig-block-frames #menu-accordion-area.sig-sidebar {
	display: none !important;
	width: 0 !important;
}

.sig-block-frames .sig-main-wrapper {
	width: 100%;
}

/* --- Responsive --- */
.sig-sidebar-backdrop {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 9000;
}

.sig-sidebar-swipe-edge {
	display: none;
}

/* Mobile: scroll do conteudo via #sistema-area (iframe auto-height) */
@media (max-width: 767px) {
	#sistema-area.sig-content {
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		flex: 1 1 auto;
		height: calc(100vh - var(--sig-topbar-height));
		max-height: calc(100vh - var(--sig-topbar-height));
		display: block;
	}

	#sistema-area.sig-content .frame-principal {
		width: 100% !important;
		height: auto !important;
		min-height: calc(100vh - var(--sig-topbar-height));
		min-width: 0;
		border: 0;
		display: block;
	}
}

@media (max-width: 767px) {
	.sig-sidebar-swipe-edge {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 22px;
		height: 100%;
		z-index: 9400;
		touch-action: none;
		background: transparent;
	}

	body.sig-sidebar-mobile-open .sig-sidebar-swipe-edge {
		display: none;
	}

	.sig-block-frames .sig-sidebar-swipe-edge {
		display: none !important;
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--swipe-dragging {
		transition: none !important;
	}
}

.sig-apps-section--mobile,
.sig-apps-section__title--mobile {
	display: none;
}

@media (max-width: 767px) {
	#menu-accordion-area.sig-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9500;
		height: 100dvh;
		height: 100vh;
		max-height: 100dvh;
		max-height: 100vh;
		transform: translateX(-100%);
		transition: transform var(--sig-transition), width var(--sig-transition);
	}

	#menu-accordion-box.sig-sidebar__menu {
		flex: 1 1 0;
		min-height: 0;
		height: calc(100dvh - var(--sig-topbar-height)) !important;
		height: calc(100vh - var(--sig-topbar-height)) !important;
		max-height: calc(100dvh - var(--sig-topbar-height)) !important;
		max-height: calc(100vh - var(--sig-topbar-height)) !important;
		overflow: hidden;
	}

	#menu-accordion-box.sig-sidebar__menu #menu-accordion {
		flex: 1 1 0;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-y: contain;
		touch-action: pan-y;
		padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--mobile-open {
		transform: translateX(0);
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--collapsed {
		width: var(--sig-sidebar-width);
		transform: translateX(-100%);
	}

	#menu-accordion-area.sig-sidebar.sig-sidebar--mobile-open.sig-sidebar--collapsed {
		transform: translateX(0);
		width: var(--sig-sidebar-width);
	}

	.sig-sidebar-backdrop.sig-sidebar-backdrop--visible {
		display: block;
	}

	body.sig-sidebar-mobile-open {
		overflow: hidden;
	}

	#area-cabecalho.sig-topbar {
		padding: 0 6px 0 2px;
		gap: 4px;
	}

	.sig-topbar__left {
		overflow: visible;
	}

	.sig-topbar__center {
		padding: 0;
		overflow: hidden;
	}

	.sig-topbar__right {
		overflow: visible;
		position: relative;
		z-index: 2;
	}

	.sig-topbar__item--desktop-only {
		display: none !important;
	}

	.sig-topbar__nav-links {
		display: flex !important;
		flex: 0 0 auto;
	}

	.sig-topbar__nav-links > li:not(.sig-topbar__nav-item--home-mobile) {
		display: none !important;
	}

	.sig-topbar__nav-links > li.sig-topbar__nav-item--home-mobile .sig-topbar__nav-link--icon {
		padding: 0 6px;
	}

	.sig-topbar__menu-search-wrap {
		width: auto;
		min-width: 0;
		max-width: min(160px, calc(100vw - 188px));
	}

	.sig-topbar__menu-search {
		height: 32px;
		padding: 4px 20px 4px 24px;
		font-size: 11px;
		line-height: 18px;
	}

	.sig-topbar-user__name {
		display: none;
	}

	.sig-topbar__nav-icons {
		gap: 2px;
	}

	.sig-apps-section--mobile,
	.sig-apps-section__title--mobile {
		display: block;
	}

	.sig-apps-dropdown {
		position: fixed;
		top: var(--sig-topbar-height);
		left: 8px;
		right: 8px;
		width: auto;
		max-width: none;
		margin-top: 0;
		max-height: calc(100vh - var(--sig-topbar-height) - 16px);
	}

	#div-cabecalho-busca {
		width: calc(100vw - 24px) !important;
		max-width: 300px;
	}

	#div-cabecalho-notificacao.sig-topbar-dropdown--open,
	#div-cabecalho-notificacao:not(.hide) {
		position: fixed;
		top: var(--sig-topbar-height);
		left: 8px;
		right: 8px;
		width: auto !important;
		max-width: none;
	}
}

@media (max-width: 1440px) and (min-width: 768px) {
	#area-cabecalho.sig-topbar {
		--sig-topbar-search-max-width: 360px;
	}

	.sig-topbar__menu-search {
		font-size: 12px;
		padding: 6px 26px 6px 28px;
	}

	.sig-topbar__nav-links .sig-topbar__nav-link > i {
		display: inline-block;
	}

	.sig-topbar__nav-links .sig-topbar__nav-link .sig-topbar__nav-label {
		display: none;
	}

	.sig-topbar__nav-links .sig-topbar__nav-link {
		padding: 0 7px;
	}

	.sig-topbar-user__name {
		max-width: 96px;
		font-size: 12px;
	}
}

@media (max-width: 1200px) and (min-width: 768px) {
	#area-cabecalho.sig-topbar {
		--sig-topbar-search-max-width: 280px;
	}

	.sig-topbar-user__name {
		max-width: 72px;
	}
}

.sig-apps-section__title {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sig-label-color, #868e96);
	padding: 4px 8px 8px;
}

.sig-apps-item--notificacao .sig-apps-item__icon {
	position: relative;
}

.sig-apps-item--notificacao .sig-topbar__badge {
	top: -2px;
	right: -4px;
}

/* --- Tema escuro --- */
#menu-topo-consumo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}

#menu-topo-notificacao {
	float: none !important;
}

body.sig-theme-dark {
	--sig-topbar-bg: var(--color-bg-body, #1a1a2e);
	--sig-topbar-text: var(--color-text-default, #e0e0e0);
	--sig-sidebar-scrollbar-thumb: rgba(255, 255, 255, 0.2);
	--sig-sidebar-scrollbar-thumb-hover: rgba(255, 255, 255, 0.34);
}

body.sig-theme-dark #area-cabecalho.sig-topbar {
	border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.sig-theme-dark .sig-topbar-dropdown,
body.sig-theme-dark .sig-apps-dropdown {
	background: var(--color-bg-body, #1a1a2e);
	border-color: rgba(255, 255, 255, 0.12);
	color: var(--color-text-default, #e0e0e0);
}

body.sig-theme-dark .sig-topbar-dropdown__header {
	background: rgba(255, 255, 255, 0.04);
	border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.sig-theme-dark .sig-notificacao-item__meta,
body.sig-theme-dark .sig-notificacao-empty {
	color: rgba(255, 255, 255, 0.55);
}

body.sig-theme-dark #div-cabecalho-notificacao div.item-notificacao:hover,
body.sig-theme-dark #div-notificacao div.item-notificacao:hover,
body.sig-theme-dark .sig-notificacao-item:hover {
	background: rgba(255, 255, 255, 0.06);
}

body.sig-theme-dark .sig-notificacao-divider {
	border-top-color: rgba(255, 255, 255, 0.08);
}

body.sig-theme-dark .sig-topbar__menu-search {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.15);
	color: var(--color-text-default, #e0e0e0);
}

body.sig-theme-dark ul.ui-autocomplete.sig-topbar-busca-ac .ui-menu-item a.ui-state-active {
	background: rgba(255, 255, 255, 0.12);
}

body.sig-theme-dark .sig-topbar__nav-icon:hover,
body.sig-theme-dark .sig-topbar__nav-icon.sig-topbar__nav-icon--active,
body.sig-theme-dark .sig-topbar-user:hover,
body.sig-theme-dark .sig-topbar-user.sig-topbar-user--active,
body.sig-theme-dark .sig-apps-btn:hover {
	background: rgba(255, 255, 255, 0.08);
}

body.sig-theme-dark .sig-topbar__nav-icon.sig-topbar__nav-icon--orange {
	color: #ff8c33;
}

body.sig-theme-dark .sig-topbar__nav-icon.sig-topbar__nav-icon--orange:hover,
body.sig-theme-dark .sig-topbar__nav-icon.sig-topbar__nav-icon--orange.sig-topbar__nav-icon--active {
	background: rgba(255, 140, 51, 0.18);
	color: #ff9f4d;
}

body.sig-theme-dark #area-cabecalho.sig-topbar .botao-menu-topo:hover,
body.sig-theme-dark #area-cabecalho.sig-topbar .botao-menu-topo-hover {
	background: rgba(255, 255, 255, 0.08) !important;
	color: var(--color-text-default, #e0e0e0) !important;
}

body.sig-theme-dark .sig-apps-item:hover,
body.sig-theme-dark .sig-apps-dropdown .botao-menu-topo-hover {
	background: rgba(255, 255, 255, 0.08) !important;
}

body.sig-theme-dark .sig-apps-btn {
	border: none;
	color: var(--color-text-default, #e0e0e0);
}

body.sig-theme-dark .sig-sidebar-toggle span {
	background: var(--color-text-default, #e0e0e0);
}

body.sig-theme-dark .sig-sidebar-toggle:hover {
	background: rgba(255, 255, 255, 0.08);
}

/* --- dialog-extra: modal estilo Bootstrap --- */
.ui-dialog:has(#dialog-extra) {
	border-radius: 0.5rem;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.175);
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	padding: 0;
	background: #ffffff;
}

.ui-dialog:has(#dialog-extra) .ui-dialog-titlebar {
	border-radius: 0.5rem 0.5rem 0 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.ui-dialog:has(#dialog-extra) .ui-dialog-buttonpane {
	border-radius: 0 0 0.5rem 0.5rem;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.ui-dialog:has(#dialog-extra) #dialog-extra.ui-dialog-content {
	padding: 0;
	overflow: hidden;
	border: none;
	background: #ffffff;
}

/* --- dialog-extra: lockscreen revalidacao --- */
.ui-dialog.sig-lockscreen-dialog {
	min-width: 460px;
}

.ui-dialog.sig-lockscreen-dialog .ui-dialog-content {
	padding: 0 !important;
	overflow: hidden !important;
}

.ui-dialog.sig-lockscreen-dialog #dialog-extra,
.ui-dialog.sig-lockscreen-dialog #iframe-extra {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 360px;
	border: 0;
}

@media (max-width: 767.98px) {
	.table-auto-width table.grid-NOWRAP th,
	.table-auto-width table.grid-NOWRAP td {
		white-space: normal !important;
	}

	.table-auto-width table.grid-NOWRAP th:not(:first-child),
	.table-auto-width table.grid-NOWRAP td:not(:first-child) {
		width: auto !important;
	}

	.table-auto-width table.grid-NOWRAP th:first-child,
	.table-auto-width table.grid-NOWRAP td:first-child {
		width: 30px !important;
		max-width: 30px !important;
		white-space: nowrap !important;
	}
}