.dt-buttons {
    margin-bottom: 20px;
}

.dt-button, .paginate_button {
    background: #fff !important;
    font-size: 13px !important;
    border-radius: 5px !important;
}

.dt-button.btn-novo {
    background: #364c66 !important;
    color: #fff !important;
}

.datepicker.datepicker-dropdown.dropdown-menu {
    visibility: inherit !important;
    opacity: 100 !important;
    margin-top: 0 !important;
    padding: 5px !important;
}

.select2-selection.select2-selection--single {
    border: 1px solid #dde0e2;
    background-color: #f8fbfd;
    height: calc(1.5em + 0.75rem + 2px);
}

.select2-selection__rendered {
    height: calc(1.5em + 0.75rem + 2px);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 34px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 34px !important;
}

.swal-button {
    font-size: 12px !important;
}

.swal2-actions button {
    margin-right: 5px;
}

.btn-sm {
    padding: 5px 12px !important;
}

.vertical-timeline {
    width: 100%;
    position: relative;
    padding: 1.5rem 0 1rem;
}

.vertical-timeline::before {
    content: '';
    position: absolute;
    top: 0;
    left: 7px;
    height: 100%;
    width: 4px;
    background: #e9ecef;
    border-radius: .25rem;
}

.vertical-timeline-element {
    position: relative;
    margin: 0 0 1rem;
}

.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in {
    visibility: visible;
    animation: cd-bounce-1 .8s;
}
.vertical-timeline-element-icon {
    position: absolute;
    top: 0;
    left: 0px;
}

.vertical-timeline-element-icon .badge-dot-xl {
    box-shadow: 0 0 0 5px #fff;
}

.badge-dot-xl {
    width: 18px;
    height: 18px;
    position: relative;
}
.badge:empty {
    display: none;
}


.badge-dot-xl::before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: .25rem;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -5px 0 0 -5px;
    background: #fff;
}

.vertical-timeline-element-content {
    position: relative;
    margin-left: 200px;
    font-size: .8rem;
}

.vertical-timeline-element-content .timeline-title {
    font-size: .8rem;
    text-transform: uppercase;
    margin: 0 0 .5rem;
    padding: 2px 0 0;
    font-weight: bold;
}

.vertical-timeline-element-content .vertical-timeline-element-date {
    display: block;
    position: absolute;
    left: -160px;
    top: 0;
    padding-right: 10px;
    text-align: right;
    color: #adb5bd;
    font-size: .7619rem;
    white-space: nowrap;
}

.vertical-timeline-element-content:after {
    content: "";
    display: table;
    clear: both;
}

.layout-login__form {
    position: relative;    /* torna esse bloco o “referencial” pro absolute */
  }  

  .layout-login__brand {
    display: block;
    width: 100%;
    max-width: 325px;
    height: auto;
    margin: 0 auto 1.5rem;
  }

  .layout-login__brand-fallback {
    margin-bottom: 1.5rem;
  }

  .layout-login__captcha-group {
    margin-bottom: 1rem;
  }

  .layout-login__captcha-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }

  .layout-login__captcha-image-box {
    flex: 1 1 auto;
    max-width: 200px;
    min-width: 0;
    border: 1px solid #dde5ee;
    border-radius: 0.5rem;
    background: #fff;
    overflow: hidden;
  }

  .layout-login__captcha-image {
    display: block;
    width: 100%;
    height: 56px;
  }

  .layout-login__captcha-refresh {
    flex: 0 0 auto;
    min-width: 88px;
    min-height: 44px;
    padding: 0.5rem 0.875rem;
    border-radius: 0.5rem;
    font-size: 0.95rem;
    line-height: 1.1;
    white-space: nowrap;
  }

  .demo-text {
    position: absolute;
    top: 10px;
    right: 15rem;
    font-size: 3.5rem;
    color: #344C66;
    pointer-events: none;
    z-index: 10;
    font-family: "Lato", sans-serif;
    font-weight: 1000;
    margin-top: 4rem;
  }
  
  /* esconde em telas menores que 992px (tablets e celulares) */
  @media (max-width: 1205.824px) {
    .demo-text {
      display: none;
    }
  }
  
  .politico-login {
    position: absolute;   
    bottom: 1rem;         
    right: 4rem;          
    font-size: 1rem;   
    color: #344C66;          
    pointer-events: none;  
    z-index: 10;
    font-weight: 1000;
    font-family: "Lato", sans-serif;
  }
  
  .layout-login {
    background-position: 65% center !important;
    overflow-x: hidden;
  }
  
  .version-text {
    font-family: "Lato", sans-serif;
    font-size: 1rem;  
    color: #344C66;  
    font-weight: 1000;
    pointer-events: none;  
    margin-top: 2rem;
  }

  @media (max-width: 767.98px) {
    .layout-login {
      min-height: 100vh;
      min-height: 100svh;
      min-height: 100dvh;
      background-position: center top !important;
      background-size: cover !important;
      padding: 1rem 0;
    }

    .layout-login__form {
      width: calc(100% - 2rem);
      max-width: 100%;
      margin: 0 auto;
      padding: 1.5rem !important;
      border-radius: 1rem;
      box-shadow: 0 1rem 2rem rgba(26, 49, 66, 0.15);
    }

    .layout-login__brand {
      max-width: min(260px, 100%);
      margin-bottom: 1rem;
    }

    .layout-login__brand-fallback h2 {
      font-size: 1.75rem;
      line-height: 1.2;
    }

    .layout-login__captcha-row {
      gap: 0.5rem;
    }

    .layout-login__captcha-image-box {
      max-width: none;
    }

    .layout-login__captcha-refresh {
      min-width: 76px;
      min-height: 40px;
      padding: 0.45rem 0.75rem;
      font-size: 0.9rem;
    }

    .politico-login {
      position: static;
      display: block;
      margin: 1rem auto 0;
      padding: 0 1rem;
      text-align: center;
      pointer-events: auto;
    }

    .version-text {
      margin-top: 2rem;
      text-align: center;
    }
  }

  @supports (-webkit-touch-callout: none) {
    .layout-login {
      min-height: -webkit-fill-available;
    }
  }

  @media (min-width: 768px) and (max-height: 940px) {
    .layout-login__brand {
      max-width: 250px;
      margin-bottom: 1rem;
    }

    .layout-login__form {
      padding-top: 2rem !important;
      padding-bottom: 2rem !important;
    }

    .layout-login__form > p {
      margin-bottom: 1.25rem !important;
    }

    .layout-login__form .form-group {
      margin-bottom: 0.875rem;
    }

    .layout-login__form .form-group.mb-5 {
      margin-bottom: 0.875rem !important;
    }

    .layout-login__form .btn.btn-primary.mb-5 {
      margin-bottom: 1.5rem !important;
    }

    .layout-login__captcha-group {
      margin-bottom: 0.75rem;
    }

    .layout-login__captcha-image {
      height: 50px;
    }

    .layout-login__captcha-refresh {
      min-width: 80px;
      min-height: 40px;
      padding: 0.45rem 0.75rem;
    }
  }
  /* Desce apenas o bloco de itens do menu dentro da sidebar */
#default-drawer .sidebar-menu {
  padding-top: 50px;  /* ajuste este valor para o quanto quiser descer */
}

.navbar-main .navbar-brand img {
  margin-top: 70px !important;
  pointer-events: none; 
}

.mdk-header-layout__content {
  /* deve ser pelo menos igual à altura do footer (150px), 
     aqui damos 180px para uma folga extra */
  padding-bottom: 180px;
}

.site-footer {
  position: fixed;
  bottom: 0;
  left: 260px; /* antes era 240px, agora 20px a mais */
  width: calc(100% - 240px);
  height: 100px;
  pointer-events: none;
  z-index: 0;
  /* limpa qualquer background para podermos usar só o ::before */
  background: transparent;
}

/* pseudo-elemento só para a silhueta, com opacidade ajustável */
.site-footer::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/vetor_roda_pe_blue_only.png");
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: auto 100px;
  opacity: 0.1;        /* <— ajuste aqui (0 a 1) */
  pointer-events: none; /* para não atrapalhar cliques */
}


/* Força o mesmo tom de azul do botão de Tipos de Assessores */
.dataTables_wrapper .dt-buttons .btn-primary {
  background-color: rgb(54, 76, 102) !important;
  border-color:     #333 !important;
  color:            #ffffff !important;
  box-shadow:       inset 0 1px 0 rgba(255,255,255,0.15),
                    0 1px 1px rgba(0,0,0,0.075) !important;

  /* opcional: ajuste de padding/fonte para ficar igualzinho */
  padding:    0.3125rem 0.875rem !important;
  font-size:  13px     !important;
  line-height:1.5           !important;
  border-radius: 0.25rem    !important;
}
.backup-card {
    min-height: 600px;
}









    

  
