:root {
  --cor-nivel-professor: #4caf50;
  --cor-nivel-coordenador: #2196f3;
  --cor-nivel-profissional: #9c27b0;
  --cor-nivel-secretario: #ff9800;
  --cor-nivel-professor-bg: rgba(76, 175, 79, 0.18);
  --cor-nivel-coordenador-bg: rgba(33, 150, 243, 0.18);
  --cor-nivel-profissional-bg: rgba(156, 39, 176, 0.18);
  --cor-nivel-secretario-bg: rgba(255, 152, 0, 0.18);
}

@supports (-webkit-touch-callout: none) {
  html,
  body {
    height: 100dvh;
    overflow: hidden;
  }
}
/* Estilos para carregamento */
.spinner {
  width: 70px;
  height: 70px;
  transform: rotate(0);
  -webkit-transform: rotate(0);
  will-change: transform;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-animation: rotator 2s linear infinite;
  animation: rotator 2s linear infinite;
  animation-delay: 0ms;
  -webkit-animation-delay: 0ms;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  animation-fill-mode: both;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.spinner .path {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke: #ffaa00;
  stroke-linecap: round;
  stroke-width: 4px;
  fill: none;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  will-change: stroke-dashoffset, stroke-dasharray;
  -webkit-text-stroke: #fff;
  /* Garantindo suavidade no iOS */
  -webkit-animation: dash 1.5s ease-in-out infinite;
  animation: dash 1.5s ease-in-out infinite;
  animation-delay: 0ms;
  -webkit-animation-delay: 0ms;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: ease-in-out;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.spinner-button {
  transform: rotate(0);
  -webkit-transform: rotate(0);
  will-change: transform;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-animation: rotator 2s linear infinite;
  animation: rotator 2s linear infinite;
  animation-delay: 0ms;
  -webkit-animation-delay: 0ms;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  animation-fill-mode: both;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  height: calc(100% - 10px);
  max-height: 22px;
  object-fit: contain;
  opacity: 1 !important;
}
.spinner-button .path-button {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke: #fff;
  -webkit-text-stroke: #fff;
  stroke-linecap: round;
  stroke-width: 5px;
  fill: none;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  will-change: stroke-dashoffset, stroke-dasharray;

  /* Garantindo suavidade no iOS */
  -webkit-animation: dash 1.5s ease-in-out infinite;
  animation: dash 1.5s ease-in-out infinite;
  animation-delay: 0ms;
  -webkit-animation-delay: 0ms;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: ease-in-out;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.spinner-servidor {
  animation: spin 1s linear infinite;
  animation-delay: 0s;
  /* Inicia a animação imediatamente */
  position: relative;
  /* Corrige a posição */
  border: 7px solid #f3f3f3;
  /* Cinza claro para o spinner */
  border-top: 7px solid #192030;
  /* Azul para a parte superior do spinner */
  border-radius: 50%;
  width: 60px;
  height: 60px;
  margin: auto;
  /* Animação de rotação */
}
.loader {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Inicialmente aberto */
  width: 100%;
  height: 100dvh;
  z-index: 1000000000;
  background-color: white;
}
.notifications-loader {
  padding-top: 10px;
  border-top: 1px solid #dbdbdb;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Inicialmente aberto */
  width: 100%;
  z-index: 1000000000;
  background-color: white;
  .spinner {
    width: 30px;
    height: 30px;
  }
}
.loader-response_card {
  width: 30px;
  height: 30px;
  border: 4px solid #fff;
  border-bottom-color: #192030;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
.material-symbols-outlined.loading {
  color: transparent !important;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  .spinner-button {
    max-height: 18px;
  }
  .spinner-button .path-button {
    -webkit-text-stroke: gray;
    stroke: gray;
  }
}

.manage-access.loading {
  .material-symbols-outlined {
    color: transparent !important;
  }
  .spinner-button {
    max-height: 18px;
  }
  .spinner-button .path-button {
    -webkit-text-stroke: white;
    stroke: white;
  }
}

/* Estilos para o corpo, cabeçário (com diálogo), conteúdo principal e rodapé */
*,
:after,
:before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.body,
html {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  display: flex;
  flex-direction: column;
  font-family: "Urbanist";
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

.pageContent {
  display: block;
  height: 100%;
  overflow: hidden;
}

.mdl-layout__header {
  display: flex;
  position: fixed;
  min-height: 70px;
  height: 70px;
  top: 0;
  box-shadow: none;
  transition: all 0.3s ease;
  background: #192030;
  /* &.ocultar {
    top: -70px;
    & ~ .conteudo-principal {
      max-height: 100%;
      top: 0;
    }
  } */
  &.sombreado {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
      0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  }
}

.mdl-card__title {
  display: none;
}

.mdl-layout__header-row {
  min-height: 70px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

.mdl-layout__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  max-width: 64%;
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  h5 {
    width: 100%;
    margin: 0;
    color: #fff;
    font-weight: 600;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
  span {
    width: 100%;
    color: #fff;
    line-height: normal;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
}
/* Estilos para o diálogo de confirmação */
.dialogo-confirmacao {
  margin: auto;
  border-radius: 16px;
}
.dialogo-confirmacao .cabecalho-dialogo-confirmacao {
  display: flex;
  position: relative;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 12px;
  border-bottom: 2px solid #dbdbdb;
}
.cabecalho-dialogo-confirmacao .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  font-size: 40px;
}
.dialogo-confirmacao .conteudo-dialogo-confirmacao {
  display: flex;
  position: relative;
  width: 100%;
}
.dialogo-confirmacao .rodape-dialogo-confirmacao {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px;
  border-top: 2px solid #dbdbdb;
  gap: 8px;
}

.dialogo-confirmacao button {
  margin: 0 !important;
}

/* Estilos para o diálogo de gerenciamento de conta */

.dialogo-dados-sessao {
  margin: auto;
  border-radius: 16px;
  width: 400px;
}

.dialogo-dados-sessao .cabecalho-dialogo-dados-sessao {
  display: flex;
  position: relative;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 12px;
  border-bottom: 2px solid #dbdbdb;
}

.cabecalho-dialogo-dados-sessao .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  font-size: 40px;
}

.dialogo-dados-sessao .conteudo-dialogo-dados-sessao {
  display: flex;
  position: relative;
  width: 100%;
  padding: 12px;
}

.dialogo-dados-sessao .rodape-dialogo-dados-sessao {
  display: flex;
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding: 12px;
  border-top: 2px solid #dbdbdb;
}

.container-dados-sessao {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
  overflow: visible;
  gap: 8px;
}

.card-sessao {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  position: relative;
  overflow: visible;
  border-radius: 8px;
  padding: 8px;
  background-color: #ededed;
  border-left: 8px solid;
}

.card-sessao:not([data-ambiente_atual="true"]) {
  cursor: pointer;
}

.professor.card-sessao {
  border-color: var(--cor-nivel-professor);
}

.professor.card-sessao .chip-indicador.nivel {
  background-color: var(--cor-nivel-professor-bg);
  color: var(--cor-nivel-professor);
}

.coordenador.card-sessao {
  border-color: var(--cor-nivel-coordenador);
}

.coordenador.card-sessao .chip-indicador.nivel {
  background-color: var(--cor-nivel-coordenador-bg);
  color: var(--cor-nivel-coordenador);
  cursor: pointer;
}

.profissional.card-sessao {
  border-color: var(--cor-nivel-profissional);
}

.profissional.card-sessao .chip-indicador.nivel {
  background-color: var(--cor-nivel-profissional-bg);
  color: var(--cor-nivel-profissional);
}

.secretario.card-sessao {
  border-color: var(--cor-nivel-secretario);
}

.secretario.card-sessao .chip-indicador.nivel {
  background-color: var(--cor-nivel-secretario-bg);
  color: var(--cor-nivel-secretario);
}

.cabecalho-card-sessao {
  width: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  overflow: visible;
  border-top-left-radius: 4px;
  gap: 8px;
  border-top-right-radius: 4px;
}

.container-chip-indicador {
  border-radius: 4px;
  overflow: visible;
  display: flex;
  width: auto;
}
.chip-indicador {
  overflow: hidden;
  width: max-content;
  padding: 2px 6px;
  border-radius: 4px;
  text-align: center;
  line-height: normal;
  font-size: 12px;
}

.chip-indicador.padrao {
  background-color: rgba(96, 96, 96, 0.2);
  color: #404040;
}

.chip-indicador.acesso-atual {
  background-color: rgba(0, 113, 87, 0.2);
  color: #007156;
}

.corpo-card-sessao {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  position: relative;
  overflow: hidden;
  gap: 2px;
}

.nome-acesso-destaque {
  line-height: normal;
  letter-spacing: normal;
  font-weight: 700;
  text-align: left;
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 16px;
}

.ambientes-acesso {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.ambientes-acesso ul {
  padding-left: 14px;
}

.ambientes-acesso ul,
.ambientes-acesso li {
  font-size: 12px;
  line-height: normal;
}

/* Estilos para o gerenciamento de conta */
.header-buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin-left: auto;
  padding-right: 16px;
}

.manage-account-icon {
  border: none;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  border-radius: 8px;
  padding: 8px;
  box-shadow: none;
  background-color: transparent;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  min-width: auto;
}

.manage-account-icon.sidebar {
  display: none;
  background-color: #bcc6de33;
  margin: auto;
  height: auto;
  min-height: auto;
}

.manage-account-icon.sidebar .material-symbols-outlined {
  font-size: 18px;
}

.manage-account-icon:hover,
.manage-account-icon:focus {
  background-color: #bcc6de33;
  transition: all 0.3s ease-in-out;
}

.manage-account-icon .material-symbols-outlined {
  color: #fff;
  transition: all 0.3s ease-in-out;
}
.manage-account-icon:hover .material-symbols-outlined,
.manage-account-icon:focus .material-symbols-outlined {
  /* color: #192030; */
}

.icone-notificacao {
  background-color: transparent;
  border: none;
  box-shadow: none;
  min-width: auto;
  transition: all 0.3s ease-in-out;
  position: relative;
  cursor: pointer;
  padding: 8px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  &:hover,
  &:focus {
    background-color: #bcc6de33;
  }
}
.icone-notificacao .container-circulo-notificacao {
  width: 1.4rem;
  height: 1.4rem;
  padding: 2px;
  position: absolute;
  border-radius: 100%;
  background: #192030;
  top: 2px;
  right: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.container-circulo-notificacao .circulo-notificacao {
  width: 100%;
  height: 100%;
  border-radius: 100%;
  position: relative;
  background: #f44336;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
.container-circulo-notificacao .circulo-notificacao p {
  margin: 0;
  padding: 0;
  font-size: 10px;
}
.icone-notificacao.notificacao-ativa .circulo-notificacao::before {
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  border-radius: 100%;
  transform: translate(-50%, -50%);
  border: 2px solid #f44336;
  content: "";
  animation: pulsar 1.5s ease-in-out infinite;
}

.icone-notificacao .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24 !important;
}

.notificacao-ativa .material-symbols-outlined {
  animation: bell 2s ease-in-out infinite;
}

/* Caixa de notificações */
.notificationBox {
  width: 350px;
  max-height: 300px;
  position: fixed;
  box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14),
    0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2);
  border: none;
  border-radius: 8px;
  top: 60px;
  right: 14px;
  display: none;
}
@media (width <= 768px) {
  .notificationBox {
    width: 280px;
  }
}
.notificationBox.visible {
  display: block;
}
.notificationBox .arrow-up {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #192030;
  position: absolute;
  top: -7px;
  right: 22px;
}
.notificationBox .notification_content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
}
.notificationBox .notification_content .title {
  background: #2e3b58;
  width: 100%;
  height: 50px;
  border: none;
  padding: 14px;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
  z-index: 1;
  transition: box-shadow 0.3s ease;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  &.scrolled {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  button {
    display: none;
  }
}
.notificationBox .notification_content .title h6 {
  margin: 0;
  color: #fff;
  font-weight: 700;
  font-size: 24px;
  line-height: normal;
  text-align: left;
}
.notificationBox .notification_content .content {
  background: rgb(255, 255, 255);
  padding: 14px 14px 14px 14px;
  max-height: 218.4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  .notifications-content {
    max-height: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: overlay;
    scrollbar-width: none;
    width: 100%;
  }
}
.sem-notificacao {
  color: black;
  font-weight: 500;
  font-size: 14px;
  width: 100%;
  text-align: center;
  margin: auto;
}
div.notifications-container-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  &:not(:last-child) {
    margin-bottom: 7px !important;
  }
  .notifications-date {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 13px;
    color: rgba(0, 0, 0, 0.4);
    line-height: normal;
    text-align: left;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
    margin-bottom: 7px;
  }
}
.notificationBox .notification_content .content .notifications {
  user-select: none;
  width: 100%;
  background-color: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  padding: 0;
  cursor: default;
  position: relative;
  border-radius: 8px;
  margin-bottom: 7px;
  overflow: hidden;
  border-top: 2px solid #dbdbdb;
  border-right: 2px solid #dbdbdb;
  border-bottom: 2px solid #dbdbdb;
  border: none;
  &:last-child {
    margin-bottom: 0;
  }
  .container-notificacao-dados {
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    transition: all 0.3s ease-in-out;
    height: 100%;
    padding: 10px;
    gap: 10px;
    img {
      width: 53px;
      height: 53px;
      object-fit: cover;
      margin: 0;
      border-radius: 50%;
    }
  }
}

.notifications.feedback {
  border-left: 4px solid #3076ab;
}
.notifications.feedback .textNotifications span.titulo {
  color: #3076ab;
}
.notifications.incidente {
  border-left: 4px solid #2e3b58;
}
.notifications.incidente .textNotifications span.titulo {
  color: #2e3b58;
}
.notifications.relatorio {
  border-left: 4px solid #cb540e;
}
.notifications.relatorio .textNotifications span.titulo {
  color: #cb540e;
}
.notifications.transferencia {
  border-left: 4px solid #3543da;
}
.notifications.transferencia .textNotifications span.titulo {
  color: #1425e0;
}

span.data-notificacao {
  text-align: right;
  width: 100%;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.4);
  font-weight: 600;
  line-height: normal;
}

.content .notifications span img {
  width: 25px;
}
.content .notifications .closeNotifications {
  position: absolute;
  right: 10px;
  top: 10px;
  display: block;
  margin-bottom: auto;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  padding: 0 0 6px 6px;
}
.content .notifications .closeNotifications p {
  font-size: 12px;
  color: #adadad;
  margin: 0;
  line-height: 16px;
  transition: all 0.2s ease-in-out;
}
.content .notifications .closeNotifications p:hover {
  color: #b5b5b5;
  text-decoration: underline;
}
.content .notifications .textNotifications {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: baseline;
  gap: 3px;
  padding: 0;
  cursor: pointer;
}
.content .notifications .container-notificacao-dados:hover {
  background-color: #eee !important;
}
.content .notifications .textNotifications span.titulo {
  font-size: 16px;
  line-height: normal;
  font-weight: 680;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: normal;
  padding-right: 40px;
}

.content .notifications .textNotifications span.mensagem {
  color: rgb(57, 57, 57);
  font-size: 12px;
  line-height: normal;
  font-weight: 500;
  margin: 0;
  text-overflow: ellipsis;
  text-align: justify;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media (width <= 440px) {
  .notificationBox {
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    max-height: none;
  }
  .notification_content .content {
    height: 100%;
    max-height: none !important;
  }
  .notification_content .content .notifications-content {
    max-height: none !important;
  }
  .close-notifications {
    background-color: rgb(255, 255, 255) !important;
    color: #192030;
    display: inline-block !important;
    box-shadow: none;
    /* border: 2px solid #dbdbdb; */
  }
}

.mdl-layout__header-row .icone-notificacao img {
  width: 18px;
}

.mdl-layout__header-row .mdl-layout__title .portfolio-logo img {
  height: 40px;
  cursor: pointer;
}

.mdl-layout__header-row .icone-barra {
  cursor: pointer;
  position: relative;
  user-select: none;
  /* Evitar seleção de texto ao clicar no ícone */
  border-radius: 8px;
  transition: all 0.3s ease;
  padding: 8px;
}

.mdl-layout__header-row .icone-barra:hover {
  background-color: #6f85b933;
}

.icone-barra#icone1 {
  display: none;
}

.mdl-layout__header-row .icone-barra svg {
  height: 35px;
  width: 35px;
  margin: 0;
  fill: #fff;
}

.mdl-layout__header-row
  .mdl-layout__title
  .portfolio-logo
  img#botao-inicial-menor {
  height: 30px;
}

.conteudo-principal {
  background: url("../img/background.jpg") no-repeat center fixed;
  -webkit-background-size: cover;
  background-size: cover;
  overflow-y: overlay;
  overflow-x: hidden;
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 0;
  position: relative;
  height: calc(100dvh - 70px);
  transition: all 0.3s ease-in-out;
  top: 70px;
}

div.mdl-grid {
  margin: 0;
  width: 100%;
}

div.mdl-card__supporting-text {
  width: 100%;
}

#caixaTexto {
  margin: 20px auto;
  min-width: calc(100% - 30px);
  position: relative;
  display: flex;
  text-align: center;
  border-radius: 1rem;
  /* box-shadow: none; */
  background-color: #f1f1f1;
}

.verSenha {
  cursor: pointer;
  position: absolute;
  margin: auto;
  right: 0px;
  transform: translateY(-50%);
  top: 50%;
  user-select: none;
  /* Evitar seleção de texto ao clicar no ícone */
  border-radius: 50%;
  padding: 1.5px;
  transition: 200ms;
  font-size: 18px;
  color: gray;
}

#caixaTextoLogin {
  margin: auto;
  position: relative;
  display: flex;
  text-align: center;
  border-radius: 1rem;
  box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.3);
  background-color: #ffffff;
}

#caixaTextoLogin .mdl-card__supporting-text {
  padding: 1rem;
}

#caixaTextoLogin div.mdl-card__title {
  display: block;
}

#caixaTextoLogin div.mdl-card__title h2 {
  text-align: center;
  margin: auto;
  display: block;
}

.mdl-grid.login {
  margin: 40px auto;
  max-width: none;
}

#botao-meuPerfil svg {
  fill: white;
}

.sub-header {
  width: 100%;
  height: 50px;
  position: relative;
  display: inline-block;
}

.sub-header-row {
  border: none;
  border-bottom: 4px solid #ffaa00;
  width: 100%;
  margin: 0;
}

.paginas-sub-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  padding: 11px 20px;
  background: white;
  box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3);
  &.login {
    /* justify-content: flex-end; */
  }
}

.paginas-sub-header a {
  text-decoration: none;
  transition: all 0.7s ease;
  cursor: pointer;
}

a .pagina-inicial {
  transition: all 0.7s ease;
  cursor: pointer;
  color: gray;
}

a .pagina-inicial.ativa {
  cursor: pointer;
  color: #3c4d73;
}

a .pagina-inicial:hover {
  text-decoration: underline;
}

a .outras-paginas {
  color: #3c4d73;
  transition: all 0.7s ease;
  cursor: pointer;
}

a .outras-paginas:hover {
  text-decoration: underline;
}

a .outras-paginas.nao-atual {
  color: gray;
  transition: all 0.7s ease;
  cursor: pointer;
}

a .outras-paginas.nao-atual:hover {
  text-decoration: underline;
}

a p {
  margin: 0;
  font-weight: 500;
  font-size: 12px;
  font-family: "Urbanist";
}

.icone-sub-header {
  color: #ff5722;
}

.menu-navegacao {
  width: 260px;
  height: 100dvh;
  background-color: #333948;
  color: white;
  position: fixed;
  transition: all 0.3s ease;
  left: 0;
  /* box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14),
    0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); */
  border: none;
  z-index: 100;
  /* overflow: hidden; */
  &.branco {
    background-color: #fff;
    .cabecalho-menu-navegacao {
      background-color: #fff;
      color: #000;
    }
    .linha-divisao {
      display: none;
    }
    .bloco-titulo-menu-navegacao h5 {
      color: #000;
    }
    .botao-navegacao,
    .botao-navegacao-expandir {
      background-color: #fff;
    }
    .texto-botao {
      color: #606166;
    }
    .icone-botao svg {
      fill: #606166;
    }
    .flecha-menu-navegacao svg {
      fill: #606166;
    }
  }
}

.linha-informacoes {
  display: flex;
  flex-direction: row;
  gap: 4px;
  align-items: center;
  justify-content: flex-start;
}

@media screen and (width <= 400px) {
  .linha-informacoes {
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
    justify-content: center;
  }
}

.menu-navegacao .linha-divisao {
  width: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  height: 4px;
  border: none;
  background: #303e5d;
  margin: 0;
  border-radius: 0;
}

.conteudo-menu-navegacao {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  height: 100dvh;
}

.bloco-instrucoes {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  gap: 16px;
  border-radius: 12px;
  overflow: hidden;
  padding: 16px;
  background-color: #fff;
  border: 2px solid #dbdbdb;
  &.sombreado {
    box-shadow: rgba(0, 0, 0, 0.25) 3px 4px 10px;
    border: none;
  }
}
.campo-titulo-instrucoes {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
  gap: 16px;
  .titulo-instrucoes {
    width: 100%;
    position: relative;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: left;
    color: #000;
    text-transform: uppercase;
  }
}
.campo-corpo-instrucoes {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  ul.corpo-instrucoes {
    width: 100%;
    position: relative;
    padding-left: 20px; /* Melhor espaçamento para listas */
  }

  li.instrucao {
    font-weight: 500;
    font-size: 14px; /* Aumenta a legibilidade */
    line-height: 1.6;
    text-align: justify;
    color: #000; /* Cor mais suave para leitura */
    padding-left: 10px;
    position: relative;
  }
}

/* Estilo para chip de gerenciamento de acesso */
.chip-gerenciar-acesso-container {
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-left: auto;
}

.chip-gerenciar-acesso-container .corpo-chip-gerenciar-acesso {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  border-radius: 6px;
}

.corpo-chip-gerenciar-acesso .icone {
  padding: 6px;
  background-color: #ffffff2b;
  font-size: 24px;
}

.corpo-chip-gerenciar-acesso .texto-chip-gerenciar-acesso {
  font-weight: 600;
  line-height: 0;
  letter-spacing: normal;
  margin: 6px;
  font-size: 12px;
}

.cabecalho-menu-navegacao {
  width: 100%;
  background-color: #333948;
  color: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 1;
  transition: box-shadow 0.3s ease;
  padding: 20px 12px;
  &.sombreado {
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.3);
  }
  .bloco-titulo-menu-navegacao {
    width: auto;
    display: flex;
    flex-direction: row;
    gap: 12px;
    transition: box-shadow 0.3s ease;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    will-change: box-shadow;
    .icone-sistema {
      height: 34px;
      width: 34px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      img {
        height: 30px;
        object-fit: cover;
      }
    }
    h5 {
      margin: 0;
      font-size: 24px;
      text-transform: capitalize;
      text-align: center;
      color: #fff;
      letter-spacing: 0;
      line-height: 28px;
      font-weight: 700;
    }
  }
}
.corpo-menu-navegacao {
  padding: 16px;
  margin: 0;
  width: 100%;
  overflow-y: scroll;
  position: relative;
  scrollbar-width: none;
  .botoes-expandidos {
    overflow: hidden;
    /* Oculta o conteúdo que excede o tamanho do elemento */
    transition: max-height 0.3s ease, padding 0.3s ease 0.18s;
    /* Adiciona uma transição suave à propriedade max-height */
    max-height: 0;
    /* Define a altura máxima como 0, o que esconde o conteúdo */
    /* padding-left: 12px; */
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    background-color: #2e3140;
  }

  .botao-navegacao,
  .botao-navegacao-expandir {
    outline: none;
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    background-color: #333948;
    padding: 14px 14px;
    gap: 10px;
    border: none;
    cursor: pointer;
    margin-bottom: 10px;
  }
  /* Define a transição */
  .botao-navegacao {
    transition: margin-bottom 0.3s ease-in-out,
      background-color 0.3s ease-in-out, background 0.3s ease-in-out,
      border-radius 0.3s ease-in-out;
  }
  .botao-navegacao-expandir {
    transition: margin-bottom 0.3s ease-in-out 0.3s,
      background-color 0.3s ease-in-out 0.3s, background 0.3s ease-in-out 0.3s,
      border-radius 0.3s ease-in-out 0.3s;
  }
  .flecha-menu-navegacao {
    position: relative;
    right: 0;
    margin-left: auto;
  }

  .flecha-menu-navegacao svg {
    fill: #fff;
    width: 16px;
    height: 16px;
  }

  .botoes-expandidos.expandido {
    max-height: 130px;
    padding: 8px;
    /* Oculta o conteúdo que excede o tamanho do elemento */
    transition: max-height 0.3s ease-in-out;
    margin-bottom: 10px;
  }

  #botoes-ocorrencias.botoes-expandidos.expandido {
    max-height: 230px;
  }

  #botoes-cadastros.botoes-expandidos.expandido {
    max-height: 800px;
  }

  #botoes-relatorios.botoes-expandidos.expandido {
    max-height: 300px;
  }

  /* .botao-navegacao:hover {
    background-color: #1d263a !important;
  } */

  .botoes-expandidos .botao-navegacao:disabled {
    background: rgb(190, 190, 190);
    user-select: none;
    pointer-events: none;
  }
  .botoes-expandidos .botao-navegacao:disabled .texto-botao {
    color: rgb(130, 130, 130);
  }
  .botoes-expandidos .botao-navegacao:disabled .icone-botao svg {
    fill: rgb(130, 130, 130);
  }

  .botoes-expandidos .botao-navegacao {
    padding: 12px;
    background: transparent;
    &:last-child {
      margin-bottom: 0;
    }
  }

  .botoes-expandidos .botao-navegacao .icone-botao svg {
    width: 22px;
    height: 22px;
  }

  .botoes-expandidos .botao-navegacao .texto-botao {
    font-size: 14px;
    text-align: left;
    line-height: normal;
  }

  .botao-navegacao:hover,
  .botao-navegacao-expandir:hover {
    background-color: rgba(255, 255, 255, 0.1);
  }

  .botao-navegacao-expandir.ativado-expandir {
    background-color: rgba(255, 255, 255, 0.15);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 0px;
    transition: background-color 0.3s ease-in-out, background 0.3s ease-in-out;
  }

  .botao-navegacao.ativado {
    background-color: #fff;
  }

  .botao-navegacao.ativado .icone-botao svg {
    fill: #192030;
  }

  .botao-navegacao.ativado .texto-botao {
    color: #192030;
  }

  .icone-botao svg {
    fill: #fff;
    width: 28px;
    height: 28px;
    transition: all 0.3s ease;
  }

  .texto-botao {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-transform: capitalize;
    font-family: "Urbanist";
    transition: all 0.3s ease-in-out;
    width: fit-content;
    text-overflow: ellipsis;
  }
}
.botao-navegacao.gerenciar-acesso {
  background-color: #fff;
  color: #192030;
}

.botao-navegacao.gerenciar-acesso .texto-botao {
  color: #192030;
}

.botao-navegacao.gerenciar-acesso svg {
  fill: #192030;
}
.botao-navegacao.desabilitado {
  background: rgb(190, 190, 190);
  user-select: none;
  pointer-events: none;
}
.botoes-expandidos.desabilitado {
  background: rgb(190, 190, 190);
  user-select: none;
  pointer-events: none;
}
.botao-navegacao-expandir.desabilitado {
  background: rgb(190, 190, 190);
  user-select: none;
  pointer-events: none;
}
.rodape-menu-navegacao {
  width: 100%;
  background-color: #192030;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  .bloco-imagem {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    img {
      height: 50px;
      max-height: 50px;
    }
  }
}

.menu-navegacao.oculto {
  left: -260px;
}
#colunaCalendario.oculto {
  right: 55px;
}
.menu-navegacao.oculto ~ .conteudo-pagina {
  left: 0;
  width: 100%;
}

.menu-navegacao ~ .conteudo-pagina header {
  width: calc(100% - 260px);
}

.menu-navegacao.oculto ~ .conteudo-pagina header {
  width: calc(100%);
}

.conteudo-pagina {
  position: relative;
  transition: all 0.3s ease;
  left: 260px;
  width: calc(100% - 260px);
  overflow-x: hidden;
  overflow-y: hidden;
  height: 100%;
  padding: 0;
  /* top: 70px; */
}

.conteudo-cima {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  padding: 20px;
  overflow: hidden;
  width: 100%;
}

.informacoes-usuario {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: 100%;
  img {
    background-color: #192030;
    border-radius: 12px;
    width: 100%;
    padding: 12px;
  }
}

.bloco-usuario-menu {
  min-width: 60px;
  min-height: 60px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #192030;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bloco-usuario-menu svg {
  height: 40px;
  width: 40px;
  fill: white;
  margin: 0;
}

.nome-usuario {
  width: 100%;
  overflow: hidden;
  color: #858585;
}

.nome-usuario h4 {
  font-family: "Urbanist";
  font-weight: 700;
  margin: 0;
  padding: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.nome-usuario p {
  font-family: "Urbanist";
  font-weight: 500;
  margin: 0;
  padding: 0;
}

hr.linha-menu {
  margin: 7px 0;
  display: none;
}

/* Estilos da resposta do servidor */
.progress-bar-container {
  width: 100%;
  transition: all 0.8s ease-in-out;
  opacity: 1;
  visibility: visible;
  overflow: hidden;
}

.progress-bar {
  height: 12px;
  border-radius: 3px;
  background-color: #192030;
  width: 0%;
  transition: all 0.3s ease-in-out;
}

dialog.reduzido {
  width: 380px;
}
dialog.reduzido_plus {
  width: 300px;
}

.dialogo-resposta {
  border-radius: 10px;
  position: absolute;
  /* left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); */
  margin: 0;
  padding: 0;
  overflow: hidden;
  .cabecario-dialogo {
    width: 100%;
    text-align: left;
    padding: 12px;
    border: none;
    background: #192030;
    .titulo-dialogo {
      font-size: 18px;
      text-transform: uppercase;
      text-align: center;
      color: #fff;
    }
  }
  .conteudo-dialogo {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: space-evenly;
    padding: 16px !important;
    width: 100%;
    gap: 12px;
  }
  .rodape-dialogo {
    transition: all 0.8s ease-in-out;
    display: none;
  }
  &.mostrar {
    .conteudo-dialogo {
      align-items: flex-start;
      max-height: 320px;
      .progress-bar-container {
        opacity: 0;
        visibility: hidden;
      }
      .texto-servidor {
        opacity: 0;
        visibility: hidden;
      }
    }
    .rodape-dialogo.mostrar {
      display: flex;
      button {
        width: 100%;
      }
    }
  }
}

.subtitulo-dialogo {
  position: relative;
  display: block;
  text-align: left;
  width: 100%;
  font-weight: 700;
  font-size: 16px;
  color: rgb(0, 0, 0);
  margin-bottom: 12px;
  letter-spacing: 0;
}

div.conteudo-resposta.mdl-dialog__content {
  padding: 0;
}

.texto-servidor {
  width: 100%;
  font-weight: 600;
  color: rgb(0, 0, 0);
  font-size: 18px;
  text-align: center;
  padding: 0;
  margin: 0;
  transition: all 0.8s ease-in-out;
  opacity: 1;
  visibility: visible;
  position: relative;
  bottom: 0;
}

/* Adicionando responsividade a sidebar */

@media screen and (max-width: 1000px) {
  .icone-barra#icone1 {
    display: block;
  }
  .icone-barra#icone2 {
    display: none;
  }

  .menu-navegacao {
    left: -270px;
  }

  .menu-navegacao.oculto {
    left: 0;
  }

  .conteudo-principal {
    scrollbar-width: none !important;
  }

  .conteudo-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .menu-navegacao ~ .conteudo-pagina header {
    width: calc(100%);
  }

  .menu-navegacao.oculto ~ .conteudo-pagina {
    width: 100%;
    left: 0;
  }

  .conteudo-pagina {
    position: relative;
    transition: all 0.3s ease-in-out;
    left: 0;
    width: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    height: 100dvh;
    padding: 0;
    /* top: 70px; */
  }

  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    /* cor de fundo semi-transparente */
    z-index: 10;
    transition: all 0.3s ease-in-out;
    opacity: 0;
    /* começa invisível */
    pointer-events: none;
    /* oculta cliques enquanto invisível */
  }

  .overlay.sobreposto {
    opacity: 1;
    /* torna-se visível */
    pointer-events: auto;
    /* permite cliques */
  }
}

label.labelData {
  color: gray;
  font-weight: 500 !important;
  font-size: 12px;
  top: 0px;
  visibility: visible;
}

.menuFormulario {
  min-width: 400px;
  width: 100%;
  position: relative;
  background: #ffffff;
  border-radius: 0.5rem;
  border: none;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
}

/* Estilos para os botões de seleção */

.infractionButton {
  width: 100%;
}

label.button {
  padding: 0.7rem 2rem;
  width: 100%;
  height: 45px;
  background: #192030;
  color: white;
  position: relative;
  cursor: pointer;
  border-radius: 0.5rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
  overflow: hidden;
}

span.label-text {
  font-family: "Urbanist";
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
  font-size: 13px;
  width: calc(100% - 20px);
  letter-spacing: 0.03rem;
  text-transform: uppercase;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

span.label-icon {
  position: absolute;
  width: 24px;
  height: 24px;
  left: -3rem;
  transition: all 0.3s ease;
  color: white;
}

input.button-input:checked + label.button span.label-text {
  margin-left: 1.2rem;
}

input.button-input:checked + label.button {
  justify-content: space-evenly;
  background: #2e3b58;
}

input.button-input:checked + label.button span.label-icon {
  left: 1rem;
}

input.button-input {
  display: none;
}

/* Impede que haja erros de design em dispositivos móveis */

@media screen and (min-width: 600px) {
  input.button-input:not(:checked) + label.button:hover {
    justify-content: space-evenly;
    background: #10151f;
  }

  label.button:hover span.label-icon {
    left: 1rem;
  }

  label.button:hover span.label-text {
    margin-left: 1.2rem;
  }
}

/* Fim dos estilos do botão de seleção */

/* Componentes das tabelas de cadastros */
@media screen and (max-width: 480px) {
  .menuFormulario {
    min-width: 100%;
  }
  .mdl-layout__title {
    max-width: 65%;
    h5 {
      font-size: 16px;
    }
    span {
      font-size: 11px;
      font-weight: 500;
    }
  }
  .manage-account-icon {
    display: none;
  }
  .manage-account-icon.sidebar {
    display: flex;
  }
}

.menuTabela {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #ffffff;
  border-radius: 12px;
  border: none;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  padding: 16px;
  margin: 0 auto;
  transition: max-height 0.3s ease;
  /* Adiciona uma transição suave na altura */
  max-height: 76px;
}

@media screen and (max-width: 800px) {
  .menuTabela {
    display: none;
  }
}

.infractionButtonRadio {
  border: none;
  outline: none;
  text-transform: uppercase;
  font-family: "Urbanist";
  cursor: pointer;
}

/* Estilos de botões coadjuvantes */
.coadjuvantButton {
  background-color: #dbdbdb;
  color: #000;
  transition: all 0.3s ease;
  outline: none !important;
  text-transform: uppercase;
  font-family: "Urbanist";
  line-height: normal;
  cursor: pointer;
  border-radius: 0.5rem;
  min-height: 34px;
  border: none;
  font-weight: 500;
  white-space: nowrap; /* Impede a quebra de linha */
  overflow: hidden; /* Esconde o texto que exceder o espaço */
  text-overflow: ellipsis; /* Adiciona "..." no final do texto */
  display: inline-flex;
  margin: auto;
}
.coadjuvantButton.loading {
  pointer-events: none; /* Impede cliques enquanto carrega */
  color: transparent; /* Oculta o texto */
}
.coadjuvantButton.loading .spinner-button .path-button {
  -webkit-text-stroke: #32363d;
  stroke: #32363d;
}

.transparent-effect {
  transition: all 0.3s ease;
  outline: none !important;
  /* background-color: transparent; */
  /* color: #192030; */
  box-shadow: none !important;
  /* border: 2px solid #192030; */
  &:hover {
    /* background-color: #192030; */
    /* color: #fff; */
  }
}
.botaoExluir {
  background-color: #e22b2b;
  color: #fff;
  &:hover {
    background-color: #b60d0d !important;
  }
}
.botao-fundo-transparente {
  background-color: transparent !important;
  border: 2px solid #192030;
  color: #192030;
}
.mdl-button.white-background {
  background-color: #fff;
  color: #192030;
  & .spinner-button .path-button {
    -webkit-text-stroke: #192030;
    stroke: #192030;
  }
}
.mdl-button.red-background {
  background-color: #f44336;
  color: #fff;
  & .spinner-button .path-button {
    -webkit-text-stroke: #fff;
    stroke: #fff;
  }
}

.botao-pequeno {
  position: relative;
  font-size: 12px !important;
  min-height: 28.25px;
  height: 28.25px;
  box-shadow: none !important;
}

.botao-pequeno .material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  font-size: 16px;
  color: #fff;
  margin-right: 6px;
}
label.botao-pequeno {
  padding: 8px;
}

.botao-moderno {
  box-shadow: none;
  white-space: nowrap;
  font-size: 13px;
  text-align: left;
  padding: 10px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(157, 182, 243, 0.3);
  color: #1c51cd;
  font-weight: 600;
  line-height: normal;
  border: none;
  outline: none;
  width: auto;
  min-width: fit-content;
  transition: all 0.3s ease-in-out;
  &:hover {
    /* box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .2) !important; */
  }
  & .material-symbols-outlined {
    color: #1c51cd;
  }
}
.coadjuvantButton .material-symbols-outlined {
  color: #5d5d5d;
}
.botao-historico {
  min-height: 22.8px;
  height: 22.8px;
  border-radius: 5px;
  padding: 0.3rem 0.5rem;
}
.botao-moderno .spinner-button .path-button,
.aviso-card .spinner-button .path-button {
  -webkit-text-stroke: #1c51cd;
  stroke: #1c51cd;
}
.select-unico input[type="radio"] {
  display: none;
}
.entradaDados {
  position: relative;
  width: 100%;
  display: inline-block;
  .multiselect-native-select {
    margin-top: 8px;
  }
  &:not(:last-child) {
    .multiselect-native-select {
      margin-bottom: 8px;
    }
  }
  &.sem-espacamento-baixo {
    padding-bottom: 0 !important;
    label::after {
      bottom: 0 !important;
    }
  }
}
.entradaDados.com-checkbox {
  padding-bottom: 40px;
  label::after {
    bottom: 40px;
  }
}
.entradaDados .input-icon {
  position: absolute;
  overflow: hidden;
  top: calc(50% - 1px);
  transform: translateY(-50%);
  right: 0;
  font-size: 18px;
  color: rgba(0, 0, 0, 0.6);
  padding: 0 1.2px;
  background-color: #fff;
  transition: all ease-in-out 0.3s;
  &:hover {
    background-color: rgb(199, 199, 199);
    cursor: pointer;
    user-select: none;
  }
}
.entradaDados.estatico {
  /* padding-bottom: 0; */
  input,
  select,
  textarea {
    border: none;
    opacity: 1;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
}
.entradaDados.sem-mdl input {
  transition: all 0.3s ease-in-out;
  outline: none;
  border: 2px solid #dbdbdb;
  width: 100%;
  padding: 10px;
  border-radius: 6px;
  background-color: #fff;
  color: #000;
  text-align: left;
  font-size: 14px;
  outline: none;
  font-weight: 500;
  &:focus {
    border-color: #192030;
  }
}
.entradaDados:not(.com-checkbox) {
  .mdl-checkbox {
    height: auto;
  }
  /* .mdl-checkbox__focus-helper {
    top: 50%;
    transform: translateY(-50%);
  }
  .mdl-checkbox__box-outline {
    top: 50%;
    transform: translateY(-50%);
  } */
}
.entradaDados.com-checkbox .mdl-checkbox,
.entradaDados.com-checkbox .selecao-dados {
  margin-top: 0;
  position: absolute;
  /* right: 0;
  top: 50%;
  transform: translate(0, -50%);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row-reverse;
  gap: 8px; */
  .mdl-checkbox__box-outline,
  .mdl-checkbox__focus-helper {
    width: 14px;
    height: 14px;
  }
  .mdl-checkbox__focus-helper {
    /* margin-left: 24px; */
  }
  .mdl-checkbox__box-outline {
    /* position: relative; */
  }
  span {
    font-size: 12px;
    line-height: 20px;
  }
}
[data-select-personalizado] .multiselect-native-select {
  margin-bottom: 0 !important;
}
.entradaDados.is-invalid .multiselect-native-select .btn-group button {
  border-color: rgb(213, 0, 0);
}
/* Estilo base para o container do Tom Select */
.ts-wrapper {
  border-bottom: 2px solid rgba(0, 0, 0, 0.3);
  color: #ffffff !important; /* Texto branco para contraste */
  border-radius: 0 !important; /* Bordas arredondadas */
  padding: 0 !important;
  width: 100% !important;
  font-size: 13px !important;
  box-shadow: none !important;
  min-height: 20px;
}

.form-check input[type="checkbox"] {
  margin-right: auto;
  width: 16px;
  height: 16px;
  color: #192030;
  vertical-align: middle;
  -webkit-appearance: none;
  background: none;
  border: 0;
  outline: 0;
  flex-grow: 0;
  border-radius: 4px;
  background-color: #ffffff;
  transition: background 300ms;
  cursor: pointer;
}

/* Pseudo element for check styling */

.form-check input[type="checkbox"]::before {
  content: "";
  color: transparent;
  display: block;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  border: 0;
  background-color: transparent;
  background-size: contain;
  box-shadow: inset 0 0 0 1px #ccd3d8;
}

/* Checked */

.form-check input[type="checkbox"]:checked {
  background-color: currentcolor;
}

.form-check input[type="checkbox"]:checked::before {
  box-shadow: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23192030'/%3E %3C/svg%3E");
}

/* Disabled */

.form-check input[type="checkbox"]:disabled {
  background-color: #ccd3d8;
  opacity: 0.84;
  cursor: not-allowed;
}

/* IE */

.form-check input[type="checkbox"]::-ms-check {
  content: "";
  color: transparent;
  display: block;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  border: 0;
  background-color: transparent;
  background-size: contain;
  box-shadow: inset 0 0 0 1px #ccd3d8;
}

.form-check input[type="checkbox"]:checked::-ms-check {
  box-shadow: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23fff'/%3E %3C/svg%3E");
}

.retrocederTexto {
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.coadjuvantButton:disabled {
  pointer-events: none;
  user-select: none;
}
.botaoReduzido {
  font-size: 10px;
  min-height: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
  white-space: nowrap;
}

.coadjuvantButtonIcon {
  background-color: #dbdbdb;
  color: #000;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none !important;
}

.coadjuvantButtonIcon:hover,
.coadjuvantButtonIcon:focus,
.coadjuvantButtonIcon:active {
  background-color: #b6b6b6;
}

.coadjuvantButtonIcon.carregado {
  background-color: #2e3b58;
  color: #fff;
}

.coadjuvantButtonIcon.carregado:hover,
.coadjuvantButtonIcon.carregado:focus,
.coadjuvantButtonIcon.carregado:active {
  background-color: #2e3b58;
}

coadjuvantButton {
  background-color: #dbdbdb;
  color: #000;
  transition: all 0.3s ease;
  outline: none !important;
  text-transform: uppercase;
  font-family: "Urbanist";
  line-height: 1px;
  cursor: pointer;
  border-radius: 0.5rem;
  min-height: 34px;
  border: none;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: flex;
  margin: auto;
  align-items: center;
  justify-content: center;
}

label.coadjuvantButton:hover,
label.coadjuvantButton:focus,
label.coadjuvantButton:active {
  background-color: #d3d3d3;
}

label.coadjuvantButton .label-text {
  color: #333;
  transition: all 0.2s ease-in-out;
  width: 85px;
  position: relative;
  display: inline-block;
}

input.button-input-radio:checked + label.coadjuvantButton {
  color: white;
  background: #2e3b58;
}

input.button-input-radio:checked + label.coadjuvantButton .label-text {
  color: white;
}

input.button-input-radio {
  display: none;
}
#spanEmailError {
  display: none;
  visibility: hidden;
}
#spanEmailError.is-invalid {
  display: block;
  visibility: visible;
}
#emailInvalid.is-valid {
  display: none;
  visibility: hidden;
}
.dialogo-confirmacao {
  margin: auto;
  border-radius: 16px;
  padding: 20px;
}

.dialogo-selecao.agendamento {
  padding: 0;
  width: 600px;
  overflow: hidden;
}
.agendamento .conteudo-dialogo.agendamento {
  flex-direction: column;
  padding: 16px;
  gap: 0;
  max-height: 400px;
  overflow: overlay;
}
.conteudo-dialogo.agendamento {
  gap: 0;
}
.dados-duas-colunas-responsivo {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  column-gap: 16px;
}
@media screen and (width <= 500px) {
  .dados-duas-colunas-responsivo:not(.menor) {
    flex-direction: column;
  }
}
@media screen and (width <= 400px) {
  .dados-duas-colunas-responsivo.menor {
    flex-direction: column;
  }
}
.dialogo-confirmacao p {
  text-align: justify;
  color: #5a5a5a;
  &:last-child {
    margin: 0;
  }
}

.dialogo-confirmacao .rodape-dialogo button:not(:last-child) {
  background-color: #192030;
  color: #fff;
  &:hover {
    background-color: #10151f;
  }
}
.conteudo-dialogo {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  position: relative;
  align-items: start;
  z-index: 100;
  position: relative;
  background: transparent;
  padding: 10px 0;
  overflow: overlay;
  outline: none;
}
.dialogo-confirmacao .conteudo-dialogo {
  flex-direction: column;
}
.conteudo-dialogo.confirmacao {
  border: none;
  padding: 14px 0;
}
.dialogo-confirmacao.confirmacao button {
  margin: 0;
  border-radius: 8px;
  padding: 0;
}

.dialogo-confirmacao p {
  text-align: justify;
  color: #5a5a5a;
}

.titulo-dialogo {
  font-size: 22px;
  font-family: Urbanist;
  font-weight: 700;
  text-align: left;
  padding: 0;
  width: 100%;
  line-height: normal;
}

.acoes-dialogo {
  flex-direction: row-reverse;
  width: 100%;
  padding: 0;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.acoes-dialogo:has(button:nth-child(2)):not(:has(button:nth-child(3))) {
  button {
    margin: 0;
    width: 100%;
  }
}
.acoes-dialogo:has(button:nth-child(3)) {
  button {
    margin: 0;
  }
}

.serverResponse {
  background-color: #fff;
  min-width: 200px;
  max-width: 250px;
  border-radius: 10px;
  border: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  position: fixed;
  top: -100px;
  transform: translate(-50%, -50%);
  left: 50%;
  z-index: 2147483647;
  transition: top 0.3s ease, opacity 0.3s ease; /* Define a animação suave */
  overflow: hidden;
  box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.4);
  gap: 0.8rem;
  padding: 1rem;
  opacity: 0;
}
.serverResponse.close {
  padding: 0;
  background-color: #fff;
}
.serverResponse.close .textResponse {
  color: #000;
}
.serverResponse.loading .textResponse {
  color: #000;
}
.serverResponse.sucess .textResponse {
  color: #fff;
}
.serverResponse.failure .textResponse {
  color: #fff;
}
.serverResponse.alert .textResponse {
  color: #fff;
}
.serverResponse.sucess {
  background-color: #3a746c;
}
.serverResponse.failure {
  background-color: #d94f4f;
}
.serverResponse.alert {
  background-color: #e9be32;
}
.serverResponse.info {
  background-color: #fff;
}

.serverResponse.info .textResponse {
  color: #000;
}

.serverResponse.responseIcon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.serverResponse.close .close-icon {
  height: 100%;
  padding-inline: 16px;
  border-left: 2px solid rgba(0, 0, 0, 0.2);
  font-size: 28px;
  cursor: pointer;
  color: #dbdbdb;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
.serverResponse.close .textResponse {
  text-align: left;
  padding: 1rem;
  font-size: 13px;
}
.serverResponse .close-icon:hover {
  color: #818181;
}
.serverResponse .closeResponse {
  position: relative;
  min-width: 20px;
  min-height: 20px;
  max-width: 20px;
  max-height: 20px;
  width: 20px;
  height: 20px;
  padding: 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.25);
  box-shadow: none;
  /* border-left: 2px solid rgba(0, 0, 0, 0.2); */
  cursor: pointer;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
  margin-bottom: auto;
}

.serverResponse.info .closeResponse {
  background-color: #19203040;
}

.serverResponse.info .closeResponse .closeResponseIcon svg {
  fill: #192030;
}

.serverResponse .closeResponse .closeResponseIcon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
}

.serverResponse .closeResponse .closeResponseIcon svg {
  width: 14px;
  height: 14px;
}

.serverResponse .closeResponse .mdl-button__ripple-container .mdl-ripple {
  background: rgb(255, 255, 255);
}

.serverResponse .closeResponse .mdl-button__ripple-container .mdl-ripple.is-visible {
  opacity: 0.35;
}

.serverResponse .closeResponse:hover, .serverResponse .closeResponse:focus {
  /* font-size: 32px; */
}

.serverResponse.show {
  top: 80px; /* O card desliza para a posição 80px a partir do topo */
  opacity: 1; /* O card fica visível */
}

.responseIcon svg {
  width: 30px;
  height: 30px;
}

.selecao-dados {
  width: 1rem;
  height: 1rem;
  color: #192030;
  vertical-align: middle;
  -webkit-appearance: none;
  background: none;
  border: 0;
  outline: 0;
  flex-grow: 0;
  border-radius: 50%;
  background-color: #ffffff;
  transition: background 300ms;
  cursor: pointer;
}

/* Pseudo element for check styling */

.selecao-dados::before {
  content: "";
  color: transparent;
  display: block;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  border: 0;
  background-color: transparent;
  background-size: contain;
  box-shadow: inset 0 0 0 1px #ccd3d8;
}

/* Checked */

.selecao-dados:checked {
  background-color: currentcolor;
}

.selecao-dados:checked::before {
  box-shadow: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23fff'/%3E %3C/svg%3E") !important;

  /* Melhorando a qualidade */
  background-size: contain; /* Mantém a proporção */
  background-repeat: no-repeat;
  background-position: center;

  /* Otimização para manter a nitidez */
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;

  /* Garantindo tamanho adequado */
  /* width: 24px;
  height: 24px; */
  display: inline-block;
}

/* Disabled */

.selecao-dados:disabled {
  background-color: #ccd3d8;
  opacity: 0.84;
  cursor: not-allowed;
}

/* IE */

.selecao-dados::-ms-check {
  content: "";
  color: transparent;
  display: block;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  border: 0;
  background-color: transparent;
  background-size: contain;
  box-shadow: inset 0 0 0 1px #ccd3d8;
}

.selecao-dados:checked::-ms-check {
  box-shadow: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23fff'/%3E %3C/svg%3E");
}

.textResponse {
  font-family: "Urbanist";
  color: rgb(255, 255, 255);
  font-size: 13px;
  line-height: normal;
  letter-spacing: 0;
  width: 100%;
  text-align: left;
}
.filter-icon-button {
  background-color: #fff;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 8px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
.filter-icon-button:hover {
  background-color: #dbdbdb;
}
.filter-icon-button img {
  width: 20px;
  object-fit: cover;
}

/* --------- scroolbar customizada ---------- */

::-webkit-scrollbar {
  width: 16px;
}
::-webkit-scrollbar-track {
  background-color: #cdcdcd;
}
::-webkit-scrollbar-thumb {
  background-color: #797979;
  border: 0.18em solid #cdcdcd;
}
::-webkit-scrollbar-thumb:hover {
  background-color: #686868;
}

table:not(#calendar, .gerenciar-metas, .impressao) {
  font-size: 13.6px;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
  border: 2px solid #dbdbdb;
}

table:not(#calendar, .gerenciar-metas, .impressao) tr {
  background-color: #f8f8f8;
  padding: 5.6px;
  border-bottom: 2px solid #dbdbdb;
}

table:not(#calendar, .gerenciar-metas, .impressao) caption {
  font-size: 24px;
  margin: 8px 0 12px;
}

tbody:not(#calendar, .gerenciar-metas) tr.ocultado-pela-pesquisa {
  display: none;
}

table:not(#calendar, .gerenciar-metas, .impressao) th,
table:not(#calendar, .gerenciar-metas, .impressao) td {
  padding: 5.6px;
  text-align: left;
  overflow: visible;
  text-overflow: ellipsis;
  position: relative;
}

table:not(#calendar, .gerenciar-metas, .impressao) th {
  font-size: 16px;
  padding: 8px;
  cursor: pointer;
}

table:not(#calendar, .gerenciar-metas, .impressao) td {
  /* text-transform: uppercase; */
}

table:not(#calendar, .gerenciar-metas, [data-select-unico])
  th.sorted-asc::after {
  content: " ↑";
}

table:not(#calendar, .gerenciar-metas, [data-select-unico])
  th.sorted-desc::after {
  content: " ↓";
}

table:not(#calendar, .gerenciar-metas, .impressao) thead tr {
  background-color: #f0f0f0;
  color: rgba(0, 0, 0, 0.8);
}

table:not(#calendar, .gerenciar-metas, .impressao) thead tr th:first-child,
table:not(#calendar, .gerenciar-metas, .impressao) tbody tr td:first-child {
  width: 40px;
}
@media (max-width: 800px) {
  table:not(#calendar, .gerenciar-metas, .impressao) thead tr th:first-child,
  table:not(#calendar, .gerenciar-metas, .impressao) tbody tr td:first-child {
    width: 40px;
    background-color: #dadada;
  }
}

table:not(#calendar, .gerenciar-metas, .impressao) thead tr th:last-child,
table:not(#calendar, .gerenciar-metas, .impressao) tbody tr td:last-child {
  width: 80px;
  text-align: center;
}
table:not(#calendar, .gerenciar-metas, .impressao)
  thead
  tr
  th[data-acoes-registro],
table:not(#calendar, .gerenciar-metas, .impressao)
  tbody
  tr
  td[data-acoes-registro]:not(#calendar, .gerenciar-metas) {
  width: 100px;
}

@media screen and (max-width: 600px) {
  .sub-cabecario-tabela-dados {
    flex-direction: column-reverse !important;
  }
  .container-tabela-dados .botoes-acao-tabela {
    flex-direction: column;
    border: none !important;
    padding: 0 !important;
    width: 100% !important;
    button {
      width: 100% !important;
    }
  }
}
@media screen and (max-width: 800px) {
  table:not(#calendar, .gerenciar-metas, .impressao) {
    border: 0;
  }

  table:not(#calendar, .gerenciar-metas, .impressao) caption {
    font-size: 20.8px;
  }

  table:not(#calendar, .gerenciar-metas, .impressao) thead {
    border: none;
    /* clip: rect(0 0 0 0); */
    /* height: 1px; */
    /* margin: -1px; */
    overflow: hidden;
    padding: 0;
    /* position: absolute; */
    /* width: 1px; */
    tr {
      font-size: 14px;
      display: flex;
    }
    tr th {
      /* width: 100%; */
      white-space: nowrap;
    }
    tr > th {
      flex: 1;
      white-space: normal;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    tr th:first-child {
      display: none;
    }
    tr th:last-child {
      display: none;
    }
  }

  .selecao-dados {
    border-radius: 4px !important;
  }

  .acao-linha-dado label {
    border-radius: 4px !important;
  }

  .acao-linha-dado {
    box-shadow: none !important;
  }

  table:not(#calendar, .gerenciar-metas, .impressao) tr {
    padding: 0;
    border-bottom: 3px solid #ddd;
    display: block;
    margin-bottom: 10px;
    border: 1px solid #ddd;
  }

  table:not(#calendar, .gerenciar-metas, .impressao) td {
    width: 100% !important;
    display: flex;
    flex-direction: row;
    font-size: 12px;
    text-align: right;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    .situacao,
    .gravidade,
    .acao-linha-dados {
      margin: 0 !important;
    }
  }

  table:not(#calendar, .gerenciar-metas, .impressao)
    td:not(:nth-last-child(1)) {
    border-bottom: 1px solid #dbdbdb;
  }

  /* table:not(#calendar, .gerenciar-metas, .impressao) td:first-child,
  table:not(#calendar, .gerenciar-metas, .impressao) td:last-child {
    display: none;
  } */

  table:not(#calendar, .gerenciar-metas, .impressao) td::before {
    /*
    * aria-label has no advantage, it won't be read inside a table
    content: attr(aria-label);
    */
    content: attr(data-label);
    float: left;
    font-weight: bold;
    text-transform: uppercase;
  }

  table:not(#calendar, .gerenciar-metas, .impressao) td:last-child {
    border-bottom: 0;
  }
  .rodape-tabela-dados {
    gap: 14px !important;
    flex-direction: column !important;
    .paginacao-tabela {
      border-bottom: 2px solid #dbdbdb;
      padding-bottom: 10px;
      width: 100%;
      justify-content: center;
    }
  }
  .linhas-visiveis {
    border: none !important;
  }
}
.acao-linha-dados {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin: auto;
  width: min-content;
}
.acao-linha-dado {
  position: relative;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-in-out;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
}
.acao-linha-dado.loading {
  .spinner-button .path-button {
    -webkit-text-stroke: #fff;
    stroke: #fff;
  }
  label span {
    /* background-image: none !important; */
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* Impede cliques enquanto carrega */
  }
  label span {
    /* background-image: none !important; */
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* Impede cliques enquanto carrega */
  }
}
.acao-linha-dado input {
  display: none;
}

.acao-linha-dado label {
  position: relative;
  background-color: #dbdbdb;
  border-radius: 50%;
  padding: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-in-out;
}
.acao-linha-dado input:disabled ~ label {
  cursor: not-allowed;
}
tr.bloqueado td .acao-linha-dados .acao-linha-dado input:disabled label {
  cursor: not-allowed;
  transition: none;
  background-color: #dbdbdb;
}
.acao-linha-dado label .acao-linha-dado-icon {
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: background-image 0.3s ease-in-out, opacity 0.3s ease-in-out,
    visibilty 0.3s ease-in-out;
}
.acao-linha-dado-icon svg {
  width: 14px;
  height: 14px;
  position: relative;
  display: block;
  transition: all 0.3s ease-in-out;
}
tr.bloqueado
  td
  .acao-linha-dados
  .acao-linha-dado.excluir
  input:disabled
  ~ label
  span
  svg,
tr.bloqueado
  td
  .acao-linha-dados
  .acao-linha-dado.excluir
  input:disabled
  ~ label
  span
  .sub-icon {
  fill: #878787;
}
.acao-linha-dado.excluir label .acao-linha-dado-icon svg,
.acao-linha-dado.excluir label .acao-linha-dado-icon svg .sub-icon {
  fill: #f44336;
}
.acao-linha-dado.excluir input:not(:disabled) ~ label:hover,
.acao-linha-dado.excluir input:checked ~ label {
  background-color: #f44336;
}
.acao-linha-dado.excluir
  input:not(:disabled)
  ~ label:hover
  .acao-linha-dado-icon
  svg,
.acao-linha-dado.excluir
  input:not(:disabled)
  ~ label:hover
  .acao-linha-dado-icon
  svg
  .sub-icon,
.acao-linha-dado.excluir input:checked ~ label .acao-linha-dado-icon svg,
.acao-linha-dado.excluir
  input:checked
  ~ label
  .acao-linha-dado-icon
  svg
  .sub-icon {
  fill: #ffffff;
}
tr.bloqueado
  td
  .acao-linha-dados
  .acao-linha-dado.editar
  input:disabled
  ~ label
  span
  svg {
  fill: #878787;
}
.acao-linha-dado.editar input:not(:disabled) ~ label .acao-linha-dado-icon svg {
  fill: #192030;
}
.acao-linha-dado.editar input:not(:disabled) ~ label:hover,
.acao-linha-dado.editar input:checked ~ label {
  background-color: #192030;
}
.acao-linha-dado.editar
  input:not(:disabled)
  ~ label:hover
  .acao-linha-dado-icon
  svg,
.acao-linha-dado.editar
  input:not(:disabled):checked
  ~ label
  .acao-linha-dado-icon
  svg {
  fill: #ffffff;
}
.acao-linha-dado.mostrar
  input:not(:disabled)
  ~ label
  .acao-linha-dado-icon
  svg {
  fill: #192030;
}
.acao-linha-dado.mostrar input:not(:disabled) ~ label:hover,
.acao-linha-dado.mostrar input:checked ~ label {
  background-color: #192030;
}
.acao-linha-dado.mostrar
  input:not(:disabled)
  ~ label:hover
  .acao-linha-dado-icon
  svg,
.acao-linha-dado.mostrar
  input:not(:disabled):checked
  ~ label
  .acao-linha-dado-icon
  svg {
  fill: #ffffff;
}
.acao-linha-dado.mensagem input:not(:disabled) ~ label .acao-linha-dado-icon {
  background-size: cover;
  /* background-image: url("../img/SVG-IMAGES/messageIconColor.svg"); */
}
.acao-linha-dado.mensagem input:not(:disabled) ~ label:hover,
.acao-linha-dado.mensagem input:checked ~ label {
  background-color: #3498db;
}
.acao-linha-dado.mensagem
  input:not(:disabled)
  ~ label:hover
  .acao-linha-dado-icon,
.acao-linha-dado.mensagem
  input:not(:disabled):checked
  ~ label
  .acao-linha-dado-icon {
  /* background-image: url("../img/SVG-IMAGES/messageIconWhite.svg"); */
}
.loader-ocultado {
  display: none;
}
.sem-correspondencias {
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}
.sem-correspondencias.mostrar {
  display: flex;
}
/* Carregamento para elementos do servidor */
#loadingContainer {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: inherit;
  backdrop-filter: blur(0.36px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  z-index: 5;
  &.button {
    background-color: #192030 !important;
    #loadingspinner {
      width: 15%;
      border: 4px solid #dbdbdb;
      border-bottom-color: #fff;
    }
  }
}
#loadingspinner {
  z-index: 1;
  width: 30%;
  max-width: 48px;
  aspect-ratio: 1 / 1;
  border: 7px solid #fff;
  border-bottom-color: #bdbdbd;
  border-radius: 50%;
  display: block;
  animation: rotate 1s linear infinite;
}
/* Biblioteca MultiSelect CSS */
/* Container do multiselect */
.multiselect-native-select {
  font-family: "Urbanist" !important;
  display: inline-block;
  position: relative;
  width: 100%;
}

/* Estilo para o select original */
#selectIndicisplinas {
  display: none;
  /* Oculta o select original */
}

button.anexar-arquivo {
  display: flex;
  outline: none;
  border: 2px solid #dbdbdb;
  width: 100%;
  border-radius: 6px;
  background-color: #fff;
  color: #000;
  line-height: 1.2;
  text-align: left;
  cursor: auto;
  font-size: 14px;
  text-overflow: ellipsis;
  overflow: hidden;
  font-weight: 500;
  margin: 8px 0;
  position: relative;
  height: 40px;
  min-height: 40px;
  white-space: nowrap;
  .texto-arquivo {
    cursor: pointer;
    color: #000;
    text-align: left;
    width: calc(100%);
    line-height: 1;
    padding: 12px 10px;
    font-size: 14px;
    text-overflow: ellipsis;
    overflow: hidden;
    font-weight: 500;
    display: block;
    height: 100%;
  }
  .manipular-arquivo {
    cursor: pointer;
    top: 0;
    background-color: #fff;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: -50px;
    width: 40px;
    min-width: 40px;
    height: 100%;
    min-height: 100%;
    border-left: 2px solid #dbdbdb;
    transition: all 0.3s ease-in-out;
  }
  &.vinculado {
    margin-bottom: 0px;
    .texto-arquivo {
      width: calc(100% - 84px);
    }
    .manipular-arquivo {
      &.apagar {
        right: 0;
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
        fill: #f44336;
        &.desabilitado {
          pointer-events: none;
          cursor: auto;
          svg {
            fill: gray;
          }
        }
      }
      &.download {
        right: 40px;
      }
      /* transition: none; */
    }
  }
}

/* button.anexar-arquivo.vinculado {
  overflow: visible;
} */

.entradaDados.is-invalid .anexar-arquivo {
  border-color: #f44336;
}

[data-arquivo] + label:after {
  display: none;
}
[data-correcao-ia] label::after {
  bottom: 60.25px !important;
}
.sem-espacamento-baixo[data-correcao-ia] label::after {
  bottom: 40.25px !important;
}
[data-correcao-ia] + .entradaDados {
  /* margin-top: 36px !important; */
}

@media screen and (width <= 460px) {
  [data-correcao-ia] + .entradaDados {
    margin-top: 72px !important;
  }
}

/* Estilos para o multiselect*/

/* ANTIGOS */
.multiselect-container [type="radio"] {
  display: none;
}

.multiselect-container.dropdown-menu.show {
  display: block;
}

.multiselect-container .multiselect-filter > .fa-search {
  display: none;
}

.multiselect-container .no-results {
  display: none;
  color: #5a5a5a;
  font-weight: 500;
  font-size: 12px;
  padding: 8px;
  text-align: center;
  margin: auto;
  border-top: 2px solid #dbdbdb;
  &.show {
    display: block;
  }
}

.multiselect-filter input {
  width: 100%;
  outline: none;
  padding: 8px !important;
  margin: 0 !important;
  border-radius: 0;
  font-weight: 500;
  border-bottom: none !important;

  &::-webkit-search-cancel-button {
    display: none;
    /* Remove o botão */
  }

  &:focus {
    border-radius: 0 !important;
  }
}

.multiselect-container .multiselect-option.dropdown-item {
  touch-action: manipulation;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 !important;
  padding: 6px !important;
  border: none;
  background-color: #fff !important;
  &.disabled {
    cursor: not-allowed;
    pointer-events: none;
    color: #798085;
    .form-check {
      input[type="checkbox"] {
        background-color: #798085;
        opacity: 0.84;
        cursor: not-allowed;
        &::before {
          box-shadow: none;
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23fff'/%3E %3C/svg%3E");
        }
      }
      label {
        color: #798085;
      }
    }
  }
  &:not(:first-child) {
    border-top: 2px solid #dbdbdb !important;
  }

  &:hover {
    background-color: #fff !important;
  }

  .form-check {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    width: 100%;

    input {
      pointer-events: none;
      cursor: pointer;
      margin-left: auto;
      margin-right: auto;
      width: 28px;
      height: 28px;
      color: #192030;
      vertical-align: middle;
      -webkit-appearance: none;
      background: none;
      border: 0;
      outline: 0;
      flex-grow: 0;
      border-radius: 4px;
      background-color: transparent;
      transition: background 300ms;
      cursor: pointer;
      &::before {
        content: "";
        color: transparent;
        display: block;
        width: inherit;
        height: inherit;
        border-radius: inherit;
        border: 0;
        background-color: transparent;
        background-size: contain;
        box-shadow: none;
      }
      &:disabled {
        background-color: #ccd3d8;
        opacity: 0.84;
        cursor: not-allowed;
      }
      &::-ms-check {
        content: "";
        color: transparent;
        display: block;
        width: inherit;
        height: inherit;
        border-radius: inherit;
        border: 0;
        background-color: transparent;
        background-size: contain;
        box-shadow: none;
      }
      &::checked,
      &:checked::-ms-check {
        box-shadow: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23fff'/%3E %3C/svg%3E");
      }
    }

    label {
      font-weight: 500;
      position: relative;
      width: 100%;
    }
  }

  .form-check input[type="checkbox"]:checked::before {
    box-shadow: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23192030'/%3E %3C/svg%3E");
  }

  .form-check label {
    width: 100%;
    font-size: 14px;
    color: #000;
  }
}

/* Estilo para o botão do multiselect */
.custom-select {
  transition: all 0.3s ease-in-out;
  outline: none;
  border: 2px solid #dbdbdb;
  width: 100%;
  /* O botão ocupa toda a largura disponível */
  padding: 10px;
  border-radius: 6px;
  background-color: #fff;
  color: #5a5a5a;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
}

.custom-select .multiselect-selected-text {
  font-weight: 500;
  color: #000;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/* Estilo para o botão de dropdown */
.custom-select .dropdown-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 8px;
}

/* Estilo do dropdown */
.multiselect-container {
  scrollbar-width: none;
  overflow: hidden;
  /* top: 10px !important; */
  display: none;
  max-height: 250px;
  /* Limita a altura do dropdown */
  overflow-y: auto;
  /* Adiciona rolagem se necessário */
  border: 2px solid #dbdbdb;
  border-radius: 8px;
  background-color: #ffffff;
  z-index: 1050;
  /* Garante que o dropdown sobreponha outros elementos */
  width: 100%;
  /* A largura do dropdown deve ser igual à do botão */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Estilo para cada item dentro do dropdown */
.multiselect-container .multiselect-item {
  padding: 8px 10px;
  cursor: pointer;
  font-size: 14px;
  color: #000 !important;
}

.multiselect-container .multiselect-item:hover {
  background-color: #f0f0f0;
}

/* Estilo para os checkboxes dentro do dropdown */
.multiselect-container input[type="checkbox"] {
  margin-right: 10px;
  cursor: pointer;
}

/* Estilo para as opções selecionadas */
.multiselect-container .multiselect-item.selected {
  background-color: #e9ecef;
  font-weight: bold;
}

/* Estilo do botão de "selecionar todos" e "limpar" */
.multiselect-container .multiselect-all,
.multiselect-container .multiselect-none {
  font-weight: bold;
  padding: 10px;
  cursor: pointer;
}

.multiselect-container .multiselect-clear {
  font-size: 14px;
  cursor: pointer;
  margin-top: 10px;
}

/* Estilo para a lista de opções com checkboxes */
.multiselect-container ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Aplica o touch-action à classe do botão do multiselect */
.multiselect.dropdown-toggle {
  touch-action: manipulation;
}

/* Estilos para a lista de opções quando nenhum item for selecionado */
.custom-select .dropdown-toggle::after {
  content: " ▼";
  /* Exibe a seta de dropdown */
  font-size: 0.8em;
}

/* Estilo de foco para o botão */
.custom-select:focus,
.custom-select[aria-expanded="true"] {
  outline: none;
  border-color: #192030 !important;
}

/* FIM DOS ANTIGOS */

/* NOVOS */
.multiselect-container [type="radio"] {
  display: none;
}

.multiselect-container.dropdown-menu.show {
  display: block;
}

.multiselect-container .multiselect-filter > .fa-search {
  display: none;
}

.multiselect-container .no-results {
  display: none;
  color: #5a5a5a;
  font-weight: 500;
  font-size: 12px;
  padding: 8px;
  text-align: center;
  margin: auto;
  border-top: none;
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  &.show {
    display: block;
  }
}

.multiselect-filter {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  background-color: #f2f3f5;
  position: relative;
  width: 100%;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-radius: 4px !important;
  padding: 8px;
  gap: 4px;
}

.multiselect-filter i {
  font-size: 20px;
  color: #32363d;
}

.multiselect-filter input {
  width: 100%;
  background-color: #f2f3f5;
  outline: none;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 4px !important;
  font-weight: 500;
  border-bottom: none !important;
  font-size: 14px;
  color: #32363d;
  &::-webkit-search-cancel-button {
    display: none;
    /* Remove o botão */
  }
  &:focus {
    border-radius: 4px !important;
  }
}

.multiselect-container .multiselect-option.dropdown-item {
  touch-action: manipulation;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 !important;
  padding: 6px 8px !important;
  border: none;
  border-radius: 4px;
  background-color: #fff !important;

  &.disabled {
    pointer-events: none;
    cursor: not-allowed !important;

    .form-check {
      input[type="checkbox"] {
        opacity: 0.84;
        cursor: not-allowed;
        background-color: none;
        &::before {
          box-shadow: none !important;
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23798085'/%3E %3C/svg%3E") !important;
        }
      }

      label {
        color: #798085;
        cursor: not-allowed !important;
      }
    }
  }

  &:not(:first-child) {
    border-top: none !important;
  }

  &:hover {
    background-color: #f2f3f5 !important;
  }

  .form-check {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    width: 100%;
    gap: 4px;

    input[type="checkbox"] {
      -webkit-appearance: none; /* Força reset no iOS */
      appearance: none;
      width: 28px;
      height: 28px;
      border-radius: 4px;
      background-color: transparent;
      border: none;
      cursor: pointer;
      position: relative;
      transition: background 0.3s ease-in-out;

      &::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        border-radius: inherit;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
      }

      &:disabled {
        background-color: transparent;
        opacity: 0.84;
        cursor: not-allowed;
      }

      &:checked::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath d='M15.88 8.29L10 14.17l-1.88-1.88a.996.996 0 1 0-1.41 1.41l2.59 2.59c.39.39 1.02.39 1.41 0L17.3 9.7a.996.996 0 0 0 0-1.41c-.39-.39-1.03-.39-1.42 0z' fill='%23192030'/%3E %3C/svg%3E");
      }
    }

    label {
      font-weight: 500;
      width: 100%;
      text-align: left;
      font-size: 14px;
      color: #000;
    }
  }
}

.multiselect-container .multiselect-group.dropdown-item-text {
  display: block;
  position: relative;
  width: 100%;
  padding: 6px 8px !important;
  font-weight: 700;
  font-size: 16px;
  background-color: #fff !important;
}

/*
CARD DE AVISO
*/
.card-aviso {
  width: 100%;
  /* height: 320px; */
  background-color: #fff;
  /* border: 1px solid #ddd; */
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.cabecalho-card-aviso {
  width: 100%;
  padding: 10px;
  background-color: #192030;
  text-align: left;
  display: flex;
  align-items: center;
  border-radius: 10px 10px 0px 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  gap: 8px;
}

.titulo-card-aviso {
  text-transform: uppercase;
  color: #fff;
  display: flex;
  gap: 8px;
  font-size: 18px;
  font-weight: 650;
  /* padding: 0 0.5rem; */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

.textos-informacoes-importante {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 0;
  font-size: 14px;
}

.avisos {
  text-align: left;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.2rem;
  color: rgb(0, 0, 0);
  padding: 0 0.6rem;
}

.icone-card-aviso svg {
  width: 20px;
  height: auto;
}

/* Estilo para o botão do multiselect */
.custom-select {
  transition: all 0.3s ease-in-out;
  outline: none;
  border: 2px solid #dbdbdb;
  width: 100%;
  /* O botão ocupa toda a largura disponível */
  padding: 10px;
  border-radius: 6px;
  background-color: #fff;
  color: #5a5a5a;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
}

.custom-select .multiselect-selected-text {
  font-weight: 500;
  color: #000;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/* Estilo para o botão de dropdown */
.custom-select .dropdown-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 8px;
}

/* Estilo do dropdown */
.multiselect-container {
  scrollbar-width: none;
  overflow: hidden;
  /* top: 10px !important; */
  display: none;
  max-height: 250px;
  /* Limita a altura do dropdown */
  overflow-y: auto;
  /* Adiciona rolagem se necessário */
  border: 2px solid #dbdbdb;
  border-radius: 8px;
  background-color: #ffffff;
  z-index: 1050;
  /* Garante que o dropdown sobreponha outros elementos */
  width: 100%;
  /* A largura do dropdown deve ser igual à do botão */
  box-shadow: 0 0 10px 8px rgba(0, 0, 0, 0.1);
  padding: 10px !important;
}

/* Estilo para cada item dentro do dropdown */
.multiselect-container .multiselect-item {
  padding: 8px 10px;
  cursor: pointer;
  font-size: 14px;
  color: #000 !important;
}

.multiselect-container .multiselect-item:hover {
  background-color: #f0f0f0;
}

/* Estilo para os checkboxes dentro do dropdown */
.multiselect-container input[type="checkbox"] {
  margin-right: 10px;
  cursor: pointer;
}

/* Estilo para as opções selecionadas */
.multiselect-container .multiselect-item.selected {
  background-color: #e9ecef;
  font-weight: bold;
}

/* Estilo do botão de "selecionar todos" e "limpar" */
.multiselect-container .multiselect-all,
.multiselect-container .multiselect-none {
  font-weight: bold;
  padding: 10px;
  cursor: pointer;
}

.multiselect-container .multiselect-clear {
  font-size: 14px;
  cursor: pointer;
  margin-top: 10px;
}

/* Estilo para a lista de opções com checkboxes */
.multiselect-container ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Aplica o touch-action à classe do botão do multiselect */
.multiselect.dropdown-toggle {
  touch-action: manipulation;
}

/* Estilos para a lista de opções quando nenhum item for selecionado */
.custom-select .dropdown-toggle::after {
  content: " ▼";
  /* Exibe a seta de dropdown */
  font-size: 0.8em;
}

/* Estilo de foco para o botão */
.custom-select:focus,
.custom-select[aria-expanded="true"] {
  outline: none;
  border-color: #192030 !important;
}

/* FIM DOS NOVOS */

/* 
Estilos de Tooltip
*/
[data-tooltip-warning] {
  --arrow-size: 5px;
  position: relative;
  z-index: 10;
}

/* Positioning and visibility settings of the tooltip */
[data-tooltip-warning]::before,
[data-tooltip-warning]::after {
  right: 16px;
  bottom: 28px;
  position: absolute;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease-in-out;
  will-change: transform;
}

/* O Tooltip propriamente dito */
[data-tooltip-warning]::before {
  z-index: 100;
  font-family: "Urbanist";
  content: attr(data-tooltip-warning);
  padding: 8px 16px;
  min-width: 50px;
  max-width: 200px;
  width: max-content;
  border-radius: 6px;
  font-size: 12px;
  background-color: rgba(59, 72, 80, 0.9);
  background-image: linear-gradient(
    30deg,
    rgba(59, 72, 80, 0.44),
    rgba(59, 68, 75, 0.44),
    rgba(60, 82, 88, 0.44)
  );
  box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-align: center;
  white-space: pre-wrap;
  transform: translate(var(--arrow-size), 50%) scale(0.8);
}

/* Tooltip arrow */
[data-tooltip-warning]::after {
  content: "";
  border-style: solid;
  transition-duration: 0s;
  border-width: var(--arrow-size) var(--arrow-size) var(--arrow-size) 0px;
  border-color: transparent rgba(55, 64, 70, 0.9) transparent transparent;
  transform-origin: right;
  transform: translateY(50%) scaleX(0);
}

/* Tooltip aparece quando a classe .exibir é adicionada */
[data-tooltip-warning].exibir::before,
[data-tooltip-warning].exibir::after {
  visibility: visible;
  opacity: 1;
}

/* Animação de escala */
[data-tooltip-warning].exibir::before {
  transition-delay: 0.2s;
  transform: translate(var(--arrow-size), 50%) scale(1);
}

[data-tooltip-warning].exibir::after {
  transition-delay: 0.4s;
  transition-duration: 0.2s;
  transform: translateY(50%) scaleX(1);
}

[data-tooltip] {
  --arrow-size: 5px;
  position: relative;
  z-index: 10;
}

/* Positioning and visibility settings of the tooltip */
[data-tooltip]::before,
[data-tooltip]::after {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  left: 50%;
  bottom: calc(100% + var(--arrow-size));
  pointer-events: none;
  transition: all 0.2s ease-in-out;
  will-change: transform;
}

/* The actual tooltip with a dynamic width */
[data-tooltip]::before {
  font-family: "Urbanist";
  content: attr(data-tooltip);
  padding: 8px 16px;
  min-width: 50px;
  max-width: 200px;
  width: max-content;
  width: -moz-max-content;
  border-radius: 6px;
  font-size: 12px;
  background-color: rgba(59, 72, 80, 0.9);
  background-image: linear-gradient(
    30deg,
    rgba(59, 72, 80, 0.44),
    rgba(59, 68, 75, 0.44),
    rgba(60, 82, 88, 0.44)
  );
  box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-align: center;
  white-space: pre-wrap;
  transform: translate(-50%, calc(0px - var(--arrow-size)));
}

/* Tooltip arrow */
[data-tooltip]::after {
  content: "";
  border-style: solid;
  border-width: var(--arrow-size) var(--arrow-size) 0px var(--arrow-size); /* CSS triangle */
  border-color: rgba(55, 64, 70, 0.9) transparent transparent transparent;
  transition-duration: 0s; /* If the mouse leaves the element, 
                              the transition effects for the 
                              tooltip arrow are "turned off" */
  transform-origin: top; /* Orientation setting for the
                              slide-down effect */
  transform: translateX(-50%) scaleY(0);
}

/* Tooltip becomes visible at hover */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
  visibility: visible;
  opacity: 1;
}
/* Scales from 0.5 to 1 -> grow effect */
[data-tooltip]:hover:before {
  transition-delay: 0.3s;
  transform: translate(-50%, calc(0px - var(--arrow-size))) scale(1);
}
/* 
  Arrow slide down effect only on mouseenter (NOT on mouseleave)
*/
[data-tooltip]:hover:after {
  transition-delay: 0.5s; /* Starting after the grow effect */
  transition-duration: 0.2s;
  transform: translateX(-50%) scaleY(1);
}
/*
  That's it for the basic tooltip.

  If you want some adjustability
  here are some orientation settings you can use:
*/

/* LEFT */
/* Tooltip + arrow */
[data-tooltip-location="left"]:before,
[data-tooltip-location="left"]:after {
  left: auto;
  right: calc(100% + var(--arrow-size));
  bottom: 50%;
}

/* Tooltip */
[data-tooltip-location="left"]:before {
  transform: translate(calc(0px - var(--arrow-size)), 50%) scale(1);
}
[data-tooltip-location="left"]:hover:before {
  transform: translate(calc(0px - var(--arrow-size)), 50%) scale(1);
}

/* Arrow */
[data-tooltip-location="left"]:after {
  border-width: var(--arrow-size) 0px var(--arrow-size) var(--arrow-size);
  border-color: transparent transparent transparent rgba(55, 64, 70, 0.9);
  transform-origin: left;
  transform: translateY(50%) scaleX(0);
}
[data-tooltip-location="left"]:hover:after {
  transform: translateY(50%) scaleX(1);
}

/* RIGHT */
[data-tooltip-location="right"]:before,
[data-tooltip-location="right"]:after {
  left: calc(100% + var(--arrow-size));
  bottom: 50%;
}

[data-tooltip-location="right"]:before {
  transform: translate(var(--arrow-size), 50%) scale(1);
}
[data-tooltip-location="right"]:hover:before {
  transform: translate(var(--arrow-size), 50%) scale(1);
}

[data-tooltip-location="right"]:after {
  border-width: var(--arrow-size) var(--arrow-size) var(--arrow-size) 0px;
  border-color: transparent rgba(55, 64, 70, 0.9) transparent transparent;
  transform-origin: right;
  transform: translateY(50%) scaleX(0);
}
[data-tooltip-location="right"]:hover:after {
  transform: translateY(50%) scaleX(1);
}
/* Arrow */

/* BOTTOM */

[data-tooltip-location="bottom"]:before,
[data-tooltip-location="bottom"]:after {
  top: calc(100% + 5px);
  bottom: auto;
}

[data-tooltip-location="bottom"]:before {
  transform: translate(-50%, 5px) scale(0.5);
}

[data-tooltip-location="bottom"]:hover:before {
  transform: translate(-50%, 5px) scale(1);
}

[data-tooltip-location="bottom"]:after {
  border-width: 0px 5px 5px 5px;
  border-color: transparent transparent rgba(55, 64, 70, 0.9) transparent;
  transform-origin: bottom;
}

/* TOP */

[data-tooltip-location="top"]:before,
[data-tooltip-location="top"]:after {
  bottom: calc(100% + 5px);
  top: auto;
}

[data-tooltip-location="top"]:before {
  transform: translate(-50%, -5px) scale(0.5);
}

[data-tooltip-location="top"]:hover:before {
  transform: translate(-50%, -5px) scale(1);
}

[data-tooltip-location="top"]:after {
  border-width: 5px 5px 0px 5px;
  border-color: rgba(55, 64, 70, 0.9) transparent transparent transparent;
  transform-origin: top;
}

/* TOP-RIGHT */
[data-tooltip-location="top-right"]:before,
[data-tooltip-location="top-right"]:after {
  bottom: calc(100% + 2px);
  left: calc(100% - 2px); /* ligeiramente afastado do canto */
  top: auto;
}

/* animação/escala inicial */
[data-tooltip-location="top-right"]:before {
  transform: translate(-5px, -5px) scale(0.5);
}

[data-tooltip-location="top-right"]:hover:before {
  transform: translate(15px, -2px) scale(1);
}

[data-tooltip-location="top-right"]:after {
  border-width: 5px 5px 0px 5px;
  border-color: rgba(55, 64, 70, 0.9) transparent transparent transparent;
  transform-origin: top right;
  transform: rotate(45deg) translateX(100%) scaleY(1) !important;
}

.informacoes-campos-informativos-geral {
  width: 100%;
  padding: 12px;
  border-bottom: 2px solid #dbdbdb;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  [data-tooltip] {
    color: #798085 !important;
    font-size: 16px;
    cursor: help;
  }
  p {
    margin: 0;
    color: #798085 !important;
  }
}

.entradaDados {
  .mensagem-texto-aviso {
    color: gray;
  }
  .mensagem-texto {
    color: gray;
    position: relative;
  }
  &.mostrar-aviso {
    padding-bottom: 0;
    label::after {
      bottom: 43px;
    }
    .mensagem-texto {
      visibility: visible;
    }
  }
  &.mostrar-aviso-texto {
    .mensagem-texto-aviso {
      visibility: visible;
    }
  }
}

/* Estilos do rodapé do sistema */
.rodape-sistema {
  width: 100%;
  min-height: 110px;
  position: relative;
  background-color: #192030;
  color: #fff;
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
  .conteudo-rodape-sistema {
    height: 100%;
    width: 100%;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    .imagem-rodape {
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      border-right: 1px solid white;
      width: fit-content;
      padding: 0;
      img {
        height: 60px;
        object-fit: cover;
      }
    }
    .redes-socias-rodape {
      margin-left: auto;
      margin-bottom: auto;
      top: 0;
      right: 0;
      display: flex;
      /* display: none; */
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 12px;
      padding: 12px;
      .icone-rede-social {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #192030;
        /* border: 2px solid #fff; */
        transition: all 0.3s ease-in-out;
        cursor: pointer;
        svg {
          fill: #fff;
          height: 16px;
          margin: 0;
          object-fit: cover;
          transition: all 0.3s ease-in-out;
        }
        &:hover {
          background-color: #fff;
          svg {
            fill: #192030;
          }
        }
      }
    }
    .copyright-rodape {
      color: #fff;
      text-align: center;
      line-height: normal;
      font-weight: 500;
      font-size: 12px;
    }
    .links {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
    }
  }
}
.rodape-sistema a {
  color: #fff;
}
.liberar-escutas {
  .conteudo-dialogo {
    padding: 20px 0;
    gap: 0;
  }
}
@media (width <= 480px) {
  /* Estilos do rodapé do sistema */
  .rodape-sistema {
    min-height: 110px;
    .conteudo-rodape-sistema {
      .imagem-rodape {
        img {
          height: 60px;
        }
      }
      .redes-socias-rodape {
        display: none;
        position: relative;
        padding: 0;
      }
    }
  }
}
.informacoes-campos-informativos {
  background-color: #fff;
  position: relative;
  width: 100%;
  padding: 12px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  [data-tooltip] {
    color: #798085 !important;
    font-size: 16px;
    cursor: help;
  }
  p {
    margin: 0;
    color: #798085 !important;
  }
}
.checkbox-data-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  vertical-align: center;
  width: 100%;
  gap: 16px;
  input {
    border-radius: 2px;
  }
}
.checkbox-data-label {
  width: 100%;
  font-size: 12px;
  color: #000;
  font-size: 14px;
  line-height: normal;
}
.descricao-elemento-formulario {
  /* max-width: 400px; */
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  margin-inline: auto;
  /* padding-bottom: 16px; */
  position: relative;
  justify-content: space-between;
  button {
    white-space: nowrap;
    position: relative !important;
    bottom: auto !important;
    display: flex;
    flex-direction: row;
    gap: 8px;
    color: #192030;
    background-color: #fff;
    box-shadow: none !important;
    border: 2px solid #dbdbdb;

    i {
      font-size: 14px;
    }
  }
}
/* Borda/contorno da caixinha em vermelho quando inválido */
.entradaDados.is-invalid .mdl-checkbox__box-outline {
  border-color: #f44336;
}

/* Texto da label opcionalmente em vermelho */
/* .entradaDados.is-invalid .mdl-checkbox .mdl-checkbox__label {
  color: #b71c1c;
} */

/* Mensagem de erro */
.mdl-checkbox__error {
  display: none;
  font-size: 12px;
  color: #b71c1c;
  margin-left: 36px; /* alinha com a label, ajuste se precisar */
  margin-top: 4px;
}

/* .entradaDados.is-invalid .mdl-checkbox__error {
  display: block;
} */

.descricao-elemento-formulario button.loading {
  pointer-events: none; /* Impede cliques enquanto carrega */
  color: transparent; /* Oculta o texto */
}
.descricao-elemento-formulario button.loading .spinner-button .path-button {
  -webkit-text-stroke: #192030;
  stroke: #192030;
}
.aceitar-cookies.loading .spinner-button .path-button {
  -webkit-text-stroke: #192030;
  stroke: #192030;
}
button.loading {
  pointer-events: none !important; /* Impede cliques enquanto carrega */
  color: transparent !important; /* Oculta o texto */
  i {
    pointer-events: none !important; /* Impede cliques enquanto carrega */
    color: transparent !important; /* Oculta o texto */
  }
}
.dialogo-cadastro-informacoes {
  max-height: 527.6px;
  width: 800px;
  border-radius: 12px;
  overflow: hidden;
  padding: 0;
  .cabecario-dialogo {
    padding: 14px;
    display: flex;
    width: 100%;
    overflow: hidden;
    text-align: left;
  }

  .conteudo-dialogo form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    position: relative;
    /* display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto; */
  }

  .cabecario-dialogo h4 {
    font-weight: 700;
    margin: 0;
  }

  .conteudo-dialogo {
    border-top: 2px solid #dbdbdb;
    border-bottom: 2px solid #dbdbdb;
    padding: 14px 14px 0 14px;
    /* flex-direction: column;
  align-items: center;
  justify-content: flex-start; */
    gap: 0;
  }
  .rodape-dialogo {
    padding: 14px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    justify-content: flex-end;
    z-index: 101;
    position: relative;
  }

  .rodape-dialogo button {
    margin: 0 !important;
    width: fit-content;
  }
}
/* Animações para o diálogo */
dialog {
  opacity: 0;
  -webkit-transform: translate3d(0, 40px, 0);
  transform: translate3d(
    0,
    40px,
    0
  ); /* Usa translate3d para melhor performance */
  pointer-events: none;
  margin: auto !important;
  position: fixed !important;
  will-change: opacity, transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Backdrop compatível com Safari */
dialog::backdrop,
dialog:-internal-dialog-in-top-layer::backdrop {
  background: rgba(0, 0, 0, 0.25);
}

/* Abertura suave */
dialog.animating-open {
  display: block;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  pointer-events: all;
  margin: auto !important;
  position: fixed !important;
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
  -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
}

/* Fechamento suave */
dialog.animating-close {
  display: none !important;
  /* -webkit-transform: translate3d(0, 40px, 0);
  transform: translate3d(0, 40px, 0);
  display: block !important;
  opacity: 0 !important;
  margin: auto !important;
  position: fixed !important;
  transition: opacity 0.20 ease-out, transform 0.20 ease-out;
  -webkit-transition: opacity 0.20 ease-out, -webkit-transform 0.20 ease-out; */
}

/* Correção para iOS: Esconde o diálogo ao fim da animação */
/*dialog.animating-close::after {*/
/*  content: "";*/
/*  display: block;*/
/*  animation: hideDialog 0.25s forwards;*/
/*}*/

@media screen and (width <= 440px) {
  dialog.dialogo-cadastro-informacoes,
  dialog.dialogo-aluno,
  dialog.dialogo-selecao-aluno {
    border-radius: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;

    /* Estilos para garantir compatibilidade e aparência */
    display: -webkit-box !important;
    display: -moz-box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: flex !important;

    -webkit-flex-direction: column !important;
    -moz-flex-direction: column !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;

    .conteudo-dialogo {
      max-height: 100% !important;

      -webkit-box-flex: 1 !important;
      -moz-box-flex: 1 !important;
      -ms-flex: 1 !important;
      -webkit-flex: 1 !important;
      flex: 1 !important;
      width: 100%;
      overflow: auto !important;

      /* Suporte para rolagem suave em iOS/Safari */
      -webkit-overflow-scrolling: touch !important;
    }

    .rodape-dialogo {
      background-color: #fff;
      margin-top: auto !important;
      height: 67.2px !important;
      max-height: 67.2px !important;

      /* Para garantir que o rodapé fique fixo na base */
      -webkit-box-flex: 0 !important;
      -moz-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
      -webkit-flex: 0 0 auto !important;
      flex: 0 0 auto !important;
    }
  }
}

@keyframes hideDialog {
  99% {
    visibility: visible;
  }
  100% {
    display: none;
    visibility: hidden;
  }
}

/* Suporte extra para Safari */
@supports (-webkit-appearance: none) and (not (overflow: -moz-scrollbars-none)) {
  dialog {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}

@media screen and (width <= 460px) {
  [data-correcao-ia] label::after {
    bottom: 96.5px !important;
  }
  .sem-espacamento-baixo[data-correcao-ia] label::after {
    bottom: 76.5px !important;
  }
  .descricao-elemento-formulario {
    flex-direction: column;
    button {
      width: 100%;
    }
  }
}
/* Animações */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  to {
    transform: rotate(1turn);
  }
}
/* Animação de rotação contínua */
/* @keyframes rotator {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
} */

/* Animação de "dash" (esticando e contraindo) */

@keyframes spin-button {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes pulsar {
  0% {
    transform: scale(1, 1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.7, 1.7);
    opacity: 0;
  }
}

@keyframes bell {
  0%,
  90% {
    transform: rotateZ(0);
  }
  5%,
  15%,
  25%,
  35%,
  45%,
  55%,
  65%,
  75% {
    transform: rotateZ(30deg);
  }
  10%,
  20%,
  30%,
  40%,
  50%,
  60%,
  70%,
  80% {
    transform: rotateZ(-30deg);
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes rotator {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotator {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}

@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}

/* ===== BARRA DE ROLAGEM GLOBAL ELEGANTE ===== */
html {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

/* WebKit (Chrome, Safari, Edge) */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 3px;
  margin: 2px;
}

::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 3px;
  transition: all 0.4s ease;
  opacity: 0;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.25);
  opacity: 1;
}

::-webkit-scrollbar-thumb:active {
  background: rgba(0, 0, 0, 0.35);
  opacity: 1;
}

::-webkit-scrollbar-corner {
  background: transparent;
}

.inicial-foto {
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 48px;
  font-weight: bold;
}
