/**********************************************************
RESET
**********************************************************/

@font-face {
  font-family: 'Geomanist';
  src: url('/fonts/Geomanist-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Geomanist';
  src: url('/fonts/Geomanist-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
}

/* Medium */
@font-face {
  font-family: 'Geomanist';
  src: url('/fonts/Geomanist-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}

/* Bold */
@font-face {
  font-family: 'Geomanist';
  src: url('/fonts/Geomanist-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
}

/* Italic */
@font-face {
  font-family: 'Geomanist';
  src: url('/fonts/Geomanist-Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
}

/*********
PARA REVER
**********/

@media (min-width: 640px) {
  .caixa-login{
    max-width: 65rem;
  }
}

.gap-20 {
  gap: 8rem;
}

/************
************/

/*@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');*/

body{
  background-color: #fff5dc!important;
  font-family: 'Geomanist';
  color:#363534;
  font-weight: 300;
  letter-spacing: 1px;
}

body.login{
  background-color: #ffbf0f !important;
  font-family: 'Geomanist';
  letter-spacing: 1px;
}

a:hover{
  color:#be2529;
}

.items-start {
    align-items: flex-start;
}

.loading{
  position: absolute;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  background-color: rgba(255, 255, 255, 0.8);
  display: none;
}

.loader {
  width: 48px;
  height: 48px;
  border: 5px solid #FFF;
  border-bottom-color: #FF3D00;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  position: absolute;
  left: 50%;
  margin-left: -24px;
  top:50%;
  margin-top: -24px;
}

@keyframes rotation {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
  }
}

label{
  color:#be2529!important;
  font-size: 16px!important;
  font-weight: 500!important;
}

.subtitulo{
  font-size: 25px;
  margin-bottom: 2rem;
  text-transform: uppercase;
  font-weight: bold;
  color:#be2529;
}

p{
  color:#363534!important;
}

.botao-kuboo{
  padding: 6px 10px !important;
  background: #ffbf0f;
  top: 0 !important;
  overflow: hidden;
  margin: 0 !important;
  display: inline-block;
  border: 3px solid #000;
  font-weight: 500;
  text-transform: uppercase;
  color:#000!important;
  display: flex;
  flex-direction: row;
  align-items: center;
  width: fit-content;
  cursor: pointer;
  font-size: 13px;
}

.botao-kuboo span{
  font-size: 22px;
  font-weight: 500;
  font-family: Geomanist-Bold;
  line-height: 46px !important;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: 2px;
  text-align: center;
  display: block !important;
  color: #363534;
}

.botao-kuboo:hover{
  box-shadow: 0 20px 38px rgba(0, 0, 0, 0.16) !important;
  -ms-transform: translateY(-3px);
  transform: translateY(-3px);
  -webkit-transform: translateY(-3px);
  box-shadow: none;
  -webkit-transition: opacity .45s cubic-bezier(0.25,1,0.33,1), transform .45s cubic-bezier(0.25,1,0.33,1), border-color .45s cubic-bezier(0.25,1,0.33,1), color .45s cubic-bezier(0.25,1,0.33,1), background-color .45s cubic-bezier(0.25,1,0.33,1), box-shadow .45s cubic-bezier(0.25,1,0.33,1);
  transition: opacity .45s cubic-bezier(0.25,1,0.33,1), transform .45s cubic-bezier(0.25,1,0.33,1), border-color .45s cubic-bezier(0.25,1,0.33,1), color .45s cubic-bezier(0.25,1,0.33,1), background-color .45s cubic-bezier(0.25,1,0.33,1), box-shadow .45s cubic-bezier(0.25,1,0.33,1);
}

.botao-kuboo-icon{
  padding: 6px 10px !important;
  background: #ffbf0f;
  top: 0 !important;
  overflow: hidden;
  margin: 0 !important;
  display: inline-block;
  border: 3px solid #000;
  font-weight: 500;
  text-transform: uppercase;
  color:#000!important;
  display: flex;
  flex-direction: row;
  align-items: center;
  width: fit-content;
  cursor: pointer;
  font-size: 13px;
}

.botao-kuboo-icon i{
  margin-right: 10px;
  font-size: 25px;
}


.botao-kuboo-icon span{
  font-size: 22px;
  font-weight: 500;
  line-height: 46px !important;
  font-style: normal;
  font-stretch: normal;
  letter-spacing: 2px;
  text-align: center;
  display: block !important;
  color: #363534;
}

.botao-kuboo-icon:hover{
  box-shadow: 0 20px 38px rgba(0, 0, 0, 0.16) !important;
  -ms-transform: translateY(-3px);
  transform: translateY(-3px);
  -webkit-transform: translateY(-3px);
  box-shadow: none;
  -webkit-transition: opacity .45s cubic-bezier(0.25,1,0.33,1), transform .45s cubic-bezier(0.25,1,0.33,1), border-color .45s cubic-bezier(0.25,1,0.33,1), color .45s cubic-bezier(0.25,1,0.33,1), background-color .45s cubic-bezier(0.25,1,0.33,1), box-shadow .45s cubic-bezier(0.25,1,0.33,1);
  transition: opacity .45s cubic-bezier(0.25,1,0.33,1), transform .45s cubic-bezier(0.25,1,0.33,1), border-color .45s cubic-bezier(0.25,1,0.33,1), color .45s cubic-bezier(0.25,1,0.33,1), background-color .45s cubic-bezier(0.25,1,0.33,1), box-shadow .45s cubic-bezier(0.25,1,0.33,1);
}

.logo-login{
  width: 300px;
}

.sidebar.open + main {
    left: 250px;
    width: calc(100% - 250px);
}

nav.nav-menu{
  -webkit-transition: all .1s ease-out;
  transition: all .1s ease-out;
  height: 70px;
  position: absolute;
  top:10px;
  /*width: calc(100% - 78px);
  left: 78px;*/
  width: 100%;
  left:0;
  z-index: 9;
}

.sidebar.open + main nav.nav-menu{
    /*left: 250px;
    width: calc(100% - 250px);*/
    left:0;
    width: 100%;
}

main {
    height: 100vh;
    width: calc(100% - 78px);
    left: 78px;
    position: relative;
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.content{
  padding-top: 6rem;
  padding-bottom: 1.5rem;
}

.logo-kuboo-dashboard{
  width: 140px;
}

.parent-botao-utilizador{
  height: 70px;
  background-color: rgb(243 243 249);
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.botao-utilizador{
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #000;
  letter-spacing: 0px;
  cursor: pointer;
  padding:0.9rem 0.5rem;
  border: none!important;
}

.dropdown-botao-utilizador{
  margin-top: 150px;
}

.dt-container{
  /*background-color: #fff;
  box-shadow: 0 1px 2px rgba(56, 65, 74, 0.15);
  border-radius: 0.25rem;*/
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

div.dt-container div.dt-layout-row:not(.dt-layout-table){
  padding:0 0.3rem;
}

 div.dt-container .dt-info, div.dt-container .dt-paging .dt-paging-button{
   font-size: 13px;
 }

 .dt-search{
   font-size: 13px;
 }

/* Estilo base da tabela */
.dataTable {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    font-size: 14px;
    background: #fff;
    border-radius: 5px;
}

.dataTable thead th {
    background-color: #be2529;
    color: #6c757d;
    font-weight: 600;
    text-align: left;
    padding: 12px;
    border-bottom: 1px solid #e9ebec!important;
    border-top: 1px solid #e9ebec!important;
    text-align: left!important;
    color:#fff;
}

.dataTable thead th:first-child{
  border-top-left-radius: 5px;
}

.dataTable thead th:last-child{
  border-top-right-radius: 5px;
}

table.dataTable>tbody>tr{
  background-color:#ffe5a2;
}

.dataTable tbody tr:hover {
  background-color:#ffe5a2!important;
}

.dataTable tbody td {
    padding: 16px 12px;
    border: none!important;
    vertical-align: middle;
    box-shadow: none!important;
    text-align: left!important;
}

.dataTable tbody tr:hover {
    background-color: #f1f5f9;
}

table.dataTable thead th, table.dataTable tfoot th {
    font-weight: 500;
}

.language_switcher li a {
  font-size: 12px !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-stretch: normal !important;
  line-height: 24px !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  color: #363534 !important;
  width: 100% !important;
  padding: 0 18px !important;
  display: block !important;
  list-style-type: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.language_switcher li {
    background: #fff;
    padding: 0 !important;
    width: 100px !important;
}

.language_switcher{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.faq-header-link{
  font-weight: bold;
  margin-left: 10px;
}

/**********************************************************
LOGIN
**********************************************************/


.logo-login-kuboo{
  width: 100%;
  margin-bottom: 5rem;
}

.footer-login{
  margin-top: 5rem;
  text-align: center;
}

.logos-footer-ppr{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.logos-footer-ppr .mobile{
  display: none;
}

.logos-footer-ppr{
  margin-top: 2rem;
}

.logos-footer-ppr a{
  padding-right: 30px;
}

.logos-footer-ppr a:last-child{
  padding-right: 0;
}

.logos-footer-ppr img.not-mobile{
  height: 35px;
  vertical-align: middle;
}

.logos-footer-ppr .logo-fedessa.not-mobile{
  height: 50px;
}

.topbar-right-login{
  text-align:center;
  display:flex;
  flex-direction:row;
  justify-content:end;
  margin-bottom:11.3rem;
  gap:12px;
  font-size: 13px;
  align-items: center;
}

.botao_main_telefones{
  position: relative;
  width: 251px;
  margin-left: 10px;
  letter-spacing: 4px;
}

.botao_main_telefones,
.botao_main_telefones * {
  cursor: pointer;
}

.botao_main_telefones:hover{
  box-shadow: 0 20px 38px rgba(0, 0, 0, 0.16);
  -ms-transform: translateY(-3px);
  transform: translateY(-3px);
  -webkit-transform: translateY(-3px);
}

.botao_main_telefones a:hover{
  color:inherit;
}

.botao_telefone {
  display:flex;
  flex-direction:row;
  align-items:center;
  font-weight:600;
  background-color: rgb(255 191 15);
  padding: 15px 10px;
  font-size: 25px;
  justify-content: end;
}

.botao_telefone i{
  font-size: 25px;
  margin-right: 6px !important;
}

.botao_main_telefones .botao_main_telefones-child{
  position: absolute;
  top: 100%;
  min-width: 100%;
  right:0;
  font-weight: bold;
  z-index: 10000;
  cursor: pointer!important;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}

.botao_telefone i,
.botao_telefone .links_name {
  line-height: 1;
  display: flex;
  align-items: center;
}

.botao_main_telefones .botao_main_telefones-child.show{
  opacity: 1;
  visibility: visible;
}

.botao_main_telefones .botao_main_telefones-child a{
  background: rgba(255,191,15,0.9);
  margin-top:5px;
  padding: 10px;
  font-size: 23px;
  text-align: center;
  display: block;
  cursor: pointer!important;
}

.botao_main_telefones .botao_main_telefones-child a .subnum{
  font-weight: 400;
  font-size: 14px;
  display: block;
  line-height: 1em;
}

.botao_main_telefones .botao_main_telefones-child a .num-code{
  font-size: 14px;
  line-height: 1em;
}

.botao_main_telefones .botao_main_telefones-child .logo-whatsapp-menu{
  padding: 10px 25px !important;
}

body.login .botao_main_telefones{
  width: 200px;
}

body.login .botao_telefone{
  background-color: #fff5dc;
  margin-left: 0;
  font-size: 18px;
}

body.login .botao_main_telefones .botao_main_telefones-child a{
  background-color:rgb(255,245,220,0.9);
}

body.login .botao_main_telefones .botao_main_telefones-child a{
  font-size: 15px;
}

body.login .botao_main_telefones .botao_main_telefones-child a .subnum {
  font-size: 11px;
}

body.login .botao_main_telefones .botao_main_telefones-child a .num-code{
  font-size: 10px;
}

/**********************************************************
NAVEGAÇÂO
**********************************************************/

ul.choose_language{
  /* background: #ededed; */
  position: relative;
  z-index: 9;
  max-width: 240px;
  margin: 0 auto;
  z-index: 100;
  margin-right: 22px;
}

.choose_language > li  a {  text-transform: uppercase;}

.choose_language > li {
  background: #ededed;
  color: #363534!important;
  padding: 3px 10px;
  font-weight: 500;
  height: 30px;
}

.choose_language > li.active > a {
  position: relative;
  font-weight: bold;
}

.choose_language > li > ul {
  position: absolute;
  display: none;
  z-index: -1;
  width: 100%;
  background: white;
  box-shadow: 0 13px 20px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  top: 30px;
  left: 0;
}

.choose_language > li:hover > ul{
  display: block;
}

.choose_language > li > ul li {
  padding: 3px 7px;
  font-weight: 500;
  height: 30px;
}

.choose_language > li > ul li:hover{
  background-color: #ededed !important;
}


/**********************************************************
SIDEBAR (MENU)
**********************************************************/

.sidebar {
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 78px;
    background: #363534;
    padding: 6px 14px;
    z-index: 1;
    /*transition: width 0.3s ease;*/
    display: flex;
    flex-direction: column;
}

.sidebar::after {
  content:"";
  position: absolute;
  top: 0;
  right: 0;
  width: 6px;
  height: 100%;
  background-color: #ffbf0f;
}

.sidebar.open {
    width: 250px;
}

.sidebar .logo-details {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.sidebar .logo-details .logo_name {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    opacity: 0;
    transition: all 0.5s ease;
}

.sidebar.open .logo-details,
.sidebar.open .logo-details .logo_name {
    opacity: 1;
}

.sidebar .logo-details #btn {
    position: absolute;
    top: 50%;
    right: -2px;
    transform: translateY(-50%);
    font-size: 22px;
    text-align: center;
    cursor: pointer;
    transition: all 0.5s ease;
}

.sidebar.open .logo-details #btn {
    text-align: center;
}

.sidebar i {
    color: #fff;
    height: 60px;
    min-width: 50px;
    font-size: 28px;
    text-align: center;
    line-height: 60px;
}

.sidebar .nav-list {
    margin-top: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sidebar li {
    position: relative;
    margin: 8px 0;
    list-style: none;
}

.sidebar li.last-item{
  margin-top: auto;
  margin-bottom: 0px;
  text-align: center;
}



/*.sidebar li.last-item form a:hover{
  background-color: transparent;
  color:#fff;
}

.sidebar li.last-item form a:hover span{
  color:#fff;
}*/

.sidebar input {
    font-size: 15px;
    color: #fff;
    font-weight: 400;
    outline: none;
    height: 50px;
    width: 100%;
    border: none;
    border-radius: 12px;
    transition: all 0.5s ease;
    background: #1d1b31;
}

.sidebar.open input {
    padding: 0 20px 0 50px;
    width: 100%;
}

.sidebar .bx-search {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-size: 22px;
    background: #1d1b31;
    color: #fff;
}

.sidebar .bx-search:hover {
    background: #fff;
    color: #11101D;
}

.sidebar.open .bx-search:hover {
    background: #1d1b31;
    color: #fff;
}

.sidebar li i {
  height: 40px;
  line-height: 40px;
  font-size: 18px;
  border-radius: 12px;
  margin-left: -3px;
}

.sidebar.open li i {
  margin-left: 0;
}

.sidebar li a {
    display: flex;
    height: 100%;
    width: 100%;
    border-radius: 12px;
    align-items: center;
    text-decoration: none;
    transition: all 0.4s ease;
    background: #363534;
}

.sidebar li.active a{
  background: #fff;
}

.sidebar li a:hover {
    background: #fff;
}

.sidebar li a .links_name {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: 0.4s;
}

.sidebar.open li a .links_name {
    opacity: 1;
    pointer-events: auto;
    padding-top: 2px;
}

.sidebar li.active a .links_name, .sidebar li.active  i{
  transition: all 0.5s ease;
  color: #11101D;
}

.sidebar li a:hover .links_name,
.sidebar li a:hover i {
    transition: all 0.5s ease;
    color: #11101D;
}

.sidebar li .tooltip {
    position: absolute;
    top: -20px;
    left: calc(100% + 15px);
    background: #fff;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 400;
    opacity: 0;
    white-space: nowrap;
    pointer-events: none;
    transition: 0s;
}

.sidebar li:hover .tooltip {
    opacity: 1;
    pointer-events: auto;
    transition: all 0.4s ease;
    top: 50%;
    transform: translateY(-50%);
}

.sidebar.open li .tooltip {
    display: none;
}

.sidebar li.profile {
    position: fixed;
    height: 60px;
    width: 78px;
    left: 0;
    bottom: -8px;
    padding: 10px 14px;
    background: #363534;
    transition: all 0.5s ease;
    overflow: hidden;
}

.sidebar.open li.profile {
    width: 250px;
}

.sidebar li .profile-details {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.sidebar li img {
    height: 45px;
    width: 45px;
    object-fit: contain;
    border-radius: 6px;
    margin-right: 10px;
}

.sidebar li.profile .name,
.sidebar li.profile .job {
    font-size: 15px;
    font-weight: 400;
    color: #fff;
    white-space: nowrap;
}

.sidebar li.profile .job {
    font-size: 12px;
}

.sidebar .profile #log_out {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: #1d1b31;
    width: 100%;
    height: 60px;
    line-height: 60px;
    transition: all 0.5s ease;
}

.sidebar.open .profile #log_out {
    width: 50px;
    background: none;
}

.home-section {
    position: relative;
    background: #e4e9f7;
    min-height: 100vh;
    top: 0;
    left: 78px;
    width: calc(100% -78px);
    transition: all 0.5s ease;
}

.sidebar.open~.home-section {
    left: 250px;
    width: calc(100%-250px);
}

.home-section .text {
    display: inline-block;
    color: #11101D;
    font-size: 25px;
    font-weight: 500;
    margin: 18px;
}


/**********************************************************
DASHBOARD
**********************************************************/

/*.caixa-login{
  border: 6px solid #363534;
}*/

.caixa-login h1{
    margin-bottom: 20px;
    font-weight: 500!important;
}

.caixa-login h2{
    margin-bottom: 20px;
    font-weight: 500!important;
}

.caixa-login .botao-kuboo{
  margin-left:0.5rem!important;
}

.caixa-login label{
  color:#000!important;
  font-weight: 500!important;
}

.text-green-600{
  color: #000!important;
  font-weight: 500!important;
}

.caixa-login .text-green-600{
  color: #000!important;
  font-weight: 500!important;
}

.lista-login-features {
  font-size: 18px;
  padding-left: 40px;
}

.lista-login-features li{
  margin-bottom: 20px;
  font-weight: 500;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.lista-login-features li i{
  font-size: 22px;
  margin-right: 10px;
}

.lista-login-features li span{
  font-size: 18px;
}

.lista-login-features li:last-child{
  margin-bottom: 0;
}

label[for=remember_me] span{
  font-weight: 400;
  color:#363534!important;
}

.password-label{
  position: relative;
}

.togglePassword{
  position: absolute;
  right: 5px;
  top:13px;
  cursor: pointer;
}

/**********************************************************
DASHBOARD
**********************************************************/

.seccao-dashboard-bemvindo h2{
  margin-bottom: 3rem;
  font-size: 26px;
  font-weight: 400;
}

.lista-caixas-seccao-dashboard-bemvindo{
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2 colunas iguais */
  gap: 50px; /* espaço entre os itens */
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
}

.caixa-dashboard:hover{
  -webkit-transform: translateY(calc(1.5rem * -.15));
  transform: translateY(calc(1.5rem * -.15));
  -webkit-box-shadow: 0 5px 10px rgba(30, 32, 37, .12);
  box-shadow: 0 5px 10px rgba(30, 32, 37, .12);
  color: rgb(54 53 52);
}

.caixa-dashboard{
  padding: 1.5rem 1rem;
  background-color: #fff;
  position: relative;
  box-shadow:  0 1px 2px rgba(56, 65, 74, 0.15);
  /*border: 3px solid #be2529;*/
  -webkit-transition: all .4s;
  transition: all .4s;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110px;
  text-align: center;
  border: 5px solid #ffbf0f;
}


.caixa-dashboard h3{
  color:#363534;
  font-weight: 500;
  font-size: 1.1rem!important;
  margin-right: 10px;
}

.caixa-dashboard .valor{
  margin-top: 1.5rem !important;
  font-size: 1.375rem;
  font-weight: 600;
}

.caixa-dashboard .caixa-icon{
  height: 30px;
  width: 30px;
  top: 50%;
  background-color: #ffbf0f;
  font-size: 1.2rem;
  border-radius: 50%;
  position: absolute;
  right: -20px;
  top: 50%;
  margin-top: -15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.caixa-dashboard.red .caixa-icon{
    background-color: #be2529;
    color:#fff;
    padding-top: 2px;
}

.caixa-dashboard .caixa-icon i{
  font-size: 1rem;
  color:#363534;
}

.seccao-dashboard-ultimosacessos{
  padding-top: 3rem;
}

#tabelaUltimosAcessos_wrapper .dt-layout-row:first-child{
  display: none!important;
}

#tabelaUltimosAcessos_wrapper .dt-layout-row{
  margin: 0;
}

/**********************************************************
DADOS CLIENTE
**********************************************************/

.dados-cliente-seccao {
  display: flex;
  flex-direction: row;
}

.dados-cliente-seccao .item{
  width: 140px;
  display: flex;
  flex-direction: column;
  margin-right: 30px;
}

.dados-cliente-seccao .item label{
  font-weight: 700;
}

.modal-team-cover img, .profile-offcanvas .team-cover img, .team-box .team-cover img {
    height: 140px;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.seccao-clientes-produtos-ativos h2{
  font-size: 25px;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  font-weight: bold;
  color:#be2529;
}

.lista-seccao-clientes-produtos-ativos{
  display: flex;
  flex-direction: row;
}

.lista-seccao-clientes-produtos-ativos .caixa{
  -webkit-box-shadow: 0 1px 2px rgba(56, 65, 74, 0.15);
  box-shadow: 0 1px 2px rgba(56, 65, 74, 0.15);
  border-radius: 5px;
  margin-right: 1rem;
  width: 20rem;
  overflow: hidden;

}

.lista-seccao-clientes-produtos-ativos .caixa .imagem{
  position: relative;
}

.lista-seccao-clientes-produtos-ativos .caixa .imagem img{
  height: 10rem;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.lista-seccao-clientes-produtos-ativos .caixa .imagem:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(54 69 116)), to(rgb(64 81 137)));
    background: linear-gradient(to top, rgba(0,0,0,0.3), rgb(0,0,0,0.1));
    opacity: .6;
}

.lista-seccao-clientes-produtos-ativos .caixa .conteudo{
  padding:1rem;
  background-color: #fff;
}

.lista-seccao-clientes-produtos-ativos .caixa .conteudo h3{
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 1rem;
  font-weight: bold;
}

.lista-seccao-clientes-produtos-ativos .caixa .conteudo .preco{
  font-size: 16px;
  font-weight: 500;
}

.lista-seccao-clientes-produtos-ativos .caixa .conteudo .preco span{
  color: #be2529;
  font-weight: 500;
}

.update-prompt {
  margin-top: 1.5rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  background-color: #ffffff;
  border: 1px solid #e0e0e5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.update-prompt__text {
  margin: 0;
  font-size: 1.3rem;
  color: #333;
  position: relative;
  font-weight: bold;
}

.update-prompt__link {
  margin-left: 0.25rem;
  font-weight: 700;
  color: #be2529;
  text-decoration: underline;
}

.update-prompt__link:hover {
  color: #be2529;
}

.num-dropdown{
  display: none;
}

.num-dropdown#numdrop345 {
    right: 0px;
    top:30px;
    position: absolute;
    z-index: 99;
}

.num-dropdown a {
    background: rgba(255, 191, 15, 0.9);
    color: #363534 !important;
    padding: 10px 20px;
    line-height: 1em !important;
    display: block;
    margin-top: 5px;
    text-align: center;
    font-weight: bold;
}

.num-dropdown .subnum{
  font-weight: 400;
  display: block;
  font-size: 14px;
}

.update-prompt__text:hover .num-dropdown{
    display: block;
}


/**********************************************************
PERFIL
**********************************************************/

.secao-elemento-perfil{
  margin-bottom: 1.5rem;
}

.seccao-perfil-detalhes h2{
  color: #be2529 !important;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 1rem;
}

.seccao-perfil-detalhes label{
  font-size: 20px!important;
  font-weight: 500!important;
}

.campo-seccao-perfil-detalhes{
  margin-bottom: 1.5rem;
}

.campo-seccao-perfil-detalhes:nth-child(2){
  margin-bottom: 0rem;
}

.seccao-perfil-alterarpassword h2{
  color: #be2529 !important;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 1rem;
}

.seccao-perfil-alterarpassword label{
  font-weight: 500!important;
  color:#363534!important;
}

.seccao-perfil-alterarpassword .alert-success{
  margin-top: 1.2rem;
}

.seccao-perfil-apagaruser h2{
  color: #be2529 !important;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 1rem;
}


/**********************************************************
UTILIZADORES
**********************************************************/

.secao-novo-utilizador{
  margin-bottom: 1rem;
}

.accoes-datatable{
  display: flex;
  flex-direction: row;
  align-items: center;
}

.accoes-datatable i{
  font-size: 18px;
  color:#000;
}

.accoes-datatable a{
  margin-right: 10px;
}

.accoes-datatable a:last-child{
  margin-right: 10px;
}

.editar-user-modal{
  border-radius: 5px;
  width: 30px;
  height: 30px;
  background-color: #ffbf0f;
  padding:5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color:#fff;
  cursor: pointer;
}

.apagar-user-modal{
  border-radius: 5px;
  width: 30px;
  height: 30px;
  background-color:#be2529;
  padding:5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color:#fff;
  cursor: pointer;
}

.align-modal{
  margin-top: 18vw;
}

.apagar-user-modal i{
  color:#fff;
}

.formulario-editar-utilizador input[type="text"], .formulario-editar-utilizador input[type="email"]{
  margin-bottom: 20px;
}

.formulario-editar-utilizador select{
  margin-bottom: 25px;
}

#modalEditarUtilizador .modal-dialog{
  max-width: 650px;
}

#modalEditarUtilizador .modal-title{
  font-weight: bold;
  font-size: 20px;
}

#modalEditarUtilizador .alert{
  display: none;
}

.lista-alertas{
  margin-top: 20px;
}

.formularioAdicionarUtilizador input[type="text"], .formularioAdicionarUtilizador input[type="email"]{
  margin-bottom: 20px;
}

.formularioAdicionarUtilizador select{
  margin-bottom: 25px;
}

#modalAdicionarUtilizador .modal-dialog{
  max-width: 650px;
}

#modalAdicionarUtilizador .modal-title{
  font-weight: 500;
  font-size: 20px;
}

#modalAdicionarUtilizador .alert{
  display: none;
}

.permissoes-utilizador label{
  margin-bottom: 0.5rem;
}

.lista-permissoes-utilizador {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Responsivo */
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.lista-permissoes-utilizador li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #f9f9f9;
  padding: 0.5rem;
  border-radius: 5px;
}

.lista-permissoes-utilizador input[type="checkbox"]:focus,.lista-permissoes-utilizador input[type='checkbox']:checked:hover{
  outline:0!important;
}

.scroll-hint {
  margin-top: 5px;
  display: block;
  text-align: right;
  font-size: 10px;
}


/**********************************************************
DOCUMENTOS
**********************************************************/

#tabelaDocumentos .alert{
  margin-bottom: 0;
  padding: 3px;
  font-size: 12px;
  width: 70px;
  text-align: center;
  font-weight: 500;
}

#tabelaDocumentos .alert.warning{
  background-color: #ffbf0f;
}

#modalLiquidarPagamentosPendentes .modal-title {
    font-weight: 500;
    font-size: 20px;
}

#formularioLiquidarFaturasPendentes{
  position: relative;
}

#formularioLiquidarFaturasPendentes .total{
  font-size: 20px;
  font-weight: 500;
  color:#be2529;
}

#formularioLiquidarFaturasPendentes .total-valor{
  font-weight: 500;
  font-size: 20px;
}

#formularioLiquidarFaturasPendentes .metodo-pagamento{
  text-align: center;
}

#formularioLiquidarFaturasPendentes .metodo-pagamento h2{
  margin-top: 20px;
  font-size: 18px;
  margin-bottom: 10px;
  text-align: center;
}

#formularioLiquidarFaturasPendentes .metodo-pagamento select{
  margin-bottom: 30px;
}


#formularioLiquidarFaturasPendentes .metodo-pagamento .botao-finalizar-formularioLiquidarFaturasPendentes{
  margin-left: auto!important;
  margin-right: auto!important;
  padding: 6px 30px !important;
}

.pagamentos-pendentes-multibanco{
  text-align: center;
}

.pagamentos-pendentes-multibanco .logo{
  width: 50px;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
}

.pagamentos-pendentes-multibanco .lista{
  padding-left: 0;
}

.pagamentos-pendentes-multibanco .lista li{
  font-size: 16px;
  font-weight: 400;
}

.pagamentos-pendentes-multibanco .lista li span{
  font-weight: bold;
}

.pagamentos-pendentes-multibanco .copy-btn {
  cursor: pointer;
  margin-left: 8px;
  color: #666;
  transition: color 0.2s ease;
}

.pagamentos-pendentes-multibanco .copy-btn:hover {
  color: #000;
}

.documentos-icon-url{
  border-radius: 5px;
  width: 30px;
  height: 30px;
  background-color: #ffbf0f;
  padding:5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color:#fff;
  cursor: pointer;
}

/**********************************************************
FALAR COM KUBOO
**********************************************************/

.formularioAdicionarMensagem input[type="text"], .formularioAdicionarMensagem textarea{
  margin-bottom: 20px;
}

.formularioAdicionarMensagem select{
  margin-bottom: 25px;
}

#modalAdicionarMensagemKuboo .modal-dialog{
  max-width: 650px;
}

#modalAdicionarMensagemKuboo .modal-title{
  font-weight: 500;
  font-size: 20px;
}

#modalAdicionarMensagemKuboo .alert{
  display: none;
}

/**********************************************************
FOOTER
**********************************************************/

.footer {
    padding: 20px calc(1.5rem * .5);
    /*position: absolute;*/
    height: 60px;
    background-color:#fff;
    width: 100%;
    font-size: 13px;
}

.footer a{
  color:#ffbf0f;
}

.logo-footer{
  width: 270px;
}

.botao-footer-fixed-telefone{
  right: 25px !important;
  bottom: 160px !important;
  left: auto !important;
  position: fixed !important;
  width: 60px;
  height: 60px;
  box-shadow: 0 4px 4px 0 hsla(0,0%,51%,.08);
  border-radius: 100%;
  color:#fff;
  background-color: #ffbf0f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 30px;
}

.botao-footer-fixed-telefone:hover{
  color: #fff;
}

.botao-footer-fixed-email{
  right: 25px !important;
  bottom: 90px !important;
  left: auto !important;
  position: fixed !important;
  width: 60px;
  height: 60px;
  box-shadow: 0 4px 4px 0 hsla(0,0%,51%,.08);
  border-radius: 100%;
  color:#fff;
  background-color: #ffbf0f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 30px;
}

.botao-footer-fixed-email:hover{
  color: #fff;
}

.widget-visible iframe{
  top:100px!important;
}

#logo-whatsapp-side {
    right: 25px !important;
    bottom: 150px !important;
    left: auto !important;
    position: fixed !important;
    width: 60px;
    height: 60px;
    z-index: 99;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    display: block;
    z-index: 999999 !important;
}

#logo-whatsapp-side.guest{
  bottom: 90px !important;
}

.tawk-bubble-container .tawk-icon-right{
  display: none!important;
}

/****************************************************************************************************
MEDIA QUERIES
****************************************************************************************************/

@media only screen and (max-width: 992px) {

  body{
    font-size: 13px;
  }

  .hamburger button{
    margin-top: 15px;
  }

  .menu-mobile{
    background-color: #fff;
  }

  select[name="cliente_id"]{
    margin-top: 13px;
    font-size: 13px;
  }

  .logo-kuboo-dashboard{
    width: 100px;
  }

  .sidebar{
    display: none;
  }

  .sidebar .logo-details #btn{
    right:-3px;
  }

  .sidebar li a .links_name{
    font-size: 11px;
  }

  .sidebar.open{
    width: 180px;
  }

  .sidebar.mobile-open{
    display: block;
    z-index: 9999;
  }

  .sidebar.open + main nav.nav-menu{
    left: 0;
    width: 100%;
  }

  .sidebar.open + main{
    left: 0;
    width: 100%;
  }

  .caixa-dashboard .caixa-icon{
    height: 2rem;
    width: 2rem;
    font-size: 1rem;
    right: -1rem;
    margin-top: -1rem;
  }

  .botao-footer-fixed-telefone{
    width: 35px;
    height: 35px;
    font-size: 20px;
    right: 15px !important;
    bottom: 55px !important;
  }

  .botao-footer-fixed-email{
    width: 35px;
    height: 35px;
    font-size: 20px;
    right: 15px !important;
    bottom: 98px !important;
  }

  .dt-container{
    overflow: scroll;
  }

  .nav-mobile-menu .logo-details{
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .nav-mobile-menu .logo-details img{
    margin-right: 10px;
  }

  .nav-mobile-menu #btn_menu_mobile{
    font-size:20px;
  }

  .sidebar li i{
    height: 30px;
    line-height: 30px;
    font-size: 16px;
    min-width: 25px;
  }

  .sidebar .nav-list{
    margin-top: 0;
  }

  .sidebar li.last-item{
    margin-bottom: 0px;
  }

  .sidebar li:last-child{
    margin-bottom: 60px;
  }


  /**************************************
  DASHBOARD
  **************************************/

  .seccao-dashboard-bemvindo h2{
    font-size: 20px;
  }

  .lista-caixas-seccao-dashboard-bemvindo{
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }

  .link-caixa-dashboard {
      width: 100%;
      padding-right: 0;
      padding-bottom: 15px;
  }

  .seccao-dashboard-ultimosacessos {
    padding-top: 2rem
  }

  .caixa-dashboard.red .caixa-icon{
    padding-top: 5px;
  }



  /**************************************
  LOGIN
  **************************************/

  .login-for-gap{
    gap: 2rem!important;
  }

  .caixa-login{
    margin-top: 0!important;
  }

  .logo-login-kuboo {
      width: 200px;
      margin-bottom: 2rem;
      text-align: center;
  }

  .sec-column-login{
    align-items: flex-start;
  }

  .sec-column-login h2{
    padding-right: 0px;
    padding-left: 0;
    width: 100%;
    text-align: center;
  }

  .lista-login-features{
    padding-left: 0;
    display: flex;
    flex-direction: column;
    /* centra o BLOCO */
    margin-left: auto;
    margin-right: auto;
    /* largura controlada */
    width: fit-content;
    /* items alinhados à esquerda */
    align-items: flex-start;

  }

  .logos-footer-ppr {
      align-items: center;
  }

  .logos-footer-ppr .not-mobile {
      display: none;
  }

  .logos-footer-ppr .mobile {
      display: block;
      height: 70px;
  }

  .logos-footer-ppr .logo-fedessa.mobile {
      height: 90px;
  }

  .topbar-right-login{
    margin-bottom: 1rem;
    margin-top: 2rem;
    order: 3;
    width: 100%;
    justify-content: center;
  }

  #logo-whatsapp-side{
    bottom: 90px !important;
  }

  #logo-whatsapp-side.guest{
    bottom: 90px !important;
  }

  .footer-login{
    margin-top: 2rem;
  }

  /**************************************
  CLIENTE
  **************************************/

  .update-prompt__link{
    display: block;
    margin-left: 0;
  }


  /**************************************
  UTILIZADORES
  **************************************/


  /**************************************
  FOOTER
  **************************************/

  .footer{
    height: auto;
  }

  .copyrights{
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 15px;
    text-align: center;
  }

  .logos-footer-app{
    justify-content: center;
  }

}
