/* -----------------------------------------
   Custom.css - put your own changes here 
----------------------------------------- */

﻿/* ------------------Put your custom code here--------------------*/

.control-label {
  font-weight: bold;
}
form .control-group:last-child {
  margin-bottom: 0;
}
form .control-group .controls-row {
  margin-bottom: 5px;
}
form .control-group .controls-row textarea {
  margin-bottom: 15px;
}
form .control-group .controls-row .btn.special {
  margin-left: 10px;
}

@media all and (max-width: 1550px) {
  .panel .panel-heading h4 {
  }
}

@media only screen and (max-width: 1280px) {
  /* ------------------ Form styles --------------------*/
  [class*="span6"] form .control-group .control-label {
    width: 100%;
    text-align: left;
    margin-bottom: 5px;
  }
  [class*="span6"] form .control-group .controls {
    margin-left: 0;
  }
  [class*="span6"] form .control-group {
    margin-bottom: 10px;
  }
  [class*="span6"] form .form-actions {
    padding-left: 20px;
  }
}

@media only screen and (max-width: 767px) {
  /* ------------------ Form styles--------------------*/
  form .control-group [class*="span"] {
    margin-bottom: 10px !important;
  }
  form .control-group .control-label {
    width: 100%;
    text-align: left;
    margin-bottom: 5px;
  }
  form .control-group .controls {
    margin-left: 0;
  }
  form .control-group {
    margin-bottom: 10px;
  }
  form .form-actions {
    padding-left: 20px;
  }
  form .control-group .controls-row [class*="span"] {
    margin-left: 0 !important;
  }
  form .control-group .controls-row .btn.special {
    margin-left: 0px;
  }
}

.fixed_options_footer,
.fixed_option_space,
.sortable_save,
.fixed_options_footer_perguntas,
.fixed_option_space_perguntas,
.sortable_save_perguntas,
.del-all {
  display: none;
}
.fixed_options_footer, .fixed_options_footer_perguntas {
  position: fixed;
  width: 100%;
  padding: 10px;
  bottom: 0;
  left: 0;
  background-color: #e0e0e0;
  background-image: linear-gradient(to bottom, #fafafa 0px, #dcdcdc 100%);
  border-top: 1px solid #c4c4c4;
  text-align: right;
  z-index: 100;
}

.fixed_options_footer,
.fixed_options_footer_perguntas,
.flex-main {
  margin-right: 50px;
}

.fixed_options_footer,
.fixed_options_footer_perguntas,
.flex-main .flex-div {
  margin-right: 20px;
  float: right;
}

.fixed_option_space {
  height: 50px;
}

img.maxwmaxh {
  max-width: 100%;
  max-height: 100%;
}

img.pad-radius-img {
  border: 1px solid #e3e2e2;
  border-radius: 2px;
  padding: 5px;
}

.dib {
  display: inline-block !important;
}

.w10 {
  width: 10px !important;
}
.w20 {
  width: 20px !important;
}
.w30 {
  width: 30px !important;
}
.w40 {
  width: 40px !important;
}
.w50 {
  width: 50px !important;
}
.w60 {
  width: 60px !important;
}
.w70 {
  width: 70px !important;
}
.w80 {
  width: 80px !important;
}
.w90 {
  width: 90px !important;
}
.w100 {
  width: 100px !important;
}
.w110 {
  width: 110px !important;
}
.w120 {
  width: 120px !important;
}
.w130 {
  width: 130px !important;
}
.w140 {
  width: 140px !important;
}
.w150 {
  width: 150px !important;
}
.w160 {
  width: 160px !important;
}
.w170 {
  width: 170px !important;
}
.w180 {
  width: 180px !important;
}
.w190 {
  width: 190px !important;
}
.w200 {
  width: 200px !important;
}

.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}

.pl0 {
  padding-left: 0 !important;
}
.pr0 {
  padding-right: 0 !important;
}

.tal {
  text-align: left !important;
}
.right {
  text-align: right !important;
}
.pointer {
  cursor: pointer;
}
.logo-login-custom {
  position: absolute;
  left: 50%;
  min-width: 200px;
  max-width: 200px;
  margin-left: -100px;
}
.slogan-custom {
  display: inline-block;
  margin-top: 8px;
}
.logo-custom {
  margin-top: 2px;
}
#header.shrink .logo-custom {
  margin-top: 0px;
  max-height: 45px;
}
.legendLabel {
  padding-left: 3px;
}
.box-header-date {
  position: absolute;
  bottom: 10px;
  right: 50px;
  width: 120px;
  border: 1px solid #dcdcdc;
  color: #475569;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 12px;
  border-radius: 3px;
  background: #fff;
  padding: 5px 7px;
  
  /* line-height: 15px !important; */
  /* top: 0px; */
  /* margin-top: 6px; */
  /* color: black; */
  /* font: 12px verdana, arial, sans-serif; */
  /* border: 1px solid #ccc; */
  /* padding: 3px; */
}

.box-header-date.select {
  margin-right: 279px;
  width:160px;
  background: white;
  /* width: 109px;
  height: 23px; */
}
.box-header-date.select_tipo {
  margin-right: 460px;
  background: white;
  width:160px;

  /* width: 109px;
  
  height: 23px; */
}
.box-header-date.select_categoria {
  margin-right: 640px;
  background: white;
  width:180px;

  /* width: 109px;
  
  height: 23px; */
}
.box-header-date.de {
  margin-right: 140px;
  /* width: 120px; */
}
.box-header-date.ate {
  /* width: 120px; */
}
.files {
  padding: 2.7px;
}

.box-header-time {
  position: absolute;
  bottom: 10px;
  right: 50px;
  width: 120px;
  border: 1px solid #dcdcdc;
  color: #475569;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 12px;
  border-radius: 3px;
  background: #fff;
  padding: 5px 7px;
  line-height: 10px !important;

  /* top: 0px; */
  /* margin-top: 6px; */
  /* color: black; */
  /* font: 12px verdana, arial, sans-serif; */
  /* border: 1px solid #ccc; */
  /* padding: 3px; */
}

@media(max-width: 850px) {
  .box-header-date {
    display: none;
  }
}

@media all and (max-width: 680px) {
  /* .box-header-date.select {
    margin-right: 186px;
    width: 85px;
  }
  .box-header-date.de {
    margin-right: 100px;
    width: 80px;
  }
  .box-header-date.ate {
    width: 80px;
  } */

  /* .box-header-date {
    display: none;
  } */

  /* .select-all {
    position: absolute;
    margin-right: -70px;
    margin-top: 35px;
  } */
  .select-general {
    position: absolute;
    margin-right: -240px;
    margin-top: 65px;
  }
  .input-sm {
    margin-top: 15px;
  }
  .panel-body {
    padding-top: 30px;
  }
  .files {
    width: 150px;
    padding: 2.5px;
  }
}
/* @media all and (max-width: 620px) {
  .box-header-date {
    display: none;
  }
} */
.box-header-date::-webkit-input-placeholder {
  color: grey;
  font: 12px verdana, arial, sans-serif;
}

.box-header-date:-moz-placeholder {
  color: grey;
  font: 12px verdana, arial, sans-serif;
}

.box-header-date::-moz-placeholder {
  color: grey;
  font: 12px verdana, arial, sans-serif;
}

.box-header-date:-ms-input-placeholder {
  color: grey;
  font: 12px verdana, arial, sans-serif;
}
@media all and (max-width: 1600px) {
  .box-header-date.de.min {
    margin-right: 100px;
    width: 80px;
  }
  .box-header-date.ate.min {
    width: 80px;
  }
}
@media all and (max-width: 1400px) {
  .box-header-date.de.min {
    margin-right: 70px;
    width: 60px;
  }
  .box-header-date.ate.min {
    width: 60px;
  }
}
@media all and (max-width: 1200px) {
  .box-header-date.de.min {
    margin-right: 100px;
    width: 80px;
  }
  .box-header-date.ate.min {
    width: 80px;
  }
}
.center {
  text-align: center !important;
}
.noStyleInputCheckbox {
  position: relative;
  top: 3px;
  display: inline-table;
  margin-left: 4px;
}
th label {
  top: -3px;
}
td.noStyleInputCheckbox {
  top: 0;
}
.esta_funcao_txt {
  font-weight: normal;
}
.select-all {
  cursor: pointer;
  position: absolute;
  right: 0;
  z-index: 1;
  /*right: 80px;
  bottom: 10px; */
  /* top: 3px; */
  /* display: block;
  background: #fff;
  cursor: pointer;
  border-radius: 5px;
  padding: 0 15px;
  border: 1px solid #dcdcdc;
  font-family: Arial, Helvetica, sans-serif;
  color: #475569;
  font-weight: 500;
  font-size: 11px;
  height: 100%;
  line-height: 19px; */
}
.select-general {
  top: 3px;
  cursor: pointer;
  position: absolute;
  right: 250px;
  z-index: 1;
}
.panel-heading {
  text-align: left;
}
.table th label {
  margin: 0 0 0 -4px;
}
form .image {
  padding: 5px;
  border: 1px solid #c4c4c4;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
}
td .image {
  padding: 5px;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
}
label.fileupload {
  font-weight: normal;
}
label.fileupload input {
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
}

/* Dual Multiselect
----------------------------------*/
.leftBox {
  float: left;
  width: 44%;
  margin-left: 2%;
}
.rightBox {
  float: right;
  width: 44%;
  margin-right: 2%;
}
.dualBtn {
  text-align: center;
  width: 100px;
  margin: 160px 1px;
  position: absolute;
  left: 50%;
  margin-left: -55px;
}
.dualBtn .btn span {
  margin-right: 0;
}
.searchField {
  max-width: 60%;
  margin: 0 5px 0 5px;
  float: left;
  background: url(../images/search.png) no-repeat 95% center;
}
.searchBox {
  margin: 0px 0 22px 0;
  position: relative;
  width: 100%;
}
.searchBox > span {
  float: left;
  display: block;
  margin-top: 8px;
}
.searchBox button {
  margin-left: 5px;
}
.count {
  margin-top: 10px;
  display: block;
  float: left;
}
#box1Clear span,
#box2Clear span,
#box3Clear span,
#box4Clear span {
  display: inline-block;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 5px;
  height: 12px;
}
.slider {
  margin-top: 12px;
}

.pbar .ui-progressbar-value {
  display: block !important;
}
.pbar {
  overflow: hidden;
}
.percent1 {
  position: relative;
  float: left;
}
.elapsed {
  position: relative;
  float: right;
}

/* Gallery view
----------------------------------*/
.galleryView > li img {
  border: 1px solid #e3e2e2;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  padding: 5px;
}
.galleryView > li img:hover {
  border: 1px solid #88bbc8;
  -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
}

.galleryView > li .actionBtn {
  position: absolute;
  bottom: 10px;
  width: 100%;
}
.galleryView > li .actionBtn a {
  padding: 3px;
  background: #000;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  width: 23px;
  display: inline-block;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.galleryView > li .actionBtn a span {
  margin-left: 0;
  margin-right: 0;
}
.galleryView > li .actionBtn a:first-child {
  float: left;
  margin-left: 10px;
}
.galleryView > li .actionBtn a:last-child {
  float: right;
  margin-right: 10px;
}

.galleryView > li .actionBtnPlantas {
  position: absolute;
  bottom: 10px;
  width: 100%;
}
.galleryView > li .actionBtnPlantas a {
  padding: 3px;
  background: #000;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  width: 23px;
  display: inline-block;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.galleryView > li .actionBtnPlantas a span {
  margin-left: 0;
  margin-right: 0;
}
.galleryView > li .actionBtnPlantas a:first-child {
  float: left;
  margin-left: 10px;
}
.galleryView > li .actionBtnPlantas a:last-child {
  float: right;
  margin-right: 10px;
}

.panel-body.box-header-forms {
  border-style: none;
  border: none;
  background: transparent;
}

.panel-body.box-header-forms input,
.panel-body.box-header-forms select,
.panel-body.box-header-forms button {
  margin: 5px 0;
}

.form-control-custom {
  padding: 5px 10px;
  border: 1px solid #ccc;
}
.table th,
.table td {
  text-align: center;
}
.form-group img {
  max-width: 100%;
}

/*loader*/
#qLoverlay {
  visibility: visible;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 666999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../images/patterns/2.png) repeat;
}
#qLbar {
  visibility: visible;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -80px;
  margin-left: -40px;
  background: url(../images/loader.gif) no-repeat;
  z-index: 667999;
}

.qLoverlayText {
  visibility: visible;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -80px;
  margin-left: -40px;
  background: url(../images/loader.gif) no-repeat;
  z-index: 667999;
}

.options-listas ul {
  position: absolute;
  margin-top: -300px;
  right: 150px;
  bottom: 46px;
}

.listas-options li {
  text-align: left;
  list-style: none;
}

.listas-options-nomes {
  min-width: 300px;
  min-height: 34px;
  cursor: pointer;
}

.listas-options {
  list-style-type: none;
  border: 1px solid #ccc;
  padding: 5px;
  position: relative;
  z-index: 2002;
  display: block;
  background-color: #fff;
  min-height: 300px;
  max-height: 300px;
  overflow: auto;
  overflow-x: hidden;
  min-width: 300px;
}

.listas-options label {
  cursor: pointer;
}

.options-segmentacoes ul {
  position: absolute;
  margin-top: -300px;
}

.segmentacoes-options li {
  text-align: left;
  list-style: none;
}

.segmentacoes-options-nomes {
  min-width: 300px;
  min-height: 34px;
  cursor: pointer;
}

.segmentacoes-options {
  list-style-type: none;
  border: 1px solid #ccc;
  padding: 5px;
  position: relative;
  z-index: 2002;
  display: block;
  background-color: #fff;
  min-height: 300px;
  max-height: 300px;
  overflow: auto;
  overflow-x: hidden;
  min-width: 300px;
}

.segmentacoes-options label {
  cursor: pointer;
}

.alert.alert-default {
  background-color: #e8e8e8;
  background-image: linear-gradient(to bottom, #ffffff 0%, #f3f3f3 100%);
  font-weight: 600;
}

.custom-info {
  letter-spacing: 0.1em;
  color: #737373;
  margin: 5px 0;
}

.previewshipping.ok {
  font-size: 18px;
  font-weight: 700;
  color: #080;
}

.previewshipping.zero {
  font-size: 18px;
  font-weight: 700;
  color: #d14;
}

/*
multi campos emails, telefones, etc...
*/

.input-group {
  margin-bottom: 10px;
}
.inputs_add_rm {
  height: 40px;
}

.no-border-right {
  border-right: none;
}

#contatos .box_input .inline-block {
  display: inline-block !important;
  width: calc(20% - 3px);
}

/* @media all and (max-width: 767px) {
  .input-group {
    margin-bottom: 10px;
  }
  .inputs_add_rm {
    height: 40px;
  }

  .box_input {
    padding-bottom: 10px;
  }

  .no-border-right {
    border-right: solid 1px #ccc;
  }

  .input-group {
    display: block;
    position: relative;
    width: 100%;
  }

  .input-group-addon {
    border: 1px solicd #ccc;
    position: relative;
    display: inline-table;
  }

  .input-group-addon label {
    border: 1px solicd #ccc;
  }

  #contatos .box_input .inline-block {
    display: block !important;
    width: inherit;
  }

  #contatos .box_input .inline-block input {
    margin-bottom: 10px;
  }
} */

.modal-person .modal-body {
  min-height: 120px;
}

.ponto-verde {
  font-weight: bold;
  color: #008000;
}

.ponto-vermelho {
  font-weight: bold;
  color: #f42f08;
}

/*
* FINANCEIRO
*/
#filtro button {
  width: 100%;
  margin-bottom: 10px;
}
.financeiro-contas,
.financeiro-categorias,
.financeiro-centrocustos {
  position: relative;
}
.financeiro-contas ul,
.financeiro-categorias ul,
.financeiro-centrocustos ul {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #ccc;
  list-style: none;
  padding: 0;
  margin: 0;
}

.financeiro-contas ul li label,
.financeiro-categorias ul li label,
.financeiro-centrocustos ul li label {
  /* font-weight: normal; */
}

.financeiro-categorias input:first-child,
.financeiro-contas input:first-child,
.financeiro-centrocustos input:first-child {
  text-align: left;
  color: #000;
}

.btn-dre-close {
  position: absolute;
  right: 17px;
  cursor: pointer;
}

.css-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("../images/select_arrow.gif");
  background-repeat: no-repeat;
  background-position: center right 10px;
  cursor: pointer;
  font-size: 12px;
}
select.css-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("../images/select_arrow.gif");
  background-repeat: no-repeat;
  background-position: center right 10px;
  cursor: pointer;
  font-size: 12px;
  height: 32px;
  line-height: 32px;
  padding: 0;
  margin: 0;
  padding-left: 10px;
  outline: hidden;
}
#filtro {
  min-width: 300px;
}
#filtro div {
  background-color: rgba(250, 250, 250, 0.5);
}
#filtro .form-control {
  margin-top: 20px;
}
#filtro .filtro-label {
  /* font-weight: normal; */
}

#filtro .form-wall {
  margin-top: 20px;
  border: 1px solid #ccc;
  padding: 4px 4px 4px 4px;
}

.box-flex {
  display: flex;
}
.box-flex .tabelas {
  width: 80%;
  margin-left: 15px;
}
.box-flex #filtro {
  width: 20%;
  margin-left: 20px;
  margin-right: 15px;
}

@media (max-width: 1222px) {
  .box-flex {
    display: inherit;
  }
  .box-flex .tabelas {
    width: auto;
    margin-left: 15px;

    margin-right: 15px;
  }
  .box-flex #filtro {
    width: auto;
    margin-left: 15px;
    margin-right: 15px;
  }
}

/* relatório financeiro */
.fresult {
  opacity: 0.25;
}

.fluxocaixa tr {
  border: 2px solid #fff;
  background-color: rgba(236, 240, 241, 1);
}
.fluxocaixa tr:hover {
  background-color: rgba(236, 240, 241, 0.5);
  cursor: default;
}
.fluxocaixa th {
  border: 2px solid #fff;
  height: 42px;
  line-height: 42px;
  text-align: center;
  font-weight: normal;
}
.fluxocaixa td {
  border: 2px solid #fff;
  height: 52px;
  line-height: 52px;
  vertical-align: middle;
  text-align: center;
  white-space: nowrap;
  padding-left: 5px;
  padding-right: 5px;
}
.body-fluxo .tal {
  background-color: rgba(102, 153, 204, 1);
  color: #fff;
  padding-left: 10px;
  padding-right: 10px;
}
.head-fluxo th {
  background-color: rgba(48, 84, 150, 1);
  color: #fff;
}
.body-fluxo td.red {
  background-color: rgba(255, 199, 206, 0.5);
  color: red;
}
.body-fluxo td.green {
  background-color: rgba(198, 239, 206, 0.5);
  color: green;
}
#fluxo-ano {
  width: 95px;
  height: 28px;
  text-align: center;
}
#regime-competencia {
  display: block;
  position: absolute;
  right: 20px;
  cursor: pointer;
  z-index: 9;
  margin-top: 2px;
}
.fluxo-touchspin.input-group.bootstrap-touchspin {
  top: 5px;
  left: 200px;
  position: absolute;
  width: 120px;
  heigth: 28px;
}
#tabela-fluxo-caixa .input-group-btn .bootstrap-touchspin-up,
#tabela-fluxo-caixa .input-group-btn .bootstrap-touchspin-down {
  heigth: 14px;
  line-height: 14px;
}
.selectempresas {
  height: 36px;
  border: 1px solid #ccc;
  min-width: 150px;
  padding: 0 5px 0 5px;
}

.selectempresas option {
  padding: 0 5px 0 5px;
}

.dre-box li {
  display: flex;
}
.dre-box li div:first-child {
  min-width: 250px;
  text-transform: uppercase;
}
.dre-box li div.v {
  min-width: inherit;
}

#getDRE {
  margin-right: -35px;
  height: 24px;
  width: 22px;
}

.dre-periodo {
  background-color: #f3f3f3;
}
@media (max-width: 1400px) {
  .fluxocaixa {
    margin-left: 114px;
  }
  .fluxocaixa .colleftfirst:first-child {
    height: 52px;
    line-height: 52px;
    width: 120px;
  }
  .fluxocaixa .colleftfirst {
    position: absolute;
    left: 0;
    width: 120px;
    vertical-align: middle;
    margin-top: -2px;
    display: block;
    padding-bottom: 70px;
  }
  .fluxocaixa .colleftfirst.last {
    padding-bottom: 52px;
  }
}
@media (max-width: 700px) {
  #regime-competencia {
    display: block;
    position: absolute;
    right: 20px;
    cursor: pointer;
    z-index: 9;
    right: 0;
  }
}

@media (max-width: 490px) {
  .fluxo-touchspin.input-group.bootstrap-touchspin {
    top: 5px;
    left: inherit;
    position: relative;
  }
  #regime-competencia {
    display: none;
  }
}

.popup-ponto-eletronico button.cancel {
  background-color: #c12e2a !important;
}

.popup-ponto-eletronico .ponto-obter-relatorio {
  margin-top: -10px;
  margin-bottom: 20px;
}

@media screen and (min-width: 1240px) {
  #content.ponto-eletronico tr:not(:last-child) td:not(:first-child) div {
    transform: translateY(50%);
  }
}

.vert-filter-ajust {
  margin: 6px 0;
  float: right;
  clear: both;
}

.avatar-wrap {
    display: inline-block;
    width: 43px;
    height: 43px;
    vertical-align: middle;
    padding: 5px !important;
}

.avatar-default {
  display: inline-block;
  width: 100%;
  height: 100%;
  background-size: cover;
}

.table-responsive {
  width: 100% !important;
}

.note-editor .btn-group{
  width: inherit;
}

div.dn{
  display:none;
}

.full-width{
  width: 100% !important;
}

/* =============================================================
   ILEVA — Dashboard Components
   Sistema de cards, gráficos e utilitários de identidade visual
   Paleta: Eventos #1B8FEF | Gestão #AB11D1 | Associado #00FFE6
           Consultoria #FF9D00 | Benefícios #FFCE00
   ============================================================= */

/* -------------------------------------------------------------
   Overrides globais de dashboard
   ------------------------------------------------------------- */
button.filtro { margin-right: 50px !important; }
/* .panel .panel-heading .panel-controls-right { top: unset !important; } */
.container_filters_graph { padding: unset !important; }

/* Highcharts — normalização de texto nos eixos */
.highcharts-axis text,
.highcharts-no-tooltip text,
.highcharts-axis-labels text,
.highcharts-drilldown-axis-label text,
.highcharts-drilldown-data-label text {
  font-weight: bold !important;
  font-size: 1em !important;
  text-decoration: none !important;
  color: black !important;
  fill: black !important;
}

/* -------------------------------------------------------------
   cop-card — sistema de cards de resumo/KPI
   ------------------------------------------------------------- */
.cop-cards { display: flex; flex-wrap: wrap; gap: 10px; padding: 4px 0 16px; }
.cop-cards .cop-card { flex: 1 0 calc(25% - 8px); min-width: 200px; }
.cop-cards-stretch .cop-card { flex: 1 1 0; min-width: 200px; }
.cop-cards-3col .cop-card { flex: 1 0 calc(33.333% - 7px); min-width: 200px; }
.cop-cards-5col .cop-card { flex: 1 0 calc(20% - 8px); min-width: 170px; }
.cop-cards-section-title {
    font-size: 12px; font-weight: 600; color: #64748B;
    margin-bottom: 8px; text-transform: uppercase; letter-spacing: .05em;
}

.cop-card {
  border: 1px solid #e8e8e8;
  border-left: 5px solid #ccc;
  border-radius: 6px;
  background: #fff;
  padding: 12px 14px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: box-shadow .15s;
  display: flex;
  flex-direction: column;
}
.cop-card:hover { box-shadow: 0 3px 10px rgba(0,0,0,0.12); }
.cop-card .freq-card-body { margin-top: auto; }
.cop-card .cop-card-badges { margin-top: auto; }

.cop-card-header {
  font-weight: 700;
  font-size: 13px;
  color: #444;
  margin-bottom: 10px;
  padding-bottom: 7px;
  border-bottom: 1px solid #f0f0f0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 2.4em;
}
.cop-card-header--truncate {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    -webkit-line-clamp: unset; display: block; min-height: auto;
}
.cop-card-header a { color: inherit; text-decoration: none; }
.cop-card-header a:hover { text-decoration: underline; }

.cop-card-link { display: block; text-decoration: none; color: inherit; }
.cop-card-link:hover { text-decoration: none; }
.cop-card-link.cop-card { display: flex; }

.cop-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}

/* cop-card — modificadores de cor (ILEVA identity) */
.cop-card--eventos  { border-left-color: #1B8FEF; }
.cop-card--purple   { border-left-color: #622773; }
.cop-card--green    { border-left-color: #10B981; }
.cop-card--violet   { border-left-color: #8B5CF6; }
.cop-card--rose     { border-left-color: #F43F5E; }
.cop-card--orange   { border-left-color: #FF9D00; }
.cop-card--gold     { border-left-color: #FFCE00; }
.cop-card--muted    { border-left-color: #A192A6; }
.cop-card--warning  { border-left-color: #e67e22; }
.cop-card--success  { border-left-color: #27ae60; }

/* -------------------------------------------------------------
   freq-card — métricas dentro dos cop-cards
   ------------------------------------------------------------- */
.freq-card-body { display: flex; align-items: center; gap: 0; }
.freq-card-metric { flex: 1; text-align: center; }
.freq-card-val {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #333;
  line-height: 1.2;
}
.freq-card-lbl {
  display: block;
  font-size: 10px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-top: 3px;
}
.freq-card-sep { width: 1px; background: #efefef; align-self: stretch; margin: 0 5px; }

/* freq-card-val — modificadores de cor */
.freq-val--eventos  { color: #1B8FEF; }
.freq-val--purple   { color: #622773; }
.freq-val--green    { color: #10B981; }
.freq-val--violet   { color: #8B5CF6; }
.freq-val--rose     { color: #F43F5E; }
.freq-val--orange   { color: #FF9D00; }
.freq-val--muted    { color: #A192A6; }
.freq-val--warning  { color: #e67e22; }
.freq-val--success  { color: #27ae60; }

/* -------------------------------------------------------------
   freq-estado-card — cards de frequência por estado/região
   ------------------------------------------------------------- */
.freq-card-filtro-hint { font-size: 11px; color: #aaa; margin: 0 0 10px; }
.freq-estados-cards { display: flex; flex-wrap: wrap; gap: 10px; padding: 4px 0; }

.freq-estado-card {
  flex: 1 1 calc(25% - 8px);
  max-width: calc(33.333% - 7px);
  border: 1px solid #e8e8e8;
  border-left: 5px solid #ccc;
  border-radius: 6px;
  background: #fff;
  padding: 12px 14px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: box-shadow .15s;
}
.freq-estado-card:hover { box-shadow: 0 3px 10px rgba(0,0,0,0.12); }
.freq-estado-card.freq-baixa { border-left-color: #27ae60; }
.freq-estado-card.freq-media { border-left-color: #f39c12; }
.freq-estado-card.freq-alta  { border-left-color: #e74c3c; }

.freq-card-header {
  font-weight: 700;
  font-size: 13px;
  color: #444;
  margin-bottom: 10px;
  padding-bottom: 7px;
  border-bottom: 1px solid #f0f0f0;
}
.freq-pct.freq-baixa { color: #27ae60; }
.freq-pct.freq-media { color: #e67e22; }
.freq-pct.freq-alta  { color: #e74c3c; }

@media (max-width: 1199px) {
  .cop-cards .cop-card { flex: 1 0 calc(33.333% - 7px); min-width: 200px; }
  .cop-cards-5col .cop-card { flex: 1 0 calc(33.333% - 7px); min-width: 170px; }
  .freq-estado-card    { flex: 1 0 calc(33.333% - 7px); min-width: 200px; }
}
@media (max-width: 767px) {
  .cop-cards .cop-card { flex: 1 0 calc(50% - 5px); min-width: 150px; }
  .cop-cards-3col .cop-card { flex: 1 0 calc(50% - 5px); min-width: 150px; }
  .cop-cards-5col .cop-card { flex: 1 0 calc(50% - 5px); min-width: 150px; }
  .cop-cards-stretch .cop-card { flex: 1 0 calc(50% - 5px); min-width: 150px; }
  .freq-estado-card    { flex: 1 0 calc(50% - 5px); min-width: 150px; }
}
@media (max-width: 480px) {
  .cop-cards .cop-card { flex: 0 0 100%; min-width: 0; }
  .cop-cards-3col .cop-card { flex: 0 0 100%; min-width: 0; }
  .cop-cards-5col .cop-card { flex: 0 0 100%; min-width: 0; }
  .cop-cards-stretch .cop-card { flex: 0 0 100%; min-width: 0; }
  .freq-estado-card    { flex: 0 0 100%; min-width: 0; }
}

/* row-cards — substitui inline flex em .row de cards/gráficos */
.row-cards { display: flex; flex-wrap: wrap; align-items: stretch; }
@media (max-width: 767px) { .row-cards { display: block; } }

/* assoc-badge — tags de tipo Associado / Terceiro */
.assoc-badge { font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 10px; white-space: nowrap; }
.assoc-color  { background: #ccfaf7; color: #007a70; }

/* ==========================================================
   HEADER MODERNIZADO — ileva 2026
   Sobrescrita de main.css — não alterar main.css diretamente
   ========================================================== */

/* --- Barra principal ----------------------------------------
   Altura sincronizada com sidebar-adm padding-top: 63px
   ------------------------------------------------------------ */
#header .navbar {
  background-color: #ffffff;
  padding: 0 20px;
  border-bottom: 1px solid #f0f2f5;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
  min-height: 73px;
}

/* Sidebar: alinha topo do conteúdo com o bottom do header */
#sidebar.sidebar-adm {
  padding-top: 63px !important;
}

/* --- Logo ---------------------------------------------------- *
   min-width: 166px → 166 + 16px padding-right + 8px margin = 190px
   + hamburger li (~60px) = 250px = sidebar width
   Pill alinha com a borda esquerda da área de conteúdo.
 * ------------------------------------------------------------ */
#header .navbar .navbar-brand {
  height: 63px;
  line-height: normal;
  padding: 0 16px 0 16px;
  margin-right: 8px;
  min-width: 166px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.logo-custom {
  height: 42px;
  display: block;
}

/* --- Nav items — remove estilo caixa cinza ----------------- */
#header .navbar .nav > li > a {
  background: transparent;
  background-image: none !important;
  border: none;
  border-radius: 8px;
  box-shadow: none;
  text-shadow: none;
  filter: none !important;
  color: #4b5563;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 12px;
  line-height: 20px;
  transition: background 0.18s ease, color 0.18s ease;
}
#header .navbar .nav > li > a:hover {
  background: #f3f4f6;
  background-image: none !important;
  filter: none !important;
  color: #111827;
  border-color: transparent;
  box-shadow: none;
  text-decoration: none;
}

/* --- Item ativo — pílula roxo brand ------------------------- */
#header .navbar .nav > li.active > a,
#header .navbar .nav > li.active > a:hover {
  background: #f3eef5 !important;
  background-image: none !important;
  filter: none !important;
  color: #4A1259 !important;
  font-weight: 600;
  border-radius: 8px;
  box-shadow: none;
}
#header .navbar .nav > li.active > a span.s16,
#header .navbar .nav > li.active > a i {
  color: #4A1259 !important;
}
/* Remove a seta/triangulo do item ativo */
#header .navbar .nav > li.active > a:after {
  display: none;
}

/* --- Avatar circular --------------------------------------- */
#header .navbar .nav > li > a.avatar .image {
  border-radius: 50%;
  width: 30px;
  height: 30px;
  top: 4px;
  left: 5px;
  object-fit: cover;
  border: 2px solid #e5e7eb;
}
#header .navbar .nav > li > a.avatar {
  padding-left: 42px;
  display: flex;
  align-items: center;
}

/* --- Notificação badge — azul brand ----------------------- */
#header .navbar .nav > li > a[style*="background-color: #428bca"],
#header .navbar .nav > li > a[style*="background-color:#428bca"] {
  background-color: #1B8FEF !important;
  border-color: #1B8FEF !important;
  border-radius: 8px !important;
  color: #fff !important;
}
#header .navbar .nav > li > a .notification {
  background: #F43F5E;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 5px;
  top: -2px;
  right: -6px;
}

/* --- Loader bar — azul brand ------------------------------ */
.loader .bar {
  background-color: #1B8FEF;
}

/* --- Separador visual leve entre nav e user nav ----------- */
#header .navbar .usernav {
  border-left: 1px solid #f0f2f5;
  padding-left: 10px;
  margin-left: 4px;
}

/* --- Dropdown menus — cantos arredondados modernos -------- */
#header .navbar .nav > li.dropdown .dropdown-menu {
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.10);
  padding: 6px;
  margin-top: 6px;
}
#header .navbar .nav > li.dropdown .dropdown-menu:before,
#header .navbar .nav > li.dropdown .dropdown-menu:after {
  display: none;
}
#header .navbar .nav > li.dropdown .dropdown-menu li.menu ul li a {
  border-radius: 6px;
  font-size: 13px;
  color: #374151;
  padding: 7px 10px;
}
#header .navbar .nav > li.dropdown .dropdown-menu li.menu ul li a:hover {
  background: #f3f4f6;
  color: #1B8FEF;
}
#header .navbar .nav > li.dropdown .dropdown-menu .view-all a {
  border-radius: 6px;
  font-size: 12px;
  color: #1B8FEF;
}

/* --- User popup: largura mínima --------------------------- */
#header .navbar .nav > li.dropdown .dropdown-menu.user-popup-menu {
  min-width: 220px;
}

/* --- User popup: cabeçalho com avatar e nome -------------- */
#header .navbar .nav > li.dropdown .dropdown-menu li.user-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px 8px;
  cursor: default;
}
.user-popup-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #e5e7eb;
  flex-shrink: 0;
}
.user-popup-info strong {
  display: block;
  font-size: 13px;
  color: #111827;
  font-weight: 600;
  line-height: 1.3;
}
.user-popup-info span {
  font-size: 11px;
  color: #6b7280;
}

/* --- User popup: divisor ---------------------------------- */
#header .navbar .nav > li.dropdown .dropdown-menu li.user-popup-divider {
  height: 1px;
  background: #f0f2f5;
  margin: 2px 0 4px;
  padding: 0;
}

/* --- User popup: alinhamento de ícones FA nos itens ------- */
#header .navbar .nav > li.dropdown .dropdown-menu li.menu ul li a i {
  width: 24px;
  text-align: center;
  font-size: 13px;
  color: #6b7280;
  flex-shrink: 0;
}
#header .navbar .nav > li.dropdown .dropdown-menu li.menu ul li a {
  display: flex;
  align-items: center;
  gap: 8px;
}
#header .navbar .nav > li.dropdown .dropdown-menu li.menu ul li a:hover i {
  color: #1B8FEF;
}

.terc-color   { background: #FFF3E0; color: #B35900; }

/* ==========================================================
   SIDEBAR MODERNIZADA — ileva 2026
   Sobrescrita de main.css — não alterar main.css diretamente
   ========================================================== */

/* --- Sidebar: borda direita e fundo limpo ------------------ */
#sidebar {
  border-right: 1px solid #f0f2f5;
}


/* --- Ícones dos itens do menu: FA6 + legado padronizados ---- */
#sidebar .sidenav .mainnav ul li > a > i:not(.item-drop):not(.hasDrop):not(.select-interno-icon) {
  font-size: 14px !important;
  width: 24px;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  flex-shrink: 0;
}
/* Sub-item select-interno icons */
#sidebar .sidenav .mainnav ul li a i.select-interno-icon {
  font-size: 13px !important;
  width: 20px;
  text-align: center;
  display: inline-block;
}

/* --- Item ativo — tint escuro ileva ------------------------ */
#sidebar .sidenav .mainnav ul li a.active:not(#sidebar .sidenav .mainnav ul.sub li a.active) {
  background: #f3eaf6 !important;
  color: #4A1259 !important;
}
#sidebar .sidenav .mainnav ul li a.active:not(#sidebar .sidenav .mainnav ul.sub li a.active) i {
  color: #4A1259 !important;
}

/* --- Expand (dropdown aberto) — tint escuro leve ----------- */
#sidebar .sidenav .mainnav ul li a.expand {
  background: #f3eaf6;
  color: #4A1259;
}
#sidebar .sidenav .mainnav ul li a.expand i {
  color: #4A1259;
}
#sidebar .sidenav .mainnav ul li a.expand .hasDrop {
  color: #4A1259;
}

/* --- Hover: flat, sem filtros IE --------------------------- */
#sidebar .sidenav .mainnav ul li a:hover {
  background: #f3f4f6;
  filter: none !important;
  color: #111827;
}
#sidebar .sidenav .mainnav ul li a:hover i {
  color: #374151;
}

/* --- Sub-menu: fundo levemente destacado ------------------- */
#sidebar .sidenav .mainnav ul li .sub {
  background: transparent;
  filter: none !important;
}

/* --- Sub-item bullet — inativo ----------------------------- */
#sidebar .sidenav .mainnav ul li .sub li a i.item-drop {
  background: #fff;
  border: 1.5px solid #4A1259;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  margin: 0 12px 0 22px;
  display: inline-block;
}

/* --- Sub-item bullet — ativo ------------------------------- */
#sidebar .sidenav .mainnav ul li .sub li a.active i.item-drop {
  background: #4A1259;
  border-color: #4A1259;
  box-shadow: 0 0 0 3px rgba(74, 18, 89, 0.25);
}

/* --- Sub-item texto ativo ---------------------------------- */
#sidebar .sidenav .mainnav ul li .sub li a.active {
  color: #4A1259 !important;
  font-weight: 600;
}

/* --- Sub-item hover ---------------------------------------- */
#sidebar .sidenav .mainnav ul li .sub li a:hover {
  background: #f3f4f6;
  filter: none !important;
  border-top: none !important;
  border-bottom: none !important;
}
#sidebar .sidenav .mainnav ul li .sub li a:hover i.item-drop {
  border-color: #4A1259;
}

/* --- Sub-item multi-linha: sobrescreve height fixo --------- */
#sidebar .mainnav ul.sub .multi-line a {
  height: auto !important;
  min-height: 35px;
  padding-top: 6px;
  padding-bottom: 6px;
}
#sidebar .mainnav ul.sub .multi-line a i.item-drop {
  align-self: flex-start;
  margin-top: 2px !important;
}

/* ==========================================================
   BADGES / NOTIFICAÇÕES — sidebar modernizado
   ========================================================== */

/* Badge base: pill moderno */
#sidebar .sidenav .mainnav ul li a .notification {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 11px;
  font-weight: 700;
  border-radius: 20px;
  padding: 2px 8px;
  line-height: 18px;
  min-width: 22px;
  text-align: center;
  box-shadow: none;
  top: 13px;
  right: 28px;
}
#sidebar .sidenav .mainnav ul li > ul > li > a .notification {
  top: 8px;
  right: 20px;
}

/* Azul → roxo brand */
.notification.blue {
  background: #4A1259 !important;
  color: #fff !important;
  border-radius: 20px;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 11px;
  box-shadow: none;
}

/* Amarelo → âmbar moderno */
.notification.yellow {
  background: #F59E0B !important;
  color: #fff !important;
  border-radius: 20px;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 11px;
  box-shadow: none;
}

.sidenav .mainnav {
  height: auto !important;
}

.sidebar-widget .title {
  padding-top: 0;
  color: #333333 !important;
}

/* --- Search: espaçamento do topo e focus roxo -------------- */
#sidebar .sidenav {
  padding-top: 12px;
}
.sidebar-search-input:focus {
  border-color: #4A1259 !important;
  box-shadow: 0 0 0 3px rgba(74, 18, 89, 0.15) !important;
  background-color: #fff !important;
  outline: none;
}

/* --- Sidebar colapsado: item ativo e hover ----------------- */
#sidebar.collapse-sidebar .sidenav .mainnav ul li a.active:not(#sidebar.collapse-sidebar .sidenav .mainnav ul.sub li a.active) {
  background: #4A1259 !important;
  color: #fff !important;
}
#sidebar.collapse-sidebar .sidenav .mainnav ul li a.active i:not(#sidebar.collapse-sidebar .sidenav .mainnav ul.sub li a.active) {
  color: #fff !important;
}
#sidebar.collapse-sidebar .mainnav li.hover-li a {
  background: #4A1259 !important;
  filter: none !important;
  color: #fff !important;
}
#sidebar.collapse-sidebar .mainnav li.hover-li a.active {
  background: #3a0e47 !important;
  filter: none !important;
  color: #fff !important;
}
#sidebar.collapse-sidebar .mainnav li.hover-li a {
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
}
#sidebar.collapse-sidebar .mainnav li.hover-li a span.txt {
  padding-left: 8px !important;
}
#sidebar.collapse-sidebar .mainnav li.hover-li a i {
  float: none !important;
  display: inline-flex !important;
  margin-top: 0 !important;
  margin-left: 8px !important;
  flex-shrink: 0;
}
#sidebar.collapse-sidebar .mainnav li.hover-li a > i {
  color: #e2d4e8 !important;
}
#sidebar.collapse-sidebar .mainnav li.hover-li a.active > i {
  color: #fff !important;
}
#sidebar.collapse-sidebar .mainnav li.hover-li > ul.sub li,
#sidebar.collapse-sidebar .mainnav li.hover-li > ul.sub li a {
  background: #3a0e47 !important;
  color: #fff !important;
}
#sidebar.collapse-sidebar .mainnav li.hover-li > ul.sub li a:hover {
  background: #4A1259 !important;
  color: #fff !important;
}

/* --- Select de módulo no sidebar --------------------------- */
.sidebar-modulo-select {
  padding: 8px 14px;
  margin-bottom: 15px;
}
.sidebar-modulo-input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: none;
  border-radius: 4px;
  background: #4A1259;
  color: #fff;
  font-size: 12.9px;
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
/* .sidebar-modulo-input:hover {
  background: #5c1a6e;
  box-shadow: 0 2px 8px rgba(74, 18, 89, 0.25);
}
.sidebar-modulo-input:focus {
  background: #5c1a6e;
  box-shadow: 0 0 0 3px rgba(74, 18, 89, 0.2);
}
*/

.sidebar-modulo-input option {
  background: #fff;
  color: #4A1259;
  font-weight: 500;
}

/* -------------------------------------------------------------
   chart-loading-state / chart-no-data — estados de gráficos
   ------------------------------------------------------------- */
.chart-loading-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    gap: 14px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    margin: 8px 0;
}
.chart-loading-state::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.65) 50%, transparent 100%);
    background-size: 200% 100%;
    animation: dashShimmer 1.6s ease-in-out infinite;
}
@keyframes dashShimmer {
    0%   { background-position: -200% 0; }
    100% { background-position:  200% 0; }
}
.chart-loading-spinner {
    position: relative;
    z-index: 1;
    font-size: 30px;
    color: #1B8FEF;
}
.chart-loading-text {
    position: relative;
    z-index: 1;
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
    letter-spacing: 0.3px;
}
.chart-no-data {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    gap: 10px;
    color: #94a3b8;
    padding: 16px;
}
.chart-no-data > i {
    font-size: 32px;
    color: #cbd5e1;
}
.chart-no-data > p {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
}

/* loading overlay — sobreposição translúcida para recarregamento sem perder layout */
.chart-loading-overlay-container { position: relative; }
.chart-loading-overlay {
    position: absolute; inset: 0; z-index: 10;
    background: rgba(255,255,255,0.85);
    display: flex; align-items: center; justify-content: center;
}