/* Fonte Rubik carregada via <link> no header_html.dtml (preload + stylesheet); fallback local em :root abaixo */
:root {
  --bs-font-sans-serif: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.siteTitle {
  font-weight: 500 !important;
}

/* Header: evita estourar a viewport no tablet/mobile (flex + brand longo). */
@media (max-width: 991.98px) {
  #page-topbar,
  #page-topbar .navbar-header,
  #page-topbar .sagl-header-left,
  #page-topbar .navbar-brand,
  #page-topbar .sagl-brand-text {
    max-width: 100%;
    min-width: 0;
  }
  #page-topbar .navbar-header {
    width: 100%;
    box-sizing: border-box;
  }
  #page-topbar .sagl-header-left {
    flex: 1 1 auto;
    align-items: center;
    /* visible: overflow:hidden clipava os dropdowns (e-Processos/Sistema/usuário)
     * no Android/iOS — o menu abria “atrás” da área do brand. */
    overflow: visible;
  }
  #page-topbar .navbar-brand {
    flex: 0 1 auto;
    flex-wrap: nowrap;
    overflow: hidden;
    min-width: 0;
    padding-right: 0.25rem !important;
  }
  #page-topbar .sagl-brand-text {
    overflow: hidden;
    min-width: 0;
  }
  #page-topbar .sagl-brand-text .siteTitle,
  #page-topbar .sagl-brand-text .siteSubTitle {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #page-topbar .sagl-header-left > div,
  #page-topbar .sagl-header-actions {
    flex: 0 0 auto;
  }
}

@media (max-width: 575.98px) {
  .logo {width: 50px !important; height: 50px !important; line-height: normal !important;}
  /* WAVE “Very small text”: mínimo 13px */
  .siteTitle {font-size: 13px !important}
  .siteSubTitle {font-size: 13px !important}
  #page-topbar .navbar-header {
    padding-right: max(0.25rem, env(safe-area-inset-right, 0px));
  }
  #page-topbar .header-profile-user {
    height: 32px;
    width: 32px;
  }
  #page-topbar .sagl-header-left .header-item,
  #page-topbar .sagl-header-actions .header-item {
    padding-left: 0.3rem;
    padding-right: 0.3rem;
  }
}

@media (min-width: 576px) {
  .logo {max-width: 75px !important; padding: .5rem !important;}
  .siteTitle {
    font-size: 14px !important;
  }
  .siteSubTitle {font-size: 13px !important}
}

#iFrameModal .modal-dialog,
#iFrameModal .modal-content {
    height: 95%;
    max-height: 90vh;
}

#iFrameModal .modal-content {
    display: flex;
    flex-direction: column;
}

#iFrameModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#iFrameModal #iFrameModalIframeWrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

#iFrameModal .iFrameModal-loading {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #333;
}

#iFrameModal .iFrameModal-loading[hidden] {
    display: none !important;
}

#iFrameModal #iFrameModalPainelContent {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

#iFrameModal .modal-dialog {
    min-width: 80%;
    max-width: 79%;
}

/* Viewer público PDF em modal (F5.2) — mesma cadeia de altura do #iFrameModal */
#documentoPublicoViewerModal .modal-dialog,
#documentoPublicoViewerModal .modal-content {
    height: 95%;
    max-height: 90vh;
}

#documentoPublicoViewerModal .modal-content {
    display: flex;
    flex-direction: column;
}

#documentoPublicoViewerModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

#documentoPublicoViewerModal #documentoPublicoViewerModalIframeWrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

#documentoPublicoViewerModal #documentoPublicoViewerModalIframe {
    width: 100%;
    height: 100%;
    border: 0;
}

#documentoPublicoViewerModal .modal-dialog {
    min-width: 80%;
    max-width: 79%;
}

/* Modais de confirmação centralizados na página */
.modal[id*="confirm"] .modal-dialog,
.modal[id*="Confirm"] .modal-dialog,
.modal[id*="confirmation"] .modal-dialog,
.modal[id*="Confirmation"] .modal-dialog {
    display: flex;
    align-items: center;
    min-height: calc(100% - 1rem);
}

li.list-group-item {
  padding:25px
}

.form-control:disabled, .form-control[readonly] {
    color: #6c757d !important;
    background-color: #e9ecef !important;
}
[data-bs-theme=dark] .form-control:disabled,
[data-bs-theme=dark] .form-control[readonly] {
    color: var(--bs-secondary-color, #cfd6dd) !important;
    background-color: var(--bs-tertiary-bg, #2b3244) !important;
    border-color: var(--bs-border-color, #8b95a3) !important;
}

label.required:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    content: " \f069";
    color: #F67280;
    vertical-align: top!important;
}

.tram_mat p {margin-bottom:1px}

.tram_mat2 p {margin-bottom:4px}

.text_buttons {
    margin-top: 8px;
}

.accordion-button {
    font-size: 0.90rem;
}

html { font-size: 13px; }

:root,[data-bs-theme=light], .form-control, .form-select {
  --bs-primary: #2d7ba0;
  --bs-primary-rgb: 45, 123, 160;
  /* Hover/ativo: texto claro sobre fundo primário (evita cor de texto = cor de fundo) */
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #256a8f;
  --bs-btn-hover-border-color: #256a8f;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #256a8f;
  --bs-btn-active-border-color: #256a8f;
  --bs-link-color: #2d7ba0;
  --bs-link-hover-color: #256a8f;
  --bs-link-color-rgb: 45, 123, 160;
  --bs-body-font-size: 0.93rem;  /* Overwrite this variable */
  --bs-dropdown-font-size: 0.90rem !important;
  --bs-sidebar-menu-item-color: #585656 !important;
  font-size: var(--bs-body-font-size) !important;
}

label {
    color: #686b6e !important;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
}


.nav-pills>li>a, .nav-tabs>li>a {
}

.popover {
    --bs-popover-font-size: 13px !important;
}

.popover-header {
    font-size: 14px !important;
}

.btn {
  --bs-btn-font-size: 13px !important;
}

a.dropdown-item {
    font-size: 13px;
}

.dropdown-header {
    font-size: 12px;
}

#page-topbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1001 !important;
  background-color: var(--bs-header-bg);
  overflow: visible;
  -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
}

/*
 * Chrome (topbar+topnav) é position:fixed — o root não pode ocupar altura no fluxo,
 * senão some com o padding-top do .page-content e abre um vão sob o menu.
 */
#sagl-header-root {
  height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.navbar-brand {
  margin-right:0 !important;
}

#page-topbar .navbar-brand {
  justify-content: flex-start !important;
  align-items: center;
  gap: 0.5rem;
}

.navbar-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  height: 80px;
  padding: 0 calc(24px / 2) 0 0;
}
.navbar-header .dropdown .show.header-item {
  background-color: #f8f9fa;
}
.navbar-header .dropdown {
  position: relative;
  /* Acima do #search-wrap (9997): o toggle do dropdown também precisa receber clique */
  z-index: 10060;
  overflow: visible;
}
/*
 * Acima do #search-wrap (z-index 9997): senão o painel de busca — mesmo
 * fechado/transladado — pode cobrir botões do header e “impedir” o clique
 * (hambúrguer mobile, login, e-Processos, Sistema, menu do usuário).
 */
.navbar-header .sagl-header-left,
#page-topbar .sagl-header-left,
.navbar-header .sagl-header-actions,
#page-topbar .sagl-header-actions {
  position: relative;
  z-index: 10060;
}
/* Ripple do Waves não pode engolir o clique do dropdown (autoClose/composedPath). */
#page-topbar .waves-ripple,
.navbar-header .waves-ripple {
  pointer-events: none !important;
}
.navbar-header .sagl-header-actions .header-item,
.navbar-header .sagl-header-actions > .btn.header-item,
#page-topbar .sagl-header-actions [data-bs-target="#topnav-menu-content"] {
  position: relative;
  z-index: 10061;
}
.navbar-header .dropdown .dropdown-menu {
  z-index: 10060 !important;
  position: absolute;
  top: 100%;
  margin-top: 0;
}
.navbar-header .dropdown .dropdown-menu.show {
  z-index: 10060 !important;
}
/* Waves usa overflow:hidden no botão; o menu é irmão, mas o pai precisa clipar. */
#page-topbar .header-item.waves-effect,
#page-topbar .btn.header-item.waves-effect {
  overflow: visible;
}

/* Contraste: mesmo ícone (meio-círculo), invertido quando o modo escuro está ligado. */
#page-topbar .sagl-contrast-toggle i {
  display: inline-block;
  transition: transform 0.15s ease;
}
#page-topbar .sagl-contrast-toggle.is-on i,
#page-topbar .sagl-contrast-toggle[aria-pressed="true"] i {
  transform: rotate(180deg);
}
#page-topbar .sagl-contrast-toggle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.navbar-brand-box {
  padding: 0 1.5rem;
  text-align: center;
  width: 240px;
}

.logo {
  line-height: 75px;
}
.logo .logo-sm {
  display: none;
}

.logo-light {
  display: none;
}

/* Search */
.search-wrap {
  background-color: var(--bs-input-bg, #ffffff);
  color: var(--bs-emphasis-color, #212529);
  z-index: 10050;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 80px;
  padding: 0 15px;
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  /* Fechado: não interceptar cliques no hambúrguer / login / menus do header */
  pointer-events: none;
  visibility: hidden;
}
.search-wrap form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.search-wrap .search-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.search-wrap .search-input {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: transparent;
}
.search-wrap .close-search {
  width: 36px;
  height: 64px;
  line-height: 64px;
  text-align: center;
  color: inherit;
  font-size: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.search-wrap .close-search:hover {
  color: #f1556c;
}

.search-wrap.open {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  pointer-events: auto;
  visibility: visible;
  z-index: 10070 !important;
}
/* Filhos com visibility:visible (ex.: .close-search) furam o pai hidden e
 * o X da busca aparece em cima de Sistema / e-Processos. */
.search-wrap:not(.open),
.search-wrap:not(.open) * {
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Overlay da busca global: cobre o header inteiro (navbar-header é max-width 85%) */
#page-topbar .search-wrap,
.navbar-header .search-wrap {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  height: 80px !important;
  min-height: 80px !important;
  background-color: #ffffff !important;
  color: #212529 !important;
}
#page-topbar .search-wrap .search-input,
#page-topbar .search-wrap .search-input.form-control {
  background-color: #f8f9fa !important;
  border: 1px solid #ced4da !important;
  border-radius: 0.375rem !important;
  color: #212529 !important;
  height: 42px !important;
  padding: 0.5rem 0.75rem !important;
  box-shadow: none !important;
}
#page-topbar .search-wrap .search-input::placeholder {
  color: #6c757d !important;
  opacity: 1;
}
#page-topbar .search-wrap .search-input:focus {
  background-color: #ffffff !important;
  border-color: var(--bs-primary, #2d7ba0) !important;
  box-shadow: 0 0 0 0.15rem rgba(45, 123, 160, 0.2) !important;
}
#page-topbar .search-wrap .close-search {
  color: #6b7280 !important;
}
#page-topbar .search-wrap .close-search:hover {
  color: #dc2626 !important;
}
#page-topbar .search-wrap .close-search i,
#page-topbar .search-wrap .close-search .mdi {
  color: inherit !important;
}

[data-bs-theme=dark] #page-topbar .search-wrap,
[data-bs-theme=dark] .navbar-header .search-wrap,
body[data-bs-theme=dark] #page-topbar .search-wrap,
body[data-bs-theme=dark] .navbar-header .search-wrap {
  background-color: #21253e !important;
  color: #e9ecef !important;
}
[data-bs-theme=dark] #page-topbar .search-wrap .search-input,
[data-bs-theme=dark] #page-topbar .search-wrap .search-input.form-control,
body[data-bs-theme=dark] #page-topbar .search-wrap .search-input,
body[data-bs-theme=dark] #page-topbar .search-wrap .search-input.form-control {
  background-color: #2b3244 !important;
  border-color: #8b95a3 !important;
  color: #eef2f6 !important;
}
[data-bs-theme=dark] #page-topbar .search-wrap .search-input::placeholder,
body[data-bs-theme=dark] #page-topbar .search-wrap .search-input::placeholder {
  color: #adb5bd !important;
}
[data-bs-theme=dark] #page-topbar .search-wrap .search-input:focus,
body[data-bs-theme=dark] #page-topbar .search-wrap .search-input:focus {
  background-color: #2b3244 !important;
  border-color: #7ec4e0 !important;
  box-shadow: 0 0 0 0.15rem rgba(126, 196, 224, 0.25) !important;
}
[data-bs-theme=dark] #page-topbar .search-wrap .close-search,
body[data-bs-theme=dark] #page-topbar .search-wrap .close-search {
  color: #cfd6dd !important;
}
[data-bs-theme=dark] #page-topbar .search-wrap .close-search:hover,
body[data-bs-theme=dark] #page-topbar .search-wrap .close-search:hover {
  color: #f87171 !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
}
[data-bs-theme=dark] #page-topbar .search-wrap .close-search i,
[data-bs-theme=dark] #page-topbar .search-wrap .close-search .mdi,
body[data-bs-theme=dark] #page-topbar .search-wrap .close-search i,
body[data-bs-theme=dark] #page-topbar .search-wrap .close-search .mdi {
  color: inherit !important;
}

.megamenu-list li {
  position: relative;
  padding: 5px 0px;
}
.megamenu-list li a {
  color: var(--bs-body-color);
}

@media (max-width: 992px) {
  .navbar-brand-box {
    width: auto;
  }
  .logo span.logo-lg {
    display: none;
  }
  .logo span.logo-sm {
    display: inline-block;
  }
}
.page-content {
  padding: calc(80px + 24px) calc(24px / 2) 60px calc(24px / 2);
}

.header-item {
  height: 80px;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  color: var(--bs-header-item-color);
  border: 0;
  border-radius: 0px;
  font-size: 14px;
}
.header-item:hover {
  color: var(--bs-header-item-color);
}

.header-profile-user {
  height: 36px;
  width: 36px;
  background-color: #e7eff7;
}

.noti-icon i {
  font-size: 24px;
  color: var(--bs-header-item-color);
}
.noti-icon .badge {
  position: absolute;
  top: 12px;
  right: 4px;
}

.notification-item .d-flex {
  padding: 0.75rem 1rem;
}
.notification-item .d-flex:hover {
  background-color: var(--bs-tertiary-bg);
}

.dropdown-icon-item {
  display: block;
  border-radius: 3px;
  line-height: 34px;
  text-align: center;
  padding: 15px 0 9px;
  display: block;
  border: 1px solid transparent;
  color: #6c757d;
}
.dropdown-icon-item img {
  height: 24px;
}
.dropdown-icon-item span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dropdown-icon-item:hover {
  border-color: #e9ecef;
}

.fullscreen-enable [data-bs-toggle=fullscreen] .mdi-fullscreen::before {
  content: "\f0294";
}

/* Topbar institucional — brand #2d7ba0 (ícones/texto em branco sólido). */
body[data-topbar=dark] #page-topbar {
  background-color: #2d7ba0;
}
body[data-topbar=dark] .navbar-header .dropdown .show.header-item {
  background-color: rgba(255, 255, 255, 0.05);
}
body[data-topbar=dark] .navbar-header .waves-effect .waves-ripple {
  background: rgba(255, 255, 255, 0.4);
}
body[data-topbar=dark] .header-item {
  color: #ffffff !important;
}
body[data-topbar=dark] .header-item:hover {
  color: #ffffff !important;
}
/* WCAG 1.4.3: texto dos botões do header (ex.: e-Processos, Sistema) em branco sobre fundo escuro */
body[data-topbar=dark] #page-topbar .btn.header-item,
body[data-topbar=dark] #page-topbar .btn.header-item span,
body[data-topbar=dark] #page-topbar .header-item span {
  color: #ffffff !important;
}
body[data-topbar=dark] .header-profile-user {
  background-color: rgba(255, 255, 255, 0.25);
}
/* WCAG 1.4.3: ícones do header em branco sólido sobre o teal */
body[data-topbar=dark] .noti-icon i,
body[data-topbar=dark] #page-topbar .header-item i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
}
body[data-topbar=dark] .logo-dark {
  display: none;
}
body[data-topbar=dark] .logo-light {
  display: block;
}
body[data-topbar=dark] .app-search .form-control {
  background-color: rgba(243, 243, 249, 0.07);
  color: #fff;
}
body[data-topbar=dark] .app-search span,
body[data-topbar=dark] .app-search input.form-control::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

body[data-sidebar=dark] .navbar-brand-box {
  background: var(--bs-sidebar-dark-bg);
}
body[data-sidebar=dark] .logo-dark {
  display: none;
}
body[data-sidebar=dark] .logo-light {
  display: block;
}

/*
 * Header mobile: largura do menu = navbar-header, não a faixa do avatar.
 * Proibido position:fixed no menu — o #page-topbar já é fixed; no iOS/Android
 * o painel abria clipado (clique “não faz nada”). display:static do Bootstrap
 * continua; só mudamos o containing block (.dropdown e .sagl-header-* static).
 */
@media (max-width: 991.98px) {
  #page-topbar .navbar-header {
    position: relative;
    overflow: visible;
  }
  #page-topbar .sagl-header-left,
  #page-topbar .sagl-header-actions {
    position: static;
  }
  #page-topbar .navbar-header .dropdown {
    position: static;
  }
  #page-topbar .sagl-header-left .header-item,
  #page-topbar .sagl-header-actions .header-item {
    position: relative;
    z-index: 10061;
  }
  #page-topbar .navbar-header .dropdown .dropdown-menu {
    position: absolute;
    top: 100%;
    left: max(0.75rem, env(safe-area-inset-left, 0px)) !important;
    right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    max-width: none;
    max-height: min(70vh, 24rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    z-index: 10060 !important;
  }
  #page-topbar .navbar-header .dropdown-item {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 380px) {
  .navbar-brand-box {
    display: none;
  }
}
body[data-layout=horizontal] .navbar-brand-box {
  width: auto;
}
/*
 * Horizontal: header + topnav são fixed — o miolo precisa de padding-top
 * igual à altura do chrome (não usar sticky no fluxo: gerava vão extra).
 */
body[data-layout=horizontal] .page-content {
  padding: calc(var(--sagl-header-height, 80px) + var(--sagl-topnav-height, 58px) + 12px)
    calc(24px / 2) 60px calc(24px / 2);
}

@media (max-width: 991.98px) {
  /*
   * Mobile: topnav é overlay (collapse sob o header). Não somar
   * --sagl-topnav-height — senão, após abrir o menu e navegar, o miolo
   * herda o padding da altura expandida e fica um vão vazio.
   */
  body[data-layout=horizontal] .page-content {
    margin-top: 0;
    padding-top: calc(var(--sagl-header-height, 80px) + 12px);
  }
}
.page-title-box .breadcrumb {
  font-size: 0.85rem;
  background-color: transparent;
  padding: 0;
}
@media (max-width: 575.98px) {
  .page-title-box .page-title-right {
    display: none;
  }
  .page-title-box .breadcrumb {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .page-title-box .breadcrumb {
    display: none;
  }
}

/*
 * Flatpickr: calendários fechados devem ficar ocultos. Sem o CSS da lib
 * (ex.: após swap HTMX), o markup órfão no body vaza mês/ano no rodapé.
 */
.flatpickr-calendar:not(.open) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

/*
 * Feedback leve na navegação HTMX (consultas): cursor + opacidade + barra.
 * Sem transição de página — só indicação de carregamento.
 */
#main-content {
  transition: opacity 0.15s ease;
}
body.htmx-request {
  cursor: progress;
}
body.htmx-request #main-content {
  opacity: 0.55;
  pointer-events: none;
}
body.htmx-request::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 3px;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--bs-primary, #2d7ba0) 50%,
    transparent 100%
  );
  background-size: 35% 100%;
  background-repeat: no-repeat;
  animation: sagl-htmx-progress 0.85s ease-in-out infinite;
}
@keyframes sagl-htmx-progress {
  0% { background-position: -35% 0; }
  100% { background-position: 135% 0; }
}
@media (prefers-reduced-motion: reduce) {
  #main-content {
    transition: none;
  }
  body.htmx-request #main-content {
    opacity: 0.7;
  }
  body.htmx-request::before {
    animation: none;
    background: var(--bs-primary, #2d7ba0);
    background-size: 100% 100%;
    opacity: 0.9;
  }
}

/*
 * Overlay residual após HTMX: .modal/.backdrop com display:block e sem .show
 * ficam opacity:0 mas continuam a receber clique (z-index 1040/1050 > header 1001).
 * e-Processos, Sistema e login “não funcionam” até o F5.
 *
 * Importante: NÃO aplicar pointer-events:none em .modal.show / .showing.
 * Se body perder modal-open numa corrida de scrub e o modal continuar visível,
 * Confirmar/Cancelar ficam “mortos” (clique atravessa o formulário). Órfão com
 * .show deve ser fechado por saglClearHeaderBlockingOverlays, não só “muteado”.
 */
.modal:not(.show):not(.showing),
.modal-backdrop:not(.show),
.offcanvas-backdrop:not(.show),
.offcanvas:not(.show):not(.showing),
body:not(.modal-open) .modal:not(.show):not(.showing),
body:not(.modal-open) .modal-backdrop:not(.show),
body:not(.modal-open) .offcanvas-backdrop:not(.show) {
  pointer-events: none !important;
}
.modal.show,
.modal.showing {
  pointer-events: auto !important;
}
/* hide() interrompido: .show + aria-hidden. O wrapper .modal é tela cheia e
 * pointer-events:auto engolia e-Processos / Sistema / usuário até o F5. */
.modal.show[aria-hidden="true"],
.offcanvas.show[aria-hidden="true"] {
  pointer-events: none !important;
}

/*
 * Tema OpenLegis: --bs-modal-zindex: 1050 e --bs-backdrop-zindex: 1040.
 * proposicao_form_digital.css eleva .modal-backdrop.show para 1050 → empate com o
 * modal. Com z-index igual, o backdrop (depois no DOM) cobre o formulário:
 * modal aberto, tela cinza, clique morto (ex.: Editar mandato no parlamentar).
 */
.modal {
  --bs-modal-zindex: 1055;
  z-index: 1055;
}
.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  z-index: 1050;
}

/* Layout wrapper para flexbox - footer sempre no final */
#layout-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.main-content {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.page-content {
  flex: 1 0 auto;
}

.footer,
.footer-institutional {
  margin-top: auto;
  flex-shrink: 0;
  padding: 20px calc(24px / 2);
  position: relative;
  right: 0;
  color: #74788d;
  left: 0;
  width: 100%;
  background-color: #f8f9fa;
  border-top: 1px solid var(--bs-border-color);
}
.footer[style*="background-color: #2d7ba0"] {
  background-color: #2d7ba0 !important;
  color: #ffffff !important;
  border-top: 2px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}
.footer[style*="background-color: #2d7ba0"] p {
  color: #ffffff !important;
  margin-bottom: 0;
}
.footer[style*="background-color: #2d7ba0"] i {
  color: #ffffff !important;
}

.footer-institutional {
  background-color: #f8f9fa;
  color: #495057;
  padding: 2rem 0;
}
.footer-institutional[style*="background-color: #2d7ba0"] {
  background-color: #2d7ba0 !important;
  color: #ffffff !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.05);
  padding: 0.75rem 0 !important;
}
.footer-institutional[style*="background-color: #2d7ba0"] a:hover {
  text-decoration: underline;
}
.footer-institutional[style*="background-color: #2d7ba0"] .footer-title {
  color: #ffffff !important;
}
.footer-institutional[style*="background-color: #2d7ba0"] .footer-text,
.footer-institutional[style*="background-color: #2d7ba0"] .footer-links li i {
  color: #ffffff !important;
}
.footer-institutional[style*="background-color: #2d7ba0"] .footer-link {
  transition: color 0.2s ease;
}
.footer-institutional[style*="background-color: #2d7ba0"] .footer-link:hover {
  color: #ffffff !important;
  text-decoration: underline;
}

.footer-institutional .footer-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.footer-institutional .footer-text {
  font-size: 0.875rem;
  color: #6c757d;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

.footer-institutional .footer-link {
  color: #495057;
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.2s ease;
}

.footer-institutional .footer-link:hover {
  color: #0d6efd;
  text-decoration: none;
}

/*
 * FAB «Voltar ao topo» — chrome global (#sagl-voltar-topo).
 * Acima de barras sticky de ações (z ~1020), abaixo de modais Bootstrap (~1050+).
 * --sagl-voltar-topo-bottom é atualizado pelo sagl_layout quando há sticky no fundo.
 */
#sagl-voltar-topo {
  position: fixed;
  right: 1rem;
  bottom: var(--sagl-voltar-topo-bottom, 1rem);
  z-index: 1035;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bs-primary, #2d7ba0);
  color: #fff;
  box-shadow: 0 0.35rem 1rem rgba(15, 23, 42, 0.28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0.4rem);
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease,
    transform 0.2s ease,
    bottom 0.2s ease,
    background-color 0.15s ease;
}
#sagl-voltar-topo.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
#sagl-voltar-topo:hover,
#sagl-voltar-topo:focus-visible {
  background-color: #256a8f;
  color: #fff;
  outline: none;
}
#sagl-voltar-topo:focus-visible {
  box-shadow:
    0 0 0 0.2rem rgba(126, 196, 224, 0.45),
    0 0.35rem 1rem rgba(15, 23, 42, 0.28);
}
#sagl-voltar-topo i {
  font-size: 1.05rem;
  line-height: 1;
}
html[data-bs-theme="dark"] #sagl-voltar-topo,
body[data-bs-theme="dark"] #sagl-voltar-topo {
  background-color: var(--bs-primary, #2d7ba0);
  color: #fff;
}
html[data-bs-theme="dark"] #sagl-voltar-topo:hover,
html[data-bs-theme="dark"] #sagl-voltar-topo:focus-visible,
body[data-bs-theme="dark"] #sagl-voltar-topo:hover,
body[data-bs-theme="dark"] #sagl-voltar-topo:focus-visible {
  background-color: #3a8fb5;
  color: #fff;
}
@media print {
  #sagl-voltar-topo {
    display: none !important;
  }
}

/* Rodapé barra compacta — layout profissional (com respiro) */
.footer-institutional.footer-bar {
  padding: 0.9rem 0 !important;
}

.footer-institutional.footer-bar .footer-bar-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem 1.25rem;
  min-height: 2.75rem;
}

.footer-institutional.footer-bar .footer-bar-casa,
.footer-institutional.footer-bar .footer-bar-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.15rem;
  min-width: 0;
  line-height: 1.35;
}

.footer-institutional.footer-bar .footer-bar-casa {
  flex: 1 1 16rem;
}

.footer-institutional.footer-bar .footer-bar-nav {
  flex: 0 1 auto;
  justify-content: center;
}

.footer-institutional.footer-bar .footer-bar-credit {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  margin-left: auto;
  /* Sem opacity: branco@0.92 sobre teal falhava WCAG/WAVE */
  white-space: nowrap;
}

.footer-institutional.footer-bar .footer-bar-credit .footer-bar-inline {
  display: inline-flex !important;
  flex-wrap: nowrap;
  align-items: center;
  white-space: nowrap;
}

.footer-institutional.footer-bar .footer-bar-credit .footer-bar-meta,
.footer-institutional.footer-bar .footer-bar-credit .footer-link {
  display: inline !important;
  white-space: nowrap;
}

/* Legado usa display:flex (bloco) em .footer-copyright — isso força 2ª linha */
.footer-institutional.footer-bar .footer-copyright {
  display: inline-flex !important;
  align-items: center;
  white-space: nowrap;
  flex: 0 0 auto;
}

.footer-institutional.footer-bar .footer-bar-contact,
.footer-institutional.footer-bar .footer-bar-inline {
  display: inline;
  min-width: 0;
}

.footer-institutional.footer-bar .footer-bar-sep {
  display: inline;
  margin: 0 0.35rem;
  color: #ffffff !important;
  user-select: none;
}

.footer-institutional.footer-bar .footer-institution-name {
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  white-space: nowrap;
}

.footer-institutional.footer-bar .footer-bar-meta,
.footer-institutional.footer-bar .footer-copyright {
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}

.footer-institutional.footer-bar .footer-bar-cep {
  white-space: nowrap;
}

.footer-institutional.footer-bar .footer-link {
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  transform: none !important;
  white-space: nowrap;
}

.footer-institutional.footer-bar .footer-link:hover,
.footer-institutional.footer-bar .footer-link:focus-visible {
  transform: none !important;
  text-decoration: underline;
}

.footer-institutional.footer-bar .footer-copyright .mdi {
  font-size: 0.85em;
  vertical-align: -0.05em;
}

/* Tablet/mobile: empilha casa → contato → nav → crédito (evita linha única quebrada). */
@media (max-width: 991.98px) {
  .footer-institutional.footer-bar {
    padding: 1rem 0.75rem !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: clip;
  }

  .footer-institutional.footer-bar .footer-bar-row {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.65rem;
    text-align: center;
    min-height: 0 !important;
    height: auto !important;
    max-width: 100%;
    min-width: 0;
  }

  .footer-institutional.footer-bar .container-fluid {
    height: auto !important;
    max-width: 100%;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
  }

  .footer-institutional.footer-bar .footer-bar-casa,
  .footer-institutional.footer-bar .footer-bar-nav,
  .footer-institutional.footer-bar .footer-bar-credit {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    flex: 0 1 auto !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    gap: 0.3rem;
    line-height: 1.4;
    white-space: normal !important;
  }

  /* Separador entre nome da casa e o bloco de contato some no empilhamento. */
  .footer-institutional.footer-bar .footer-bar-casa > .footer-bar-sep {
    display: none !important;
  }

  .footer-institutional.footer-bar .footer-institution-name {
    display: block !important;
    white-space: normal !important;
    max-width: 100%;
  }

  .footer-institutional.footer-bar .footer-bar-contact {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    width: 100%;
    max-width: 22rem;
    white-space: normal !important;
  }

  .footer-institutional.footer-bar .footer-bar-contact > .footer-bar-sep {
    display: none !important;
  }

  .footer-institutional.footer-bar .footer-bar-item {
    display: block;
    max-width: 100%;
    text-align: center;
  }

  .footer-institutional.footer-bar .footer-bar-item .footer-bar-meta,
  .footer-institutional.footer-bar .footer-bar-item .footer-link {
    display: inline !important;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* URL longa: quebra só se não couber na largura. */
  .footer-institutional.footer-bar .footer-bar-item--web .footer-link {
    overflow-wrap: anywhere;
  }

  .footer-institutional.footer-bar .footer-bar-item--tel .footer-link {
    white-space: nowrap !important;
  }

  .footer-institutional.footer-bar .footer-bar-nav .footer-bar-inline {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.15rem 0.5rem;
    max-width: 100%;
    white-space: normal !important;
  }

  .footer-institutional.footer-bar .footer-bar-nav .footer-bar-sep {
    display: none !important;
  }

  .footer-institutional.footer-bar .footer-bar-nav .footer-link {
    display: inline-block !important;
    white-space: nowrap !important;
    padding: 0.15rem 0.35rem;
  }

  .footer-institutional.footer-bar .footer-bar-credit {
    padding-top: 0.35rem;
    margin-top: 0.1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
  }

  .footer-institutional.footer-bar[style*="background-color: #2d7ba0"] .footer-bar-credit {
    border-top-color: rgba(255, 255, 255, 0.25);
  }

  .footer-institutional.footer-bar .footer-bar-credit .footer-bar-inline {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.15rem 0.45rem;
    white-space: normal !important;
  }

  .footer-institutional.footer-bar .footer-bar-credit .footer-bar-sep {
    display: none !important;
  }

  .footer-institutional.footer-bar .footer-bar-credit .footer-bar-meta,
  .footer-institutional.footer-bar .footer-bar-credit .footer-link,
  .footer-institutional.footer-bar .footer-copyright {
    display: inline !important;
    white-space: nowrap !important;
    max-width: none;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 575.98px) {
  .footer-institutional.footer-bar {
    padding: 0.85rem 0.5rem !important;
  }

  .footer-institutional.footer-bar .footer-bar-row {
    gap: 0.55rem;
  }

  .footer-institutional.footer-bar .footer-institution-name {
    font-size: 0.9rem !important;
  }

  .footer-institutional.footer-bar .footer-bar-meta,
  .footer-institutional.footer-bar .footer-copyright,
  .footer-institutional.footer-bar .footer-link {
    font-size: 0.8rem !important;
  }

  .footer-institutional.footer-bar .footer-bar-contact {
    max-width: 100%;
  }
}

.footer-institutional .footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-institutional .footer-links li {
  margin-bottom: 0.5rem;
}

.footer-institutional .footer-links li i {
  margin-right: 0.5rem;
  color: #6c757d;
}

.footer-institutional .badge {
  font-size: 0.75rem;
  padding: 0.4rem 0.65rem;
}

/* Responsividade para tablets e mobile */
@media (max-width: 992px) {
  .footer,
  .footer-institutional {
    left: 0;
    padding: 1.5rem 1rem;
  }
  
  .footer-institutional {
    padding: 1.5rem 1rem;
  }
  
  .footer-institutional .footer-title {
    font-size: 0.8rem;
    margin-bottom: 0.75rem;
  }
  
  .footer-institutional .footer-text {
    font-size: 0.8rem;
  }
  
  .footer-institutional .footer-link {
    font-size: 0.8rem;
  }
}

@media (max-width: 768px) {
  .footer,
  .footer-institutional {
    padding: 1.25rem 0.75rem;
  }
  
  .footer-institutional .container-fluid {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  
  .footer-institutional .row {
    margin-left: 0;
    margin-right: 0;
  }
  
  .footer-institutional .row > [class*="col-"] {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    margin-bottom: 1.5rem;
  }
  
  .footer-institutional .footer-title {
    font-size: 0.75rem;
    margin-bottom: 0.5rem;
  }
  
  .footer-institutional .footer-text {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  
  .footer-institutional .footer-link {
    font-size: 0.75rem;
  }
  
  .footer-institutional .footer-links li {
    margin-bottom: 0.75rem;
  }
  
  .footer-institutional .badge {
    font-size: 0.7rem;
    padding: 0.35rem 0.5rem;
  }
}

@media (max-width: 576px) {
  .footer,
  .footer-institutional {
    padding: 1rem 0.5rem;
  }
  
  .footer-institutional .container-fluid {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  
  .footer-institutional .row {
    margin-left: 0;
    margin-right: 0;
  }
  
  .footer-institutional .row > [class*="col-"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-bottom: 1.25rem;
  }
  
  .footer-institutional .footer-title {
    font-size: 0.7rem;
    margin-bottom: 0.5rem;
  }
  
  .footer-institutional .footer-text {
    font-size: 0.7rem;
    line-height: 1.4;
  }
  
  .footer-institutional .footer-link {
    font-size: 0.7rem;
  }
  
  .footer-institutional .footer-links li {
    margin-bottom: 0.5rem;
  }
  
  .footer-institutional .footer-links li i {
    font-size: 0.85rem;
  }
  
  .footer-institutional .badge {
    font-size: 0.65rem;
    padding: 0.3rem 0.45rem;
  }
}
.vertical-collpsed .footer,
.vertical-collpsed .footer-institutional {
  left: 0;
}

body[data-layout=horizontal] .footer,
body[data-layout=horizontal] .footer-institutional {
  left: 0 !important;
}

/* Garantir que o footer seja sempre visível */
.footer-institutional {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100% !important;
  clear: both !important;
  margin-top: 0 !important;
  min-height: auto !important;
  z-index: 10 !important;
  margin-bottom: 0 !important;
}

/* Garantir que o footer apareça no rodapé mesmo quando há modal */
body .footer-institutional {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Estilos específicos para o footer responsivo */
.footer-institutional {
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
}

.footer-institutional .footer-section {
  padding: 0.5rem 0;
}

.footer-institutional .footer-section-title {
  color: #ffffff !important;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.footer-institutional .footer-icon {
  color: #ffffff !important;
  font-size: 0.9rem;
  opacity: 1 !important;
}

.footer-institutional .footer-institution-name {
  color: #ffffff !important;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.4;
}

.footer-institutional .footer-copyright {
  color: #ffffff !important;
  font-size: 0.7rem;
  display: flex;
  align-items: center;
}

.footer-institutional .footer-system-name {
  color: #ffffff !important;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.2px;
  white-space: nowrap;
  display: inline-block;
}

.footer-institutional .footer-badge {
  /* Fundo mais escuro: evita falha de contraste WCAG do texto branco sobre badge translúcido */
  background: rgba(0, 0, 0, 0.35) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  font-size: 0.7rem;
  padding: 0.25rem 0.6rem;
  font-weight: 600;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  margin-top: 0.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.footer-institutional .footer-link-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
  justify-content: center;
}

@media (min-width: 768px) {
  .footer-institutional .footer-link-item {
    justify-content: flex-end;
  }
}

.footer-institutional .footer-dev-text {
  color: #ffffff !important;
  font-size: 0.7rem;
}

.footer-institutional .footer-link {
  color: #ffffff !important;
  text-decoration: none;
  transition: all 0.2s ease;
  font-size: 0.75rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.footer-institutional .footer-link:hover {
  color: rgba(255, 255, 255, 1) !important;
  text-decoration: underline;
  transform: translateX(2px);
}


/* Responsividade melhorada para o footer */
@media (max-width: 991.98px) {
  .footer-institutional {
    padding: 0.75rem 0 !important;
  }
  
  .footer-institutional .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  .footer-institutional .row {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  
  .footer-institutional .footer-section {
    text-align: center;
    margin-bottom: 0.5rem;
    padding: 0;
  }
  
  .footer-institutional .footer-section:last-child {
    margin-bottom: 0;
  }
  
  .footer-institutional .footer-section-title {
    font-size: 0.7rem;
    justify-content: center;
  }
  
  .footer-institutional .footer-institution-name {
    font-size: 0.75rem;
  }
  
  .footer-institutional .footer-system-name {
    font-size: 0.8rem;
  }
  
  
  .footer-institutional .footer-copyright {
    font-size: 0.65rem;
    justify-content: center;
  }
  
  .footer-institutional .footer-badge {
    font-size: 0.65rem;
    padding: 0.2rem 0.5rem;
  }
  
  .footer-institutional .footer-dev-text,
  .footer-institutional .footer-link {
    font-size: 0.7rem;
  }
  
  .footer-institutional .footer-footer-text {
    font-size: 0.6rem;
  }
}

@media (max-width: 575.98px) {
  .footer-institutional {
    padding: 0.5rem 0 !important;
  }
  
  .footer-institutional .container-fluid {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  
  .footer-institutional .row {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  
  .footer-institutional .footer-section {
    margin-bottom: 0.5rem;
    text-align: center;
    padding: 0;
  }
  
  .footer-institutional .footer-section:last-child {
    margin-bottom: 0;
  }
  
  .footer-institutional .footer-section-title {
    font-size: 0.65rem;
  }
  
  .footer-institutional .footer-icon {
    font-size: 0.8rem;
  }
  
  .footer-institutional .footer-institution-name {
    font-size: 0.7rem;
  }
  
  .footer-institutional .footer-copyright {
    font-size: 0.6rem;
    justify-content: center;
  }
  
  .footer-institutional .footer-system-name {
    font-size: 0.7rem;
    white-space: normal;
  }
  
  .footer-institutional .footer-badge {
    font-size: 0.6rem;
    padding: 0.15rem 0.4rem;
  }
  
  .footer-institutional .footer-dev-text,
  .footer-institutional .footer-link {
    font-size: 0.65rem;
  }
  
  .footer-institutional .footer-link-item {
    flex-direction: column;
    gap: 0.15rem;
  }
}

.right-bar {
  background-color: var(--bs-secondary-bg);
  -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
  display: block;
  position: fixed;
  -webkit-transition: all 200ms ease-out;
  transition: all 200ms ease-out;
  width: 280px;
  z-index: 9999;
  float: right !important;
  right: -290px;
  top: 0;
  bottom: 0;
}
.right-bar .right-bar-toggle {
  background-color: #1b1f35;
  height: 24px;
  width: 24px;
  line-height: 24px;
  color: #e9ecef;
  text-align: center;
  border-radius: 50%;
}
.right-bar .right-bar-toggle:hover {
  background-color: #20253f;
}

.rightbar-overlay {
  background-color: rgba(15, 17, 29, 0.55);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: none;
  z-index: 9998;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.right-bar-enabled .right-bar {
  right: 0;
}
.right-bar-enabled .rightbar-overlay {
  display: block;
}

@media (max-width: 767.98px) {
  .right-bar {
    overflow: auto;
  }
  .right-bar .slimscroll-menu {
    height: auto !important;
  }
}
.metismenu {
  margin: 0;
}
.metismenu li {
  display: block;
  width: 100%;
}
.metismenu .mm-collapse {
  display: none;
}
.metismenu .mm-collapse:not(.mm-show) {
  display: none;
}
.metismenu .mm-collapse.mm-show {
  display: block;
}
.metismenu .mm-collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.35s;
          transition-duration: 0.35s;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
}

.vertical-menu {
  width: 240px;
  z-index: 1001;
  background: var(--bs-sidebar-bg);
  bottom: 0;
  margin-top: 0;
  position: fixed;
  top: 80px;
  -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
}

.main-content {
  margin-left: 240px;
  overflow: hidden;
}
.main-content .content {
  padding: 0 15px 10px 15px;
  margin-top: 80px;
}

#sidebar-menu {
  padding: 20px 0 30px 0;
}
#sidebar-menu .mm-active > .has-arrow:after {
  content: "\f0140";
}
#sidebar-menu .has-arrow:after {
  content: "\f0142";
  font-family: "Material Design Icons";
  display: block;
  float: right;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
  font-size: 1rem;
}
#sidebar-menu ul li a {
  display: block;
  padding: 0.75rem 1.5rem;
  color: var(--bs-sidebar-menu-item-color);
  position: relative;
  font-size: 14px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#sidebar-menu ul li a i {
  display: inline-block;
  min-width: 1.75rem;
  padding-bottom: 0.125em;
  font-size: 1rem;
  line-height: 1.40625rem;
  vertical-align: middle;
  color: var(--bs-sidebar-menu-item-icon-color);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  opacity: 0.8;
}
#sidebar-menu ul li a:hover {
  color: var(--bs-sidebar-menu-item-hover-color);
}
#sidebar-menu ul li a:hover i {
  color: var(--bs-sidebar-menu-item-hover-color);
}
#sidebar-menu ul li .badge {
  margin-top: 4px;
}
#sidebar-menu ul li ul.sub-menu {
  padding: 0;
}
#sidebar-menu ul li ul.sub-menu li a {
  padding: 0.5rem 1.5rem 0.4rem 3.7rem;
  font-size: 13.5px;
  color: var(--bs-sidebar-menu-sub-item-color);
  border: none;
}
#sidebar-menu ul li ul.sub-menu li a:hover {
  color: var(--bs-sidebar-menu-item-hover-color);
}
#sidebar-menu ul li ul.sub-menu li ul.sub-menu {
  padding: 0;
}
#sidebar-menu ul li ul.sub-menu li ul.sub-menu li a {
  padding: 0.4rem 1.5rem 0.4rem 4.7rem;
  font-size: 13.5px;
}
#sidebar-menu ul > li > a {
  border-left: 3px solid transparent;
}

.menu-title {
  padding: 12px 27px !important;
  pointer-events: none;
  font-size: 12px;
  text-transform: uppercase;
}

.mm-active {
  color: var(--bs-sidebar-menu-item-active-color) !important;
}
.mm-active > a {
  color: var(--bs-sidebar-menu-item-active-color) !important;
  border-color: var(--bs-sidebar-menu-item-active-color) !important;
}
.mm-active > a i {
  color: var(--bs-sidebar-menu-item-active-color) !important;
}
.mm-active .active {
  color: var(--bs-sidebar-menu-item-active-color) !important;
}
.mm-active .active i {
  color: var(--bs-sidebar-menu-item-active-color) !important;
}
.mm-active > i {
  color: var(--bs-sidebar-menu-item-active-color) !important;
}

@media (max-width: 992px) {
  .vertical-menu {
    display: none;
  }
  .main-content {
    margin-left: 0 !important;
  }
  body.sidebar-enable .vertical-menu {
    display: block;
  }
}
.vertical-collpsed .main-content {
  margin-left: 70px;
}
.vertical-collpsed .navbar-brand-box {
  width: 70px !important;
}
.vertical-collpsed .logo span.logo-lg {
  display: none;
}
.vertical-collpsed .logo span.logo-sm {
  display: block;
}
.vertical-collpsed .vertical-menu {
  position: absolute;
  width: 70px !important;
  z-index: 5;
}
.vertical-collpsed .vertical-menu .simplebar-mask,
.vertical-collpsed .vertical-menu .simplebar-content-wrapper {
  overflow: visible !important;
}
.vertical-collpsed .vertical-menu .simplebar-scrollbar {
  display: none !important;
}
.vertical-collpsed .vertical-menu .simplebar-offset {
  bottom: 0 !important;
}
.vertical-collpsed .vertical-menu #sidebar-menu .menu-title,
.vertical-collpsed .vertical-menu #sidebar-menu .badge,
.vertical-collpsed .vertical-menu #sidebar-menu .collapse.in {
  display: none !important;
}
.vertical-collpsed .vertical-menu #sidebar-menu .nav.collapse {
  height: inherit !important;
}
.vertical-collpsed .vertical-menu #sidebar-menu .has-arrow:after {
  display: none;
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li {
  position: relative;
  white-space: nowrap;
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a {
  padding: 15px 20px;
  min-height: 55px;
  -webkit-transition: none;
  transition: none;
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a:hover, .vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a:active, .vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a:focus {
  color: var(--bs-sidebar-menu-item-hover-color);
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a i {
  font-size: 1.25rem;
  margin-left: 4px;
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a span {
  display: none;
  padding-left: 25px;
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a {
  position: relative;
  width: calc(190px + 70px);
  color: #2d7ba0;
  background-color: var(--bs-body-bg);
  -webkit-transition: none;
  transition: none;
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a i {
  color: var(--bs-sidebar-dark-menu-item-active-color);
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a span {
  display: inline;
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul {
  display: block;
  left: 70px;
  position: absolute;
  width: 190px;
  height: auto !important;
  -webkit-box-shadow: 3px 5px 10px 0 rgba(54, 61, 71, 0.1);
          box-shadow: 3px 5px 10px 0 rgba(54, 61, 71, 0.1);
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul ul {
  -webkit-box-shadow: 3px 5px 10px 0 rgba(54, 61, 71, 0.1);
          box-shadow: 3px 5px 10px 0 rgba(54, 61, 71, 0.1);
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a {
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 8px 20px;
  position: relative;
  width: 190px;
  z-index: 6;
  color: var(--bs-sidebar-menu-sub-item-color);
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a:hover {
  color: var(--bs-sidebar-menu-item-hover-color);
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul ul {
  padding: 5px 0;
  z-index: 9999;
  display: none;
  background-color: var(--bs-sidebar-bg);
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul ul li:hover > ul {
  display: block;
  left: 190px;
  height: auto !important;
  margin-top: -36px;
  position: absolute;
  width: 190px;
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul ul li > a span.pull-right {
  position: absolute;
  right: 20px;
  top: 12px;
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}
.vertical-collpsed .vertical-menu #sidebar-menu > ul ul li.active a {
  color: #f8f9fa;
}

body[data-sidebar=dark] .vertical-menu {
  background: var(--bs-sidebar-dark-bg);
}
body[data-sidebar=dark] #sidebar-menu ul li a {
  color: var(--bs-sidebar-dark-menu-item-color);
}
body[data-sidebar=dark] #sidebar-menu ul li a i {
  color: var(--bs-sidebar-dark-menu-item-icon-color);
}
body[data-sidebar=dark] #sidebar-menu ul li a:hover {
  color: var(--bs-sidebar-dark-menu-item-hover-color);
}
body[data-sidebar=dark] #sidebar-menu ul li a:hover i {
  color: var(--bs-sidebar-dark-menu-item-hover-color);
}
body[data-sidebar=dark] #sidebar-menu ul li ul.sub-menu li a {
  color: var(--bs-sidebar-dark-menu-sub-item-color);
}
body[data-sidebar=dark] #sidebar-menu ul li ul.sub-menu li a:hover {
  color: var(--bs-sidebar-dark-menu-item-hover-color);
}
body[data-sidebar=dark].vertical-collpsed {
  min-height: 1200px;
}
body[data-sidebar=dark].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a {
  color: var(--bs-sidebar-dark-menu-item-hover-color);
}
body[data-sidebar=dark].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a i {
  color: var(--bs-sidebar-dark-menu-item-hover-color);
}
body[data-sidebar=dark].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a {
  color: var(--bs-sidebar-dark-menu-sub-item-color);
}
body[data-sidebar=dark].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a:hover {
  color: var(--bs-sidebar-dark-menu-item-hover-color);
}
body[data-sidebar=dark].vertical-collpsed .vertical-menu #sidebar-menu > ul ul {
  background-color: var(--bs-sidebar-dark-bg);
}
body[data-sidebar=dark].vertical-collpsed .vertical-menu #sidebar-menu ul li.mm-active .active {
  color: var(--bs-sidebar-menu-item-active-color) !important;
}
body[data-sidebar=dark].vertical-collpsed .vertical-menu #sidebar-menu ul li.mm-active .active i {
  color: var(--bs-sidebar-menu-item-active-color) !important;
}
body[data-sidebar=dark] .mm-active {
  color: var(--bs-sidebar-dark-menu-item-active-color) !important;
}
body[data-sidebar=dark] .mm-active > i {
  color: var(--bs-sidebar-dark-menu-item-active-color) !important;
}
body[data-sidebar=dark] .mm-active .active {
  color: var(--bs-sidebar-dark-menu-item-active-color) !important;
}
body[data-sidebar=dark] .mm-active .active i {
  color: var(--bs-sidebar-dark-menu-item-active-color) !important;
}
body[data-sidebar=dark] .menu-title {
  color: var(--bs-sidebar-dark-menu-item-icon-color);
}

body[data-layout=horizontal] .main-content {
  margin-left: 0 !important;
  overflow: visible;
}

body[data-sidebar-size=small] .navbar-brand-box {
  width: 160px;
}
@media (max-width: 992px) {
  body[data-sidebar-size=small] .navbar-brand-box {
    width: auto;
  }
}
body[data-sidebar-size=small] .vertical-menu {
  width: 160px;
  text-align: center;
}
body[data-sidebar-size=small] .vertical-menu .has-arrow:after,
body[data-sidebar-size=small] .vertical-menu .badge {
  display: none !important;
}
body[data-sidebar-size=small] .main-content {
  margin-left: 160px;
}
body[data-sidebar-size=small] .footer {
  left: 160px;
}
body[data-sidebar-size=small] #sidebar-menu ul li a i {
  display: block;
}
body[data-sidebar-size=small] #sidebar-menu ul li ul.sub-menu li a {
  padding-left: 1.5rem;
}
body[data-sidebar-size=small] #sidebar-menu ul li ul.sub-menu li ul.sub-menu li a {
  padding-left: 1.5rem;
}
body[data-sidebar-size=small] #sidebar-menu ul > li > a {
  border: 0;
}
body[data-sidebar-size=small].vertical-collpsed .main-content {
  margin-left: 70px;
}
body[data-sidebar-size=small].vertical-collpsed .vertical-menu #sidebar-menu {
  text-align: left;
}
body[data-sidebar-size=small].vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a i {
  display: inline-block;
}
body[data-sidebar-size=small].vertical-collpsed .footer {
  left: 70px;
}

body[data-sidebar=colored] .vertical-menu {
  background-color: #2d7ba0;
}
body[data-sidebar=colored] .navbar-brand-box {
  background-color: #2d7ba0;
}
body[data-sidebar=colored] .navbar-brand-box .logo-dark {
  display: none;
}
body[data-sidebar=colored] .navbar-brand-box .logo-light {
  display: block;
}
body[data-sidebar=colored] .mm-active {
  color: #fff !important;
}
body[data-sidebar=colored] .mm-active > a {
  border-color: #fff !important;
  color: #fff !important;
}
body[data-sidebar=colored] .mm-active > a > i {
  color: #fff !important;
}
body[data-sidebar=colored] .mm-active > i, body[data-sidebar=colored] .mm-active .active {
  color: #fff !important;
}
body[data-sidebar=colored] #sidebar-menu ul li.menu-title {
  color: rgba(255, 255, 255, 0.7);
}
body[data-sidebar=colored] #sidebar-menu ul li a {
  color: rgba(255, 255, 255, 0.7);
}
body[data-sidebar=colored] #sidebar-menu ul li a i {
  color: rgba(255, 255, 255, 0.7);
}
body[data-sidebar=colored] #sidebar-menu ul li a.waves-effect .waves-ripple {
  background: rgba(255, 255, 255, 0.1);
}
body[data-sidebar=colored] #sidebar-menu ul li ul.sub-menu li a {
  color: rgba(255, 255, 255, 0.6);
}
body[data-sidebar=colored].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a {
  background-color: #4ca6d4;
  color: #fff;
}
body[data-sidebar=colored].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a i {
  color: #fff;
}
body[data-sidebar=colored].vertical-collpsed .vertical-menu #sidebar-menu ul li.mm-active .mm-active > a {
  color: var(--bs-sidebar-menu-item-active-color) !important;
}

[dir=rtl] #sidebar-menu .has-arrow:after {
  content: "\f0141";
}
[dir=rtl] #sidebar-menu .mm-active > .has-arrow:after {
  content: "\f0140";
}

.topnav {
  background: var(--bs-topnav-bg);
  padding: 0 calc(24px / 2);
  -webkit-box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.05), 0 0px 0px 0 rgba(0, 0, 0, 0.02), 0 1px 20px 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.05), 0 0px 0px 0 rgba(0, 0, 0, 0.02), 0 1px 20px 0 rgba(0, 0, 0, 0.02);
  top: var(--sagl-header-height, 80px);
  margin-top: 0;
  position: fixed !important;
  left: 0;
  right: 0;
  z-index: 999;
}
.topnav .topnav-menu {
  margin: 0;
  padding: 0;
}
.topnav .navbar-nav .nav-link {
  font-size: 15px;
  position: relative;
  padding: 1rem 1.3rem;
}
.topnav .navbar-nav .nav-link i {
  font-size: 16px;
}
.topnav .navbar-nav .nav-link:focus, .topnav .navbar-nav .nav-link:hover {
  color: var(--bs-sidebar-menu-item-active-color);
  background-color: transparent;
}
.topnav .navbar-nav .dropdown-item {
  color: var(--bs-sidebar-menu-item-color);
}
.topnav .navbar-nav .dropdown-item.active, .topnav .navbar-nav .dropdown-item:hover {
  color: var(--bs-sidebar-menu-item-active-color);
  background-color: transparent;
}
.topnav .navbar-nav .nav-item .nav-link.active {
  color: var(--bs-sidebar-menu-item-active-color);
}
.topnav .navbar-nav .dropdown.active > a {
  color: var(--bs-sidebar-menu-item-active-color);
  background-color: transparent;
}

@media (min-width: 1200px) {
  body[data-layout=horizontal] .container-fluid,
  body[data-layout=horizontal] .navbar-header {
    max-width: 85%;
    /* Search */
  }
  body[data-layout=horizontal] .container-fluid .search-wrap,
  body[data-layout=horizontal] .navbar-header .search-wrap {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
  }
}
@media (min-width: 992px) {
  .topnav .navbar-nav .nav-item:first-of-type .nav-link {
    padding-left: 0;
  }
  .topnav .dropdown-item {
    padding: 0.5rem 1.5rem;
    min-width: 180px;
    font-size: 14.7px;
  }
  .topnav .dropdown.mega-dropdown .mega-dropdown-menu {
    left: 0px;
    right: auto;
  }
  .topnav .dropdown .dropdown-menu {
    margin-top: 0;
    border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
  }
  .topnav .dropdown .dropdown-menu .arrow-down::after {
    right: 15px;
    -webkit-transform: rotate(-135deg) translateY(-50%);
            transform: rotate(-135deg) translateY(-50%);
    position: absolute;
  }
  .topnav .dropdown .dropdown-menu .dropdown .dropdown-menu {
    position: absolute;
    top: 0 !important;
    left: 100%;
    display: none;
  }
  .topnav .dropdown:hover > .dropdown-menu {
    display: block;
  }
  .topnav .dropdown:hover > .dropdown-menu > .dropdown:hover > .dropdown-menu {
    display: block;
  }
  .navbar-toggle {
    display: none;
  }
}
.arrow-down {
  display: inline-block;
}
.arrow-down:after {
  border-color: initial;
  border-style: solid;
  border-width: 0 0 1px 1px;
  content: "";
  height: 0.4em;
  display: inline-block;
  right: 5px;
  top: 50%;
  margin-left: 10px;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  width: 0.4em;
}

@media (max-width: 1199.98px) {
  .topnav-menu .navbar-nav li:last-of-type .dropdown .dropdown-menu {
    right: 100%;
    left: auto;
  }
}
@media (max-width: 991.98px) {
  .topnav {
    max-height: 360px;
    overflow-y: auto;
    padding: 0;
  }
  .topnav .navbar-nav .nav-link {
    padding: 0.75rem 1.1rem;
  }
  /* Submenus no mobile: exibir quando o item tem .active (toggle por clique) */
  .topnav .dropdown.active > .dropdown-menu,
  .topnav .dropdown-menu.show {
    display: block !important;
  }
  .topnav .dropdown .dropdown-menu {
    background-color: transparent;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding-left: 15px;
  }
  .topnav .dropdown .dropdown-menu.dropdown-mega-menu-xl, .topnav .dropdown .dropdown-menu.dropdown-mega-menu-lg {
    width: auto;
  }
  .topnav .dropdown .dropdown-menu.dropdown-mega-menu-xl .row, .topnav .dropdown .dropdown-menu.dropdown-mega-menu-lg .row {
    margin: 0px;
  }
  .topnav .dropdown .dropdown-item {
    position: relative;
    background-color: transparent;
  }
  .topnav .dropdown .dropdown-item.active, .topnav .dropdown .dropdown-item:active {
    color: #2d7ba0;
  }
  .topnav .arrow-down::after {
    right: 15px;
    position: absolute;
  }
}
@media (min-width: 992px) {
  body[data-layout=horizontal][data-topbar=light] .navbar-brand-box .logo-dark {
    display: block;
  }
  body[data-layout=horizontal][data-topbar=light] .navbar-brand-box .logo-light {
    display: none;
  }
  body[data-layout=horizontal][data-topbar=light] .topnav {
    background-color: #2d7ba0;
  }
  body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link {
    color: #ffffff;
  }
  body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link:focus, body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link:hover {
    color: #ffffff;
  }
  body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav > .dropdown.active > a {
    color: #ffffff !important;
  }
}
body[data-layout=horizontal][data-topbar=colored] #page-topbar {
  background-color: #2d7ba0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
body[data-layout=horizontal][data-topbar=colored] .logo-dark {
  display: none;
}
body[data-layout=horizontal][data-topbar=colored] .logo-light {
  display: block;
}
body[data-layout=horizontal][data-topbar=colored] .app-search .form-control {
  background-color: rgba(243, 243, 249, 0.07);
  color: #fff;
}
body[data-layout=horizontal][data-topbar=colored] .app-search span,
body[data-layout=horizontal][data-topbar=colored] .app-search input.form-control::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
body[data-layout=horizontal][data-topbar=colored] .header-item {
  color: #ffffff;
}
body[data-layout=horizontal][data-topbar=colored] .header-item:hover {
  color: #ffffff;
}
body[data-layout=horizontal][data-topbar=colored] .navbar-header .dropdown.show .header-item {
  background-color: rgba(255, 255, 255, 0.1);
}
body[data-layout=horizontal][data-topbar=colored] .navbar-header .waves-effect .waves-ripple {
  background: rgba(255, 255, 255, 0.4);
}
body[data-layout=horizontal][data-topbar=colored] .noti-icon i {
  color: #ffffff;
}
@media (min-width: 992px) {
  body[data-layout=horizontal][data-topbar=colored] .topnav {
    background-color: #2d7ba0;
  }
  body[data-layout=horizontal][data-topbar=colored] .topnav .navbar-nav .nav-link {
    color: #ffffff;
  }
  body[data-layout=horizontal][data-topbar=colored] .topnav .navbar-nav .nav-link:focus, body[data-layout=horizontal][data-topbar=colored] .topnav .navbar-nav .nav-link:hover {
    color: #ffffff;
  }
  body[data-layout=horizontal][data-topbar=colored] .topnav .navbar-nav > .dropdown.active > a {
    color: #ffffff !important;
  }
}

@media (min-width: 992px) {
  body[data-layout=horizontal][data-topbar=light] .topnav {
    background-color: #2d7ba0;
  }
  body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link {
    color: #ffffff;
  }
  body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link:focus, body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link:hover {
    color: #ffffff;
  }
  body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav > .dropdown.active > a {
    color: #ffffff !important;
  }
}

body[data-layout-size=boxed] {
  background-color: var(--bs-boxed-body-bg);
}
body[data-layout-size=boxed] #layout-wrapper {
  background-color: var(--bs-body-bg);
  max-width: 1300px;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
}
body[data-layout-size=boxed] #page-topbar {
  max-width: 1300px;
  margin: 0 auto;
}
body[data-layout-size=boxed] .footer {
  margin: 0 auto;
  max-width: calc(1300px - 240px);
}
body[data-layout-size=boxed].vertical-collpsed .footer {
  max-width: calc(1300px - 70px);
}

body[data-layout=horizontal][data-layout-size=boxed] #page-topbar, body[data-layout=horizontal][data-layout-size=boxed] #layout-wrapper, body[data-layout=horizontal][data-layout-size=boxed] .footer {
  max-width: 100%;
}
body[data-layout=horizontal][data-layout-size=boxed] .container-fluid, body[data-layout=horizontal][data-layout-size=boxed] .navbar-header {
  max-width: 1300px;
}

:root,
[data-bs-theme=light] {
  --bs-primary: #2d7ba0;
  --bs-primary-rgb: 45, 123, 160;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #256a8f;
  --bs-btn-hover-border-color: #256a8f;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #256a8f;
  --bs-btn-active-border-color: #256a8f;
  --bs-link-color: #2d7ba0;
  --bs-link-hover-color: #256a8f;
  --bs-link-color-rgb: 45, 123, 160;
  --bs-header-bg: #ffffff;
  --bs-header-item-color: #636e75;
  --bs-header-height: 80px;
  --bs-navbar-brand-box-width: 250px;
  --bs-header-dark-bg: #252b3b;
  --bs-apex-grid-color: #f8f9fa;
  --bs-input-bg: #ffffff;
  --bs-display-block: block;
  --bs-display-none: none;
  --bs-footer-height: 60px;
  --bs-sidebar-collapsed-width: 70px;
  --bs-rightbar-width: 280px;
  --bs-sidebar-width-sm: 160px;
  --bs-footer-bg: #fff;
  --bs-topbar-search-bg: #f1f5f7;
  --bs-sidebar-width: 250px;
  --bs-sidebar-bg: #ffffff;
  --bs-sidebar-menu-item-color: #6c757d;
  --bs-sidebar-menu-sub-item-color: #6c757d;
  --bs-sidebar-menu-item-icon-color: #495057;
  --bs-sidebar-menu-item-hover-color: #2d7ba0;
  --bs-sidebar-menu-item-active-color: #2d7ba0;
  --bs-topbar-search-border: #eff0f2;
  --bs-topbar-search-bg: #f1f5f7;
  --bs-topnav-bg: #fff;
  --bs-menu-item-color: #74788d;
  --bs-menu-item-active-color: #0bb197;
  --bs-boxed-body-bg: #eaedf2;
  --bs-footer-bg: #fff;
  --bs-footer-color: #74788d;
  --bs-font-family-secondary: "Work Sans", sans-serif;
}
:root [data-sidebar=dark],
[data-bs-theme=light] [data-sidebar=dark] {
  --bs-sidebar-dark-bg: #1c1f31;
  --bs-sidebar-dark-menu-item-color: #8f93a4;
  --bs-sidebar-menu-item-hover-color: #d7e4ec;
  --bs-sidebar-dark-menu-sub-item-color: #8f93a4;
  --bs-sidebar-dark-menu-item-icon-color: #8590a5;
  --bs-sidebar-dark-menu-item-hover-color: #d7e4ec;
  --bs-sidebar-dark-menu-item-active-color: #d7e4ec;
}
:root [data-topbar=dark],
[data-bs-theme=light] [data-topbar=dark] {
  --bs-header-bg: $gray-800;
  --bs-header-item-color: #ffffff;
  --bs-header-item-sub-color: #ffffff;
}
:root [data-topbar=light],
[data-bs-theme=light] [data-topbar=light] {
  --bs-header-bg: #fff;
  --bs-header-item-color: #a6b0cf;
  --bs-header-item-sub-color: #8795ab;
}

[data-bs-theme=dark] {
  --bs-primary: #2d7ba0;
  --bs-primary-rgb: 45, 123, 160;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #256a8f;
  --bs-btn-hover-border-color: #256a8f;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #256a8f;
  --bs-btn-active-border-color: #256a8f;
  /* Azul de links no dark = Reuniões Plenárias (spc-sess-titlink) */
  --bs-link-color: #7ec4e0;
  --bs-link-hover-color: #a8daf0;
  --bs-link-color-rgb: 126, 196, 224;
  --bs-light: #495057;
  --bs-light-rgb: 45, 52, 72;
  --bs-dark: #e9ecef;
  --bs-dark-rgb: 73, 80, 87;
  --bs-header-bg: #262b3c;
  --bs-header-color: #a3a4ab;
  --bs-header-dark-bg: #252b3b;
  --bs-header-item-color: #a6b0cf;
  --bs-topbar-search-bg: #2b3244;
  --bs-topnav-dark-bg: #292731;
  --bs-menu-dark-item-color: #afacbb;
  --bs-menu-dark-item-active-color: #eeeff1;
  --bs-table-bg: var(--bs-tertiary-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-striped-bg: #2a2f4f66 !important;
  --bs-table-active-bg: var(--bs-tertiary-bg);
  --bs-table-hover-bg: var(--bs-tertiary-bg);
  --bs-sidebar-bg: #16192a;
  --bs-sidebar-border-color: #eff0f2;
  --bs-sidebar-menu-item-color: #8f93a4;
  --bs-sidebar-menu-sub-item-color: #8f93a4;
  --bs-sidebar-menu-item-icon-color: #8f93a4;
  --bs-sidebar-menu-item-hover-color: #2d7ba0;
  --bs-sidebar-menu-item-active-bg-color: #2d7ba0;
  --bs-sidebar-menu-sub-item-line-color: #eaecf1;
  --bs-sidebar-dark-bg: #252b3b;
  --bs-sidebar-dark-menu-item-color: #afacbb;
  --bs-sidebar-dark-menu-sub-item-color: #afacbb;
  --bs-sidebar-dark-menu-item-icon-color: #ffffff;
  --bs-sidebar-dark-menu-item-hover-color: #ffffff;
  --bs-sidebar-dark-menu-item-active-color: #ffffff;
  --bs-sidebar-dark-menu-item-active-bg-color: #35333e;
  --bs-sidebar-dark-menu-sub-item-line-color: #505356;
  --bs-footer-bg: #212734;
  --bs-footer-color: #adb5bd;
  --bs-topnav-bg: #181b2e;
  --bs-topnav-item-color: #afacbb;
  --bs-topnav-item-color-active: #fff;
  --bs-menu-item-color: #919bae;
  --bs-menu-item-active-color: #ffffff;
  --bs-input-bg: #21253e;
  --bs-accordion-button-active-bg: #3b403d;
  --bs-boxed-body-bg: #32394f;
  --bs-header-dark-item-color: #919bae;
  --bs-header-dark-bg: #212734;
  --bs-secondary-color: #cfd6dd;
  --bs-secondary-color-rgb: 207, 214, 221;
  --bs-apex-grid-color: #373e54;
  --bs-header-height: 80px;
  --bs-navbar-brand-box-width: 250px;
  --bs-display-block: block;
  --bs-display-none: none;
  --bs-footer-height: 60px;
  --bs-sidebar-collapsed-width: 70px;
  --bs-rightbar-width: 280px;
  --bs-sidebar-width-sm: 160px;
}
[data-bs-theme=dark][data-sidebar=dark] {
  --bs-sidebar-dark-bg: #2a3042;
  --bs-sidebar-dark-menu-item-color: #a6b0cf;
  --bs-sidebar-dark-menu-sub-item-color: #79829c;
  --bs-sidebar-dark-menu-item-icon-color: #6a7187;
  --bs-sidebar-dark-menu-item-hover-color: #fff;
  --bs-sidebar-dark-menu-item-active-color: #fff;
}

/*!
 * Waves v0.7.6
 * http://fian.my.id/Waves 
 * 
 * Copyright 2014-2018 Alfiana E. Sibuea and other contributors 
 * Released under the MIT license 
 * https://github.com/fians/Waves/blob/master/LICENSE */
.waves-effect {
  position: relative;
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.waves-effect .waves-ripple {
  position: absolute;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  margin-top: -50px;
  margin-left: -50px;
  opacity: 0;
  background: rgba(0, 0, 0, 0.2);
  background: radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  -webkit-transition-property: -webkit-transform, opacity;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transform: scale(0) translate(0, 0);
  transform: scale(0) translate(0, 0);
  pointer-events: none;
}

.waves-effect.waves-light .waves-ripple {
  background: rgba(255, 255, 255, 0.4);
  background: radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}

.waves-effect.waves-classic .waves-ripple {
  background: rgba(0, 0, 0, 0.2);
}

.waves-effect.waves-classic.waves-light .waves-ripple {
  background: rgba(255, 255, 255, 0.4);
}

.waves-notransition {
  -webkit-transition: none !important;
  transition: none !important;
}

.waves-button,
.waves-circle {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
}

.waves-button,
.waves-button:hover,
.waves-button:visited,
.waves-button-input {
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  outline: none;
  color: inherit;
  background-color: rgba(0, 0, 0, 0);
  font-size: 1em;
  line-height: 1em;
  text-align: center;
  text-decoration: none;
  z-index: 1;
}

.waves-button {
  padding: 0.85em 1.1em;
  border-radius: 0.2em;
}

.waves-button-input {
  margin: 0;
  padding: 0.85em 1.1em;
}

.waves-input-wrapper {
  border-radius: 0.2em;
  vertical-align: bottom;
}

.waves-input-wrapper.waves-button {
  padding: 0;
}

.waves-input-wrapper .waves-button-input {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
}

.waves-circle {
  text-align: center;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  border-radius: 50%;
}

.waves-float {
  -webkit-mask-image: none;
  -webkit-box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12);
  box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12);
  -webkit-transition: all 300ms;
  transition: all 300ms;
}

.waves-float:active {
  -webkit-box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3);
}

.waves-block {
  display: block;
}

.waves-effect.waves-light .waves-ripple {
  background-color: rgba(255, 255, 255, 0.4);
}

.waves-effect.waves-primary .waves-ripple {
  background-color: rgba(45, 123, 160, 0.4);
}

.waves-effect.waves-success .waves-ripple {
  background-color: rgba(10, 207, 151, 0.4);
}

.waves-effect.waves-info .waves-ripple {
  background-color: rgba(45, 123, 244, 0.4);
}

.waves-effect.waves-warning .waves-ripple {
  background-color: rgba(249, 188, 11, 0.4);
}

.waves-effect.waves-danger .waves-ripple {
  background-color: rgba(241, 85, 108, 0.4);
}

.avatar-xs {
  height: 2.3rem;
  width: 2.3rem;
}

.avatar-sm {
  height: 3rem;
  width: 3rem;
}

.avatar-md {
  height: 4.5rem;
  width: 4.5rem;
}

.avatar-lg {
  height: 6rem;
  width: 6rem;
}

.avatar-xl {
  height: 10rem;
  width: 10rem;
}

.avatar-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #2d7ba0;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.img-thumbnail {
  background-color: var(--bs-body-bg) !important;
}

.bg-purple-subtle {
  background-color: rgba(78, 87, 211, 0.3411764706);
}

.bg-pink-subtle {
  background-color: rgba(255, 52, 120, 0.2549019608);
}

.font-size-10 {
  font-size: 10px !important;
}

.font-size-11 {
  font-size: 11px !important;
}

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

.font-size-13 {
  font-size: 13px !important;
}

.font-size-14 {
  font-size: 14px !important;
}

.font-size-15 {
  font-size: 15px !important;
}

.font-size-16 {
  font-size: 16px !important;
}

.font-size-17 {
  font-size: 17px !important;
}

.font-size-18 {
  font-size: 18px !important;
}

.font-size-20 {
  font-size: 20px !important;
}

.font-size-22 {
  font-size: 22px !important;
}

.font-size-24 {
  font-size: 24px !important;
}

.fw-medium {
  font-weight: 500;
}

.fw-semibold {
  font-weight: 600;
}

.social-list-item {
  height: 2rem;
  width: 2rem;
  line-height: calc(2rem - 2px);
  display: block;
  border: 1px solid #adb5bd;
  border-radius: 50%;
  color: #adb5bd;
  text-align: center;
}

ol {
  list-style: none;
}

.w-xs {
  min-width: 80px;
}

.w-sm {
  min-width: 95px;
}

.w-md {
  min-width: 110px;
}

.w-lg {
  min-width: 140px;
}

.w-xl {
  min-width: 160px;
}

.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}

.bg-light {
  background-color: var(--bs-border-color) !important;
}

.container-fluid {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.text-dark {
  color: var(--bs-emphasis-color) !important;
}

.flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.accordion-button.collapsed {
  border-bottom-width: 1px;
}

.bg-subtle-primary {
  background-color: rgba(45, 123, 160, 0.25) !important;
}

.bg-subtle-secondary {
  background-color: rgba(108, 117, 125, 0.25) !important;
}

.bg-subtle-success {
  background-color: rgba(10, 207, 151, 0.25) !important;
}

.bg-subtle-info {
  background-color: rgba(45, 123, 244, 0.25) !important;
}

.bg-subtle-warning {
  background-color: rgba(249, 188, 11, 0.25) !important;
}

.bg-subtle-danger {
  background-color: rgba(241, 85, 108, 0.25) !important;
}

.bg-subtle-purple {
  background-color: rgba(119, 126, 221, 0.25) !important;
}

.bg-subtle-pink {
  background-color: rgba(255, 103, 155, 0.25) !important;
}

.bg-subtle-light {
  background-color: rgba(248, 249, 250, 0.25) !important;
}

.bg-subtle-dark {
  background-color: rgba(15, 17, 29, 0.25) !important;
}

.bg-dark-primary {
  background-color: #2c88b7 !important;
}

.bg-dark-secondary {
  background-color: #545b62 !important;
}

.bg-dark-success {
  background-color: #089e74 !important;
}

.bg-dark-info {
  background-color: #0c60e2 !important;
}

.bg-dark-warning {
  background-color: #cc9905 !important;
}

.bg-dark-danger {
  background-color: #ed2643 !important;
}

.bg-dark-purple {
  background-color: #4e57d3 !important;
}

.bg-dark-pink {
  background-color: #ff3479 !important;
}

.bg-dark-light {
  background-color: #dae0e5 !important;
}

.bg-dark-dark {
  background-color: black !important;
}

.form-check-right {
  padding-left: 0;
  display: inline-block;
  padding-right: 1.25rem;
}
.form-check-right .form-check-input {
  right: 0;
  margin-left: 0;
}
.form-check-right .form-check-label {
  display: block;
}

.form-control {
  background-color: var(--bs-input-bg) !important;
}

.custom-control-right {
  padding-left: 0;
  padding-right: 1.5rem;
  display: inline-block;
}
.custom-control-right .form-check-label {
  display: inline-block;
}
.custom-control-right .form-check-label:before, .custom-control-right .form-check-label:after {
  left: auto;
  right: -1.5rem;
}
.custom-control-right .form-check-input {
  left: auto;
}

.form-check-label {
  cursor: pointer;
}

/*== Project Lonch ==*/
.icon-info i {
  font-size: 36px;
}

.live-tile {
  width: 100%;
  height: 120px;
  margin: 0;
  border-radius: 5px;
  background-color: var(--bs-tertiary-bg);
  -ms-flex-item-align: center;
      align-self: center;
}

/*== todo list ==*/
.todo-list .todo-box .remove {
  position: absolute;
  right: 20px;
  z-index: 10;
  font-size: 18px;
  margin-top: 6px;
  color: #adb5bd;
  padding: 0;
}
.todo-list .todo-box .todo-task {
  padding: 4px 0;
}
.todo-list .todo-box .todo-task label {
  display: inline-block;
  margin-bottom: 0.5rem;
}
.todo-list .todo-box .todo-task .ckbox {
  font-weight: normal;
  position: relative;
  display: block;
  line-height: 24px;
}
.todo-list .todo-box .todo-task .ckbox span {
  padding-left: 16px;
}
.todo-list .todo-box .todo-task .ckbox span:before {
  content: "";
  width: 20px;
  height: 20px;
  background-color: transparent;
  border: 2px solid var(--bs-border-color);
  top: 2px;
  left: 0;
  border-radius: 5px;
  position: absolute;
}
.todo-list .todo-box .todo-task .ckbox span:after {
  top: 1px;
  left: 0;
  width: 20px;
  height: 20px;
  content: "\f012c";
  font: normal normal normal 24px/1 "Material Design Icons";
  font-size: 14px;
  text-align: center;
  color: #6c757d;
  background-color: transparent;
  line-height: 20px;
  display: none;
  border-radius: 5px;
  position: absolute;
}
.todo-list .todo-box .todo-task .ckbox input[type=checkbox] {
  opacity: 0;
  margin: 0 5px 0 0;
}
.todo-list .todo-box .todo-task .ckbox input[type=checkbox]:checked + span:after {
  display: block;
}
.todo-list .todo-box .todo-task input:checked + span {
  text-decoration: line-through;
}
.todo-list .form-control {
  color: #0f111d;
  background: #e7eff7;
  border: 1px solid transparent;
}
.todo-list .form-control:focus {
  border-color: transparent;
  background: #e7eff7;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*== Dashboard-2 ==*/
.jvectormap-zoomout,
.jvectormap-zoomin {
  display: none;
}

#animating-donut {
  -webkit-filter: drop-shadow(0px 2px 1px #e7eff7);
          filter: drop-shadow(0px 2px 1px #e7eff7);
}

.income h1 {
  font-weight: 300;
}

.overview-content i {
  width: 44px;
  height: 44px;
  line-height: 40px;
  display: inline-block;
  text-align: center;
  border: 2px solid;
  border-radius: 50%;
  font-size: 20px;
}

@media (max-width: 1366px) {
  .overview .overview-content i {
    width: 36px;
    height: 36px;
    line-height: 34px;
    font-size: 16px;
  }
  .overview h4 {
    font-size: 18px !important;
  }
  .live-tile {
    height: 150px;
  }
  .knob-prosess-btn {
    display: none;
  }
  .income h1 {
    font-size: 30px;
  }
}
.button-items, .button-list {
  margin-left: -8px;
  margin-bottom: -12px;
}
.button-items .btn, .button-list .btn {
  margin-bottom: 12px;
  margin-left: 8px;
}

.mfp-popup-form {
  max-width: 1140px;
}

.bs-example-modal {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  z-index: 1;
  display: block;
}

.icon-demo-content {
  color: #6c757d;
}
.icon-demo-content i {
  font-size: 22px;
  margin-right: 5px;
  vertical-align: middle;
  width: 30px;
  display: inline-block;
}
.icon-demo-content .col-sm-6 {
  margin-top: 30px;
  cursor: pointer;
}
.icon-demo-content .col-sm-6:hover i {
  color: #2d7ba0;
}

.grid-structure .grid-container {
  background-color: #f8f9fa;
  margin-top: 10px;
  font-size: 0.8rem;
  font-weight: 500;
  padding: 10px 20px;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
  }
}
@media print {
  .vertical-menu,
  .right-bar,
  .page-title-box,
  .navbar-header,
  .footer,
  footer.footer-institutional,
  .footer-institutional {
    display: none !important;
  }
  .card-body,
  .main-content,
  .right-bar,
  .page-content,
  body {
    padding: 0;
    margin: 0;
  }
  .card {
    border: 0;
  }
  .page-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
[data-simplebar] {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
}

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0;
}

.simplebar-offset {
  direction: inherit !important;
  -webkit-box-sizing: inherit !important;
          box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0 !important;
  bottom: 0;
  right: 0 !important;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper {
  direction: inherit;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
  width: auto;
  visibility: visible;
  overflow: auto; /* Scroll on this element otherwise element can't have a padding applied properly */
  max-width: 100%; /* Not required for horizontal scroll to trigger */
  max-height: 100%; /* Needed for vertical scroll to trigger */
  scrollbar-width: none;
  padding: 0px !important;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  display: none;
}

.simplebar-content:before,
.simplebar-content:after {
  content: " ";
  display: table;
}

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  -webkit-box-sizing: inherit !important;
          box-sizing: inherit !important;
  height: 100%;
  width: 100%;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  -webkit-box-flex: inherit;
      -ms-flex-positive: inherit;
          flex-grow: inherit;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
}

.simplebar-height-auto-observer {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  right: 2px;
  width: 4px;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  position: absolute;
  content: "";
  background: #a2adb7;
  border-radius: 7px;
  left: 0;
  right: 0;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  /* When hovered, remove all transitions from drag handle */
  opacity: 0.5;
  -webkit-transition: opacity 0s linear;
  transition: opacity 0s linear;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  height: 100%;
  left: 2px;
  right: 2px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 2px;
  height: 7px;
  min-height: 0;
  min-width: 10px;
  width: auto;
}

/* Rtl support */
[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.hs-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
}

.custom-scroll {
  height: 100%;
}

/* ==============
  Calendar
===================*/
.fc td,
.fc th {
  border: var(--bs-border-width) solid var(--bs-border-color);
}

.fc .fc-toolbar h2 {
  font-size: 16px;
  line-height: 30px;
  text-transform: uppercase;
}
@media (max-width: 767.98px) {
  .fc .fc-toolbar .fc-left,
  .fc .fc-toolbar .fc-right,
  .fc .fc-toolbar .fc-center {
    float: none;
    display: block;
    text-align: center;
    clear: both;
    margin: 10px 0;
  }
  .fc .fc-toolbar > * > * {
    float: none;
  }
  .fc .fc-toolbar .fc-today-button {
    display: none;
  }
}
.fc .fc-toolbar .btn {
  text-transform: capitalize;
}
.fc .fc-col-header-cell {
  background-color: var(--bs-tertiary-bg);
}
.fc .fc-col-header-cell-cushion {
  display: block;
  padding: 8px 4px;
  color: var(--bs-secondary-color) !important;
}
.fc .fc-scrollgrid {
  border: 1px solid var(--bs-border-color) !important;
}
.fc .fc-daygrid-day-number {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 12px;
  font-weight: 500;
  margin: 2px;
  color: var(--bs-secondary-color);
}
.fc .fc-daygrid-day.fc-day-today {
  background-color: rgba(45, 123, 160, 0.1);
}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
  background-color: #2d7ba0;
  color: #fff;
}
.fc .fc-button-group button {
  background-color: #2d7ba0;
  border-color: var(--bs-border-color);
}
.fc .fc-button-group button:hover {
  background-color: #2d7ba0;
  border-color: var(--bs-border-color);
}
.fc .fc-button-group button:active {
  background-color: #2d7ba0 !important;
  border-color: var(--bs-border-color) !important;
}
.fc .fc-button-primary:not(:disabled).fc-button-active {
  background-color: #2d7ba0 !important;
  border-color: var(--bs-border-color) !important;
}
.fc .fc-list-event:hover td {
  background: transparent;
}
.fc .fc-list-event-dot {
  border-color: #fff;
}
.fc .fc-list-event-title a {
  color: #fff !important;
}
.fc .fc-col-header,
.fc .fc-daygrid-body,
.fc .fc-scrollgrid-sync-table {
  width: 100% !important;
}
.fc .fc-list-day th {
  background-color: var(--bs-secondary-bg) !important;
}

.fc-theme-bootstrap a:not([href]) {
  color: var(--bs-body-color);
}

.fc-event {
  color: #fff;
}

.fc th.fc-widget-header {
  background: var(--bs-border-color);
  color: #495057;
  line-height: 20px;
  padding: 10px 0;
  text-transform: uppercase;
  font-weight: 600;
}

.fc-unthemed .fc-content,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-list-heading td,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-row,
.fc-unthemed tbody,
.fc-unthemed td,
.fc-unthemed th,
.fc-unthemed thead {
  border-color: var(--bs-border-color);
}
.fc-unthemed td.fc-today {
  background: #eff1f3;
}

.fc-button {
  background: var(--bs-secondary-bg);
  border-color: #e7eff7;
  color: #495057;
  text-transform: capitalize;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 6px 12px !important;
  height: auto !important;
}

.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  background-color: #2d7ba0;
  color: #fff;
  text-shadow: none;
}

.fc-event {
  border-radius: 2px;
  border: none;
  cursor: move;
  font-size: 0.8125rem;
  margin: 5px 7px;
  padding: 5px 5px;
  text-align: center;
}

.fc-event,
.fc-event-dot {
  background-color: #2d7ba0;
}

.fc-daygrid-dot-event.fc-event-mirror,
.fc-daygrid-dot-event:hover {
  background-color: #2d7ba0;
}

.fc-daygrid-dot-event {
  color: #fff !important;
}
.fc-daygrid-dot-event .fc-event-title {
  font-weight: 600;
}

.fc-daygrid-event-dot {
  border-color: #fff !important;
  color: #fff !important;
}

.fc-event .fc-content {
  color: #fff;
}

#external-events .external-event {
  text-align: left;
  padding: 8px 16px;
  margin: 6px 0;
}

.fc-day-grid-event.fc-h-event.fc-event.fc-start.fc-end.bg-dark .fc-content {
  color: #f8f9fa;
}

[dir=rtl] .fc-header-toolbar {
  direction: ltr !important;
}
[dir=rtl] .fc-toolbar > * > :not(:first-child) {
  margin-left: 0.75em;
}

@media (max-width: 575.98px) {
  .fc-toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
}

/* ==============
  Druafula
===================*/
.task-box {
  border: 1px solid #e7eff7;
}

.gu-transit {
  border: 1px dashed #6c757d !important;
  background-color: #e9ecef !important;
}

.tippy-tooltip .light-theme[data-animatefill] {
  background-color: transparent;
}

.light-theme {
  color: #0f111d;
  -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.08), 0 1px 0 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.08), 0 1px 0 0 rgba(0, 0, 0, 0.02);
  background-color: #fff;
}
.light-theme .tippy-backdrop {
  background-color: #fff;
}
.light-theme .tippy-roundarrow {
  fill: #fff;
}

.gradient-theme .tippy-backdrop {
  background: #2d7ba0; /* fallback for old browsers */
  background: -webkit-gradient(linear, right top, left top, from(#f1556c), to(#2d7ba0));
  background: linear-gradient(to left, #f1556c, #2d7ba0); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.tippy-popper[x-placement^=top] .tippy-tooltip.light-theme .tippy-arrow {
  border-top: 7px solid #fff;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
}
.tippy-popper[x-placement^=bottom] .tippy-tooltip.light-theme .tippy-arrow {
  border-bottom: 7px solid #fff;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
}
.tippy-popper[x-placement^=left] .tippy-tooltip.light-theme .tippy-arrow {
  border-left: 7px solid #fff;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}
.tippy-popper[x-placement^=right] .tippy-tooltip.light-theme .tippy-arrow {
  border-right: 7px solid #fff;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}

#session-timeout-dialog .close {
  display: none;
}
#session-timeout-dialog .countdown-holder {
  color: #fff;
  font-weight: 500;
}
#session-timeout-dialog .btn-default {
  background-color: #fff;
  color: #f1556c;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.irs--flat .irs-bar, .irs--flat .irs-to, .irs--flat .irs-from, .irs--flat .irs-single {
  background: #2d7ba0 !important;
  font-size: 11px;
}
.irs--flat .irs-to:before, .irs--flat .irs-from:before, .irs--flat .irs-single:before {
  border-top-color: #2d7ba0;
}
.irs--flat .irs-line {
  background: var(--bs-border-color);
  border-color: var(--bs-border-color);
}
.irs--flat .irs-grid-text {
  font-size: 11px;
  color: #ced4da;
}
.irs--flat .irs-min, .irs--flat .irs-max {
  color: #adb5bd;
  background: var(--bs-border-color);
  font-size: 11px;
}
.irs--flat .irs-handle {
  width: 10px;
  height: 20px;
  top: 21px;
}
.irs--flat .irs-handle i:first-child {
  background-color: #2d7ba0 !important;
}

.swal2-container .swal2-title {
  font-size: 20px;
  font-weight: 500;
  color: var(--bs-emphasis-color);
}

.swal2-modal {
  font-size: 14px;
}

.swal2-icon.swal2-question {
  border-color: #2d7bf4;
  color: #2d7bf4;
}
.swal2-icon.swal2-success [class^=swal2-success-line] {
  background-color: #0acf97;
}
.swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(10, 207, 151, 0.3);
}
.swal2-icon.swal2-warning {
  border-color: #f9bc0b;
  color: #f9bc0b;
}

.swal2-popup {
  background-color: var(--bs-secondary-bg);
}

.swal2-styled:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.swal2-progress-steps .swal2-progress-step {
  background: #2d7ba0;
}
.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
  background: #2d7ba0;
}
.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step, .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
  background: rgba(45, 123, 160, 0.3);
}
.swal2-progress-steps .swal2-progress-step-line {
  background: #2d7ba0;
}

.swal2-loader {
  border-color: #2d7ba0 transparent #2d7ba0 transparent;
}

.dd-list .dd-item .dd-handle {
  background: var(--bs-tertiary-bg);
  border: none;
  padding: 8px 16px;
  height: auto;
  font-weight: normal;
  border-radius: 3px;
  color: var(--bs-body-color);
}
.dd-list .dd-item .dd-handle:hover {
  color: #2d7ba0;
}
.dd-list .dd-item button {
  height: 36px;
  font-size: 17px;
  margin: 0;
  color: #6c757d;
  width: 36px;
}
.dd-list .dd3-item {
  margin: 5px 0;
}
.dd-list .dd3-item .dd-item button {
  width: 36px;
  height: 36px;
}
.dd-list .dd3-handle {
  margin: 0;
  height: 36px !important;
  float: left;
}
.dd-list .dd3-content {
  height: auto;
  border: none;
  padding: 8px 16px 8px 46px;
  background: #f5f6f8;
}
.dd-list .dd3-content:hover {
  color: #2d7ba0;
}
.dd-list .dd3-handle:before {
  content: "\f35c";
  font-family: "Material Design Icons";
  color: #adb5bd;
}

.dd-empty,
.dd-placeholder {
  background: rgba(206, 212, 218, 0.2);
  border-color: #ced4da;
}

.custom-dd-empty .dd-list .dd3-handle {
  border: none;
}

.dd-dragel .dd-handle {
  -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
}
.dd-dragel .dd3-handle {
  border: none !important;
}

/* Prism editor */
:not(pre) > code[class*=language-], pre[class*=language-] {
  background: #f2f5f7;
}

code[class*=language-],
pre[class*=language-] {
  color: #6c757d;
  text-shadow: none;
}

.br-wrapper {
  display: inline-block;
}

.br-theme-bars-1to10 .br-widget .br-current-rating {
  line-height: inherit;
}

.br-theme-fontawesome-stars .br-widget a, .br-theme-fontawesome-stars-o .br-widget a {
  font-family: "Font Awesome 5 Free";
}

.br-theme-fontawesome-stars-o .br-widget a.br-selected:after, .br-theme-fontawesome-stars-o .br-widget a.br-active:after, .br-theme-fontawesome-stars-o .br-widget a.br-fractional:after {
  font-weight: 900;
}
.br-theme-fontawesome-stars-o .br-widget a.br-fractional:after, .br-theme-fontawesome-stars-o .br-widget a:after {
  content: "\f005";
}

pre[class*=language-] {
  background-color: var(--bs-body-bg);
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
  font-size: 1em;
}

.token {
  color: #905;
}

.token.comment {
  color: var(--bs-body-color);
}

.error {
  color: #f1556c;
}

.parsley-error {
  border-color: #f1556c;
}

.parsley-errors-list {
  display: none;
  margin: 0;
  padding: 0;
}
.parsley-errors-list.filled {
  display: block;
}
.parsley-errors-list > li {
  font-size: 12px;
  list-style: none;
  color: #f1556c;
  margin-top: 5px;
}

/* Select2 alinhado ao padrão .form-control / .form-select do Bootstrap
   Especificidade maior que select2.min.css (.select2-container--default) para garantir que estas regras prevaleçam */
.select2-container--default .select2-selection--single,
.select2-container .select2-selection--single {
  background-color: var(--bs-input-bg) !important;
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color) !important;
  border-radius: var(--bs-border-radius);
  min-height: calc(1.5em + 0.94rem + calc(var(--bs-border-width) * 2)) !important;
  height: auto !important;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.select2-container .select2-selection--single:focus,
.select2-container--focus .select2-selection--single {
  outline: none;
  border-color: #a2d1e9;
  box-shadow: 0 0 0 0.15rem rgba(45, 123, 160, 0.25);
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container .select2-selection--single .select2-selection__rendered {
  display: block !important;
  line-height: 1.5 !important;
  padding: 0.47rem 2.25rem 0.47rem 0.75rem !important;
  color: var(--bs-body-color) !important;
  font-size: 0.8125rem !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
  width: 2.25rem;
  right: 0;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b,
.select2-container .select2-selection--single .select2-selection__arrow b {
  border-color: var(--bs-body-color) transparent transparent transparent;
  border-width: 5px 5px 0 5px;
  margin-left: -5px;
  margin-top: -3px;
}

.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--bs-body-color) transparent !important;
  border-width: 0 5px 5px 5px !important;
}

.select2-container--default .select2-search--dropdown {
  padding: 10px;
  background-color: var(--bs-secondary-bg);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid var(--bs-border-color);
  background-color: var(--bs-input-bg);
  color: #6c757d;
  outline: none;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #2d7ba0;
  color: #fff;
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #f8f9fa;
  color: #06070c;
}
.select2-container--default .select2-results__option[aria-selected=true]:hover {
  background-color: #2d7ba0;
  color: #fff;
}

.select2-results__option {
  padding: 7px 12px;
}

.select2-dropdown {
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  background-color: var(--bs-secondary-bg);
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
}

.select2-search input {
  border: var(--bs-border-width) solid var(--bs-border-color);
}

.select2-container .select2-selection--multiple {
  min-height: calc(1.5em + 0.94rem + calc(var(--bs-border-width) * 2));
  background-color: var(--bs-input-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color) !important;
  border-radius: var(--bs-border-radius);
  font-size: 0.8125rem;
}
.select2-container--focus .select2-selection--multiple {
  border-color: #a2d1e9 !important;
  box-shadow: 0 0 0 0.15rem rgba(45, 123, 160, 0.25);
}
.select2-container .select2-selection--multiple .select2-selection__rendered {
  padding: 0;
}
.select2-container .select2-selection--multiple .select2-search__field {
  border: 0;
  color: var(--bs-body-color);
  margin-top: 7px;
  margin-left: 12px;
}
.select2-container .select2-selection--multiple .select2-search__field::-webkit-input-placeholder {
  color: var(--bs-body-color);
}
.select2-container .select2-selection--multiple .select2-search__field::-moz-placeholder {
  color: var(--bs-body-color);
}
.select2-container .select2-selection--multiple .select2-search__field:-ms-input-placeholder {
  color: var(--bs-body-color);
}
.select2-container .select2-selection--multiple .select2-search__field::-ms-input-placeholder {
  color: var(--bs-body-color);
}
.select2-container .select2-selection--multiple .select2-search__field::placeholder {
  color: var(--bs-body-color);
}
.select2-container .select2-selection--multiple .select2-selection__choice {
  background-color: #e9ecef;
  border: 1px solid #e7eff7;
  border-radius: 1px;
}

.disabled-select {
  background-color: #d5d5d5;
  opacity: 0.5;
  border-radius: 3px;
  cursor: not-allowed;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

select[readonly].select2-hidden-accessible + .select2-container {
  pointer-events: none;
  touch-action: none;
}

select[readonly].select2-hidden-accessible + .select2-container .select2-selection {
  background: #fafafa;
  box-shadow: none;
}

select[readonly].select2-hidden-accessible + .select2-container .select2-selection__arrow,
select[readonly].select2-hidden-accessible + .select2-container .select2-selection__clear {
  display: none;
}


/* CSS Switch */
input[switch] {
  display: none;
}
input[switch] + label {
  font-size: 1em;
  line-height: 1;
  width: 56px;
  height: 24px;
  background-color: #ced4da;
  background-image: none;
  border-radius: 2rem;
  padding: 0.16667rem;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  position: relative;
  font-weight: 500;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
input[switch] + label:before {
  color: #0f111d;
  content: attr(data-off-label);
  display: block;
  font-family: inherit;
  font-weight: 500;
  font-size: 12px;
  line-height: 21px;
  position: absolute;
  right: 1px;
  margin: 3px;
  top: -2px;
  text-align: center;
  min-width: 1.66667rem;
  overflow: hidden;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
input[switch] + label:after {
  content: "";
  position: absolute;
  left: 3px;
  background-color: #e9ecef;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 2rem;
  height: 20px;
  width: 20px;
  top: 2px;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
input[switch]:checked + label {
  background-color: #2d7ba0;
}

input[switch]:checked + label {
  background-color: #2d7ba0;
}
input[switch]:checked + label:before {
  color: #fff;
  content: attr(data-on-label);
  right: auto;
  left: 3px;
}
input[switch]:checked + label:after {
  left: 33px;
  background-color: var(--bs-secondary-bg);
}

input[switch=bool] + label {
  background-color: #f1556c;
}

input[switch=bool] + label:before, input[switch=bool]:checked + label:before,
input[switch=default]:checked + label:before {
  color: #fff;
}

input[switch=bool]:checked + label {
  background-color: #0acf97;
}

input[switch=default]:checked + label {
  background-color: #a2a2a2;
}

input[switch=primary]:checked + label {
  background-color: #2d7ba0;
}

input[switch=success]:checked + label {
  background-color: #0acf97;
}

input[switch=info]:checked + label {
  background-color: #2d7bf4;
}

input[switch=warning]:checked + label {
  background-color: #f9bc0b;
}

input[switch=danger]:checked + label {
  background-color: #f1556c;
}

input[switch=dark]:checked + label {
  background-color: #0f111d;
}

.square-switch {
  margin-right: 7px;
}
.square-switch input[switch] + label, .square-switch input[switch] + label:after {
  border-radius: 0px;
}

[dir=rtl] .datepicker {
  right: 0 !important;
  left: auto;
}

.datepicker.form-control {
    height: 36.6px;
}

[dir=rtl] .bootstrap-timepicker-widget {
  right: 0 !important;
  left: auto;
}
[dir=rtl] .timepicker-orient-top {
  top: calc(1.5em + 0.94rem + calc(var(--bs-border-width) * 2)) !important;
}
[dir=rtl] .timepicker-orient-bottom {
  top: auto !important;
  bottom: calc(1.5em + 0.94rem + calc(var(--bs-border-width) * 2)) !important;
}

.datepicker, .datetimepicker {
  border: 1px solid #e7eff7;
  padding: 8px !important;
  z-index: 999 !important;
}
.datepicker table tr th, .datetimepicker table tr th {
  font-weight: 500;
}
.datepicker table tr td.active, .datepicker table tr td.active:hover,
.datepicker table tr td .active.disabled, .datepicker table tr td.active.disabled:hover, .datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:hover, .datepicker table tr td.selected, .datepicker table tr td.selected:hover, .datepicker table tr td.selected.disabled, .datepicker table tr td.selected.disabled:hover,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datetimepicker table tr td.active, .datetimepicker table tr td.active:hover,
.datetimepicker table tr td .active.disabled, .datetimepicker table tr td.active.disabled:hover, .datetimepicker table tr td.today, .datetimepicker table tr td.today:hover, .datetimepicker table tr td.today.disabled, .datetimepicker table tr td.today.disabled:hover, .datetimepicker table tr td.selected, .datetimepicker table tr td.selected:hover, .datetimepicker table tr td.selected.disabled, .datetimepicker table tr td.selected.disabled:hover,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active {
  background-color: #2d7ba0 !important;
  background-image: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff !important;
}
.datepicker table tr td.day.focused, .datepicker table tr td.day:hover,
.datepicker table tr td span.focused,
.datepicker table tr td span:hover,
.datetimepicker table tr td.day.focused, .datetimepicker table tr td.day:hover,
.datetimepicker table tr td span.focused,
.datetimepicker table tr td span:hover {
  background: #f8f9fa;
}
.datepicker table tr td.new, .datepicker table tr td.old,
.datepicker table tr td span.new,
.datepicker table tr td span.old,
.datetimepicker table tr td.new, .datetimepicker table tr td.old,
.datetimepicker table tr td span.new,
.datetimepicker table tr td span.old {
  color: #adb5bd;
  opacity: 0.6;
}
.datepicker table tr td.range, .datepicker table tr td.range.disabled, .datepicker table tr td.range.disabled:hover, .datepicker table tr td.range:hover, .datetimepicker table tr td.range, .datetimepicker table tr td.range.disabled, .datetimepicker table tr td.range.disabled:hover, .datetimepicker table tr td.range:hover {
  background-color: #e7eff7;
}

.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > td {
  padding: 7px;
}

.bootstrap-datepicker-inline .datepicker-inline, .bootstrap-datetimepicker-inline .datetimepicker-inline {
  width: auto !important;
  display: inline-block;
}

.datepicker-container, .datetimepicker-container {
  border: 1px solid #e7eff7;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: var(--bs-secondary-bg);
}
.datepicker-container.datepicker-inline, .datetimepicker-container.datetimepicker-inline  {
  width: 212px;
}

.datepicker-panel > ul > li, .datetimepicker-panel > ul > li {
  background-color: var(--bs-secondary-bg);
  border-radius: 4px;
}
.datepicker-panel > ul > li.picked, .datepicker-panel > ul > li.picked:hover, .datetimepicker-panel > ul > li.picked, .datetimepicker-panel > ul > li.picked:hover {
  background-color: rgba(45, 123, 160, 0.25);
  color: #2d7ba0;
}
.datepicker-panel > ul > li.highlighted, .datepicker-panel > ul > li.highlighted:hover, .datepicker-panel > ul > li:hover, .datetimepicker-panel > ul > li.highlighted, .datetimepicker-panel > ul > li.highlighted:hover, .datetimepicker-panel > ul > li:hover {
  background-color: #2d7ba0;
  color: #fff;
}
.datepicker-panel > ul > li.muted, .datepicker-panel > ul > li.muted:hover, .datetimepicker-panel > ul > li.muted, .datetimepicker-panel > ul > li.muted:hover {
  color: #adb5bd;
  opacity: 0.6;
}
.datepicker-panel > ul[data-view=week] > li, .datetimepicker-panel > ul[data-view=week] > li {
  font-weight: 500;
}
.datepicker-panel > ul[data-view=week] > li,
.datepicker-panel > ul[data-view=week] > li:hover,
.datetimepicker-panel > ul[data-view=week] > li,
.datetimepicker-panel > ul[data-view=week] > li:hover {
  background-color: var(--bs-secondary-bg);
}

.tox-tinymce {
  border: 1px solid var(--bs-border-color) !important;
}

.tox .tox-statusbar {
  border-top: 1px solid var(--bs-border-color) !important;
}
.tox .tox-menubar, .tox .tox-edit-area__iframe, .tox .tox-statusbar {
  background-color: var(--bs-secondary-bg) !important;
  background: none !important;
}
.tox .tox-mbtn {
  color: #495057 !important;
}
.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) {
  background-color: var(--bs-border-color) !important;
}
.tox .tox-tbtn:hover {
  background-color: var(--bs-border-color) !important;
}
.tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary {
  background: var(--bs-secondary-bg) !important;
}
.tox .tox-tbtn {
  color: var(--bs-emphasis-color) !important;
}
.tox .tox-tbtn svg {
  fill: var(--bs-emphasis-color) !important;
}
.tox .tox-edit-area__iframe {
  background-color: var(--bs-secondary-bg) !important;
}
.tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount {
  color: var(--bs-emphasis-color) !important;
}
.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) {
  border-right: 1px solid var(--bs-border-color) !important;
}
.tox .tox-toolbar-overlord .tox-toolbar__primary {
  border-color: var(--bs-border-color) !important;
  border-bottom: 1px solid var(--bs-border-color);
}

.tox-mbtn__select-label {
  color: var(--bs-emphasis-color) !important;
}

/* Dropzone */
.dropzone {
  min-height: 230px;
  border: 2px dashed #ced4da;
  background: var(--bs-secondary-bg);
  border-radius: 6px;
}
.dropzone .dz-message {
  font-size: 24px;
}

.dropify-wrapper {
  border: 2px solid var(--bs-border-color);
  background: var(--bs-secondary-bg);
  border-radius: 6px;
  color: #495057;
}
.dropify-wrapper:hover {
  background-image: linear-gradient(-45deg, rgba(231, 239, 247, 0.4) 25%, transparent 25%, transparent 50%, rgba(231, 239, 247, 0.4) 50%, rgba(231, 239, 247, 0.4) 75%, transparent 75%, transparent);
}
.dropify-wrapper .dropify-preview {
  background-color: var(--bs-border-color);
}

.form-wizard-wrapper label {
  font-size: 14px;
  text-align: right;
}

.wizard ul {
  list-style: none !important;
  padding: 0;
  margin: 0;
}
.wizard > .steps > ul > li {
  width: 25%;
}
.wizard > .steps .current-info {
  position: absolute;
  left: -999em;
}
.wizard > .steps a, .wizard > .steps a:active, .wizard > .steps a:hover {
  margin: 3px;
  padding: 15px;
  display: block;
  width: auto;
  border-radius: 5px;
}
.wizard > .steps .current a, .wizard > .steps .current a:active, .wizard > .steps .current a:hover {
  background-color: #2d7ba0 !important;
  color: #fff !important;
}
.wizard > .steps .current a .number, .wizard > .steps .current a:active .number, .wizard > .steps .current a:hover .number {
  border: 2px solid #fff !important;
}
.wizard > .steps .disabled a, .wizard > .steps .disabled a:active, .wizard > .steps .disabled a:hover, .wizard > .steps .done a, .wizard > .steps .done a:active, .wizard > .steps .done a:hover {
  background-color: #bfdff0;
  color: #2d7ba0;
}
.wizard > .steps .disabled a .number, .wizard > .steps .disabled a:active .number, .wizard > .steps .disabled a:hover .number, .wizard > .steps .done a .number, .wizard > .steps .done a:active .number, .wizard > .steps .done a:hover .number {
  border-color: #2d7ba0;
}
.wizard > .steps .number {
  font-size: 16px;
  padding: 5px;
  border-radius: 50%;
  border: 2px solid #fff;
  width: 38px;
  display: inline-block;
  font-weight: 500;
  text-align: center;
  margin-right: 10px;
  background-color: rgba(45, 123, 160, 0.25);
}
.wizard .wizard > .actions,
.wizard .wizard.vertical > .actions {
  margin-top: 20px;
}
.wizard > .content {
  background-color: transparent;
  margin: 0 5px;
  border-radius: 0;
  min-height: 150px;
}
.wizard > .content > .title {
  position: absolute;
  left: -999em;
}
.wizard > .content > .body {
  width: 100%;
  height: 100%;
  padding: 30px 0 0;
  position: static;
}
.wizard > .actions {
  position: relative;
  display: block;
  text-align: right;
  width: 100%;
}
.wizard > .actions > ul {
  display: inline-block;
  text-align: right;
}
.wizard > .actions > ul > li {
  display: block;
  margin: 0 0.5em;
}
.wizard > .actions a, .wizard > .actions a:active, .wizard > .actions a:hover {
  background-color: #2d7ba0;
  border-radius: 4px;
  padding: 8px 15px;
  color: #fff;
}
.wizard > .actions .disabled a, .wizard > .actions .disabled a:active, .wizard > .actions .disabled a:hover {
  opacity: 0.65;
  background-color: #2d7ba0;
  color: #fff;
  cursor: not-allowed;
}
.wizard > .steps > ul > li, .wizard > .actions > ul > li {
  float: left;
}

.vertical-wizard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.vertical-wizard .steps > ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.vertical-wizard .steps > ul > li {
  width: 100% !important;
}
.vertical-wizard .steps, .vertical-wizard .content, .vertical-wizard .actions {
  width: 100%;
}
@media (min-width: 1200px) {
  .vertical-wizard .steps {
    width: 25%;
  }
}
.vertical-wizard .content {
  padding: 24px;
}
@media (min-width: 1200px) {
  .vertical-wizard .content {
    width: 70%;
    margin: 0 auto;
    padding: 12px 24px;
  }
}
.vertical-wizard .content > .body {
  padding: 0;
}

@media (max-width: 768px) {
  .wizard > .steps > ul > li {
    width: 50%;
  }
  .form-wizard-wrapper label {
    text-align: left;
  }
}
@media (max-width: 520px) {
  .wizard > .steps > ul > li {
    width: 100%;
  }
}
#form-horizontal-t-1 {
  background-color: #bfdff0;
  color: #2d7ba0;
}

#form-horizontal-t-2 {
  background-color: #bfdff0;
  color: #2d7ba0;
}

#form-horizontal-t-3 {
  background-color: #bfdff0;
  color: #2d7ba0;
}

#form-vertical-t-1 {
  background-color: #bfdff0;
  color: #2d7ba0;
}

#form-vertical-t-2 {
  background-color: #bfdff0;
  color: #2d7ba0;
}

.editable-input .form-control {
  display: inline-block;
}

.editable-buttons {
  margin-left: 7px;
}
.editable-buttons .editable-cancel {
  margin-left: 7px;
}

.table-rep-plugin .btn-toolbar {
  display: block;
}
.table-rep-plugin .table-responsive {
  border: none !important;
}
.table-rep-plugin .btn-group .btn-default {
  background-color: #6c757d;
  color: #f8f9fa;
  border: 1px solid #6c757d;
}
.table-rep-plugin .btn-group .btn-default.btn-primary {
  background-color: #2d7ba0;
  border-color: #2d7ba0;
  color: #fff;
  -webkit-box-shadow: 0 0 0 2px rgba(45, 123, 160, 0.5);
          box-shadow: 0 0 0 2px rgba(45, 123, 160, 0.5);
}

/* Estilos para botões ao lado dos breadcrumbs */
.btn-defaul {
  background-color: #f8f9fa;
  color: #495057;
  border: 1px solid #dee2e6;
  transition: all 0.2s ease;
}

.btn-defaul:hover,
.btn-defaul:focus {
  background-color: #2d7ba0 !important;
  color: #ffffff !important;
  border-color: #2d7ba0 !important;
  text-decoration: none;
}

.btn-defaul:active,
.btn-defaul.active {
  background-color: #256a8f !important;
  color: #ffffff !important;
  border-color: #256a8f !important;
}
.table-rep-plugin .btn-group.pull-right {
  float: right;
}
.table-rep-plugin .btn-group.pull-right .dropdown-menu {
  right: 0;
  -webkit-transform: none !important;
          transform: none !important;
  top: 100% !important;
}
.table-rep-plugin tbody th {
  font-size: 14px;
  font-weight: normal;
}
.table-rep-plugin .checkbox-row {
  padding-left: 40px;
}
.table-rep-plugin .checkbox-row label {
  display: inline-block;
  padding-left: 5px;
  position: relative;
}
.table-rep-plugin .checkbox-row label::before {
  -o-transition: 0.3s ease-in-out;
  -webkit-transition: 0.3s ease-in-out;
  background-color: #fff;
  border-radius: 3px;
  border: 1px solid #e7eff7;
  content: "";
  display: inline-block;
  height: 17px;
  left: 0;
  margin-left: -20px;
  position: absolute;
  transition: 0.3s ease-in-out;
  width: 17px;
  outline: none !important;
}
.table-rep-plugin .checkbox-row label::after {
  color: #e9ecef;
  display: inline-block;
  font-size: 11px;
  height: 16px;
  left: 0;
  margin-left: -20px;
  padding-left: 3px;
  padding-top: 1px;
  position: absolute;
  top: -1px;
  width: 16px;
}
.table-rep-plugin .checkbox-row input[type=checkbox] {
  cursor: pointer;
  opacity: 0;
  z-index: 1;
  outline: none !important;
}
.table-rep-plugin .checkbox-row input[type=checkbox]:disabled + label {
  opacity: 0.65;
}
.table-rep-plugin .checkbox-row input[type=checkbox]:focus + label::before {
  outline-offset: -2px;
  outline: none;
}
.table-rep-plugin .checkbox-row input[type=checkbox]:checked + label::after {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.table-rep-plugin .checkbox-row input[type=checkbox]:disabled + label::before {
  background-color: #f8f9fa;
  cursor: not-allowed;
}
.table-rep-plugin .checkbox-row input[type=checkbox]:checked + label::before {
  background-color: #2d7ba0;
  border-color: #2d7ba0;
}
.table-rep-plugin .checkbox-row input[type=checkbox]:checked + label::after {
  color: #fff;
}
.table-rep-plugin .fixed-solution .sticky-table-header {
  top: 70px !important;
  background-color: #2d7ba0;
}
.table-rep-plugin .fixed-solution .sticky-table-header table {
  color: #fff;
}

@media (min-width: 992px) {
  body[data-layout=horizontal] .fixed-solution .sticky-table-header {
    top: 120px !important;
  }
}

.table-edits input, .table-edits select {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--bs-border-color);
  color: var(--bs-body-color);
  border-radius: var(--bs-border-radius);
  background-color: var(--bs-input-bg);
}
.table-edits input:focus, .table-edits select:focus {
  outline: none;
  border-color: #a2d1e9;
}

.jstree-open > .jstree-anchor > .fa-folder:before {
  margin-left: 2px;
  content: "\f07c";
}

.fa-folder:before {
  content: "\f07b";
}

.jstree-anchor > .jstree-themeicon {
  margin-right: 6px;
}

.jstree-default .jstree-anchor {
  line-height: 24px;
  height: 32px;
}

.shepherd-text {
  font-size: 14px;
}

.shepherd-button {
  margin-right: 0.5rem;
}

.shepherd-button.btn-primary:not(:disabled):hover {
  background-color: #2d7ba0;
}

.shepherd-button.btn-secondary:not(:disabled):hover {
  background-color: #666f76;
}

.shepherd-button.btn-success:not(:disabled):hover {
  background-color: #09c38e;
}

.shepherd-button.btn-info:not(:disabled):hover {
  background-color: #2173f3;
}

.shepherd-button.btn-warning:not(:disabled):hover {
  background-color: #f1b506;
}

.shepherd-button.btn-danger:not(:disabled):hover {
  background-color: #f04962;
}

.shepherd-button.btn-purple:not(:disabled):hover {
  background-color: #6d74da;
}

.shepherd-button.btn-pink:not(:disabled):hover {
  background-color: #ff5a93;
}

.shepherd-button.btn-light:not(:disabled):hover {
  background-color: #f1f3f5;
}

.shepherd-button.btn-dark:not(:disabled):hover {
  background-color: #0b0c15;
}

.morris-charts text {
  fill: var(--bs-secondary-color);
  font-family: var(--bs-font-sans-serif) !important;
}

.morris-hover {
  position: absolute;
  z-index: 10;
}
.morris-hover.morris-default-style {
  font-size: 12px;
  text-align: center;
  border-radius: 5px;
  padding: 10px 12px;
  background: rgba(248, 249, 250, 0.8);
  color: #0f111d;
  border: 2px solid #e9ecef;
  font-family: var(--bs-font-sans-serif);
}
.morris-hover.morris-default-style .morris-hover-row-label {
  font-weight: bold;
  margin: 0.25em 0;
}
.morris-hover.morris-default-style .morris-hover-point {
  white-space: nowrap;
  margin: 0.1em 0;
  color: #fff;
}

.workloed-chart {
  height: 273px !important;
}

.project-budget-detail-chart {
  height: 265px !important;
}

.project-budget-chart {
  height: 322px !important;
}

.ct-golden-section:before {
  float: none;
}

.ct-chart {
  max-height: 300px;
}
.ct-chart .ct-label {
  fill: #adb5bd;
  color: #adb5bd;
  font-size: 12px;
  line-height: 1;
}

.ct-chart.simple-pie-chart-chartist .ct-label {
  color: #fff;
  fill: #fff;
  font-size: 16px;
}

.ct-grid {
  stroke: rgba(15, 17, 29, 0.09);
  stroke-width: 1px;
  stroke-dasharray: 3px;
}

.ct-chart .ct-series.ct-series-a .ct-bar,
.ct-chart .ct-series.ct-series-a .ct-line,
.ct-chart .ct-series.ct-series-a .ct-point,
.ct-chart .ct-series.ct-series-a .ct-slice-donut {
  stroke: #2d7ba0;
}
.ct-chart .ct-series.ct-series-b .ct-bar,
.ct-chart .ct-series.ct-series-b .ct-line,
.ct-chart .ct-series.ct-series-b .ct-point,
.ct-chart .ct-series.ct-series-b .ct-slice-donut {
  stroke: #ced4da;
}
.ct-chart .ct-series.ct-series-c .ct-bar,
.ct-chart .ct-series.ct-series-c .ct-line,
.ct-chart .ct-series.ct-series-c .ct-point,
.ct-chart .ct-series.ct-series-c .ct-slice-donut {
  stroke: #f9b3bd;
}
.ct-chart .ct-series.ct-series-d .ct-bar,
.ct-chart .ct-series.ct-series-d .ct-line,
.ct-chart .ct-series.ct-series-d .ct-point,
.ct-chart .ct-series.ct-series-d .ct-slice-donut {
  stroke: #2d7bf4;
}
.ct-chart .ct-series.ct-series-e .ct-bar,
.ct-chart .ct-series.ct-series-e .ct-line,
.ct-chart .ct-series.ct-series-e .ct-point,
.ct-chart .ct-series.ct-series-e .ct-slice-donut {
  stroke: #f1556c;
}
.ct-chart .ct-series.ct-series-f .ct-bar,
.ct-chart .ct-series.ct-series-f .ct-line,
.ct-chart .ct-series.ct-series-f .ct-point,
.ct-chart .ct-series.ct-series-f .ct-slice-donut {
  stroke: #ff679b;
}
.ct-chart .ct-series.ct-series-g .ct-bar,
.ct-chart .ct-series.ct-series-g .ct-line,
.ct-chart .ct-series.ct-series-g .ct-point,
.ct-chart .ct-series.ct-series-g .ct-slice-donut {
  stroke: #777edd;
}

.ct-series-a .ct-area,
.ct-series-a .ct-slice-pie {
  fill: #0acf97;
}

.ct-series-b .ct-area,
.ct-series-b .ct-slice-pie {
  fill: #f1556c;
}

.ct-series-c .ct-area,
.ct-series-c .ct-slice-pie {
  fill: #e7eff7;
}

.ct-area {
  fill-opacity: 0.15;
}

.chartist-tooltip {
  position: absolute;
  display: inline-block;
  opacity: 0;
  min-width: 10px;
  padding: 2px 10px;
  border-radius: 3px;
  background: #0f111d;
  color: #e7eff7;
  text-align: center;
  pointer-events: none;
  z-index: 1;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.chartist-tooltip.tooltip-show {
  opacity: 1;
}

.ct-line {
  stroke-width: 3px;
}

.ct-point {
  stroke-width: 7px;
}

/* Flot chart */
.flot-charts-height {
  height: 300px;
}

.flotTip {
  padding: 8px 12px;
  background-color: rgba(15, 17, 29, 0.9);
  z-index: 100;
  color: #f8f9fa;
  -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02);
  border-radius: 4px;
}

.legendLabel {
  color: #adb5bd;
}

.jqstooltip {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: auto !important;
  height: auto !important;
  background-color: #181b2e !important;
  -webkit-box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.08), 0 1px 0 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.08), 0 1px 0 0 rgba(0, 0, 0, 0.02);
  padding: 5px 10px !important;
  border-radius: 3px;
  border-color: #0f111d !important;
}

.jqsfield {
  color: #e9ecef !important;
  font-size: 12px !important;
  line-height: 18px !important;
  font-family: var(--bs-font-sans-serif) !important;
  font-weight: 500 !important;
}

.gmaps, .gmaps-panaroma {
  height: 300px !important;
  background: #f8f9fa;
  border-radius: 3px;
}

.gmaps-overlay {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 16px;
  line-height: 40px;
  background: #2d7ba0;
  border-radius: 4px;
  padding: 10px 20px;
}

.gmaps-overlay_arrow {
  left: 50%;
  margin-left: -16px;
  width: 0;
  height: 0;
  position: absolute;
}
.gmaps-overlay_arrow.above {
  bottom: -15px;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 16px solid #2d7ba0;
}
.gmaps-overlay_arrow.below {
  top: -15px;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-bottom: 16px solid #2d7ba0;
}

.jvectormap-label {
  border: none;
  background: #181b2e;
  color: #f8f9fa;
  font-family: var(--bs-font-sans-serif);
  font-size: 0.8125rem;
  padding: 5px 8px;
}

.bootstrap-touchspin.input-group > .input-group-prepend > .btn, .bootstrap-touchspin.input-group > .input-group-prepend > .input-group-text {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.bootstrap-touchspin.input-group > .input-group-append > .btn, .bootstrap-touchspin.input-group > .input-group-append > .input-group-text {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group {
    z-index: 99;
}

/* 
Datatable
*/

table.dataTable > tbody > tr > .dt-select {
  vertical-align: top !important;
}

table.table.dataTable>tbody>tr.selected a {
    color: #fff !important;
}

table.table.dataTable > tbody > tr.selected > * {
  box-shadow: inset 0 0 0 9999px rgb(68, 162, 210) !important;
}

table.table.dataTable.table-hover>tbody>tr.selected:hover>* {
  box-shadow:inset 0 0 0 9999px rgba(66, 148, 189, 0.975) !important;
}

div.dataTables_wrapper div.dataTables_filter {
  text-align: right;
}
@media (max-width: 767px) {
  div.dataTables_wrapper div.dataTables_filter {
    text-align: center;
  }
}
div.dataTables_wrapper div.dataTables_filter input {
  margin-left: 0.5em;
  margin-right: 0;
}

div.dataTables_wrapper div.dataTables_length label {
  margin-bottom: 0.5rem;
}

.table.dataTable.dtr-inline.collapsed > tbody > tr > td, table.dataTable.dtr-inline.collapsed > tbody > tr > td {
  position: relative;
}
.table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control, table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control {
  padding-left: 30px;
}
.table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before, table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before {
  top: 50%;
  left: 5px;
  height: 14px;
  width: 14px;
  margin-top: -9px;
  display: block;
  position: absolute;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 14px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  text-align: center;
  text-indent: 0 !important;
  line-height: 14px;
  content: "+";
  background-color: #2d7ba0;
}

.sp-container {
  background-color: var(--bs-secondary-bg);
}
.sp-container button {
  padding: 0.25rem 0.5rem;
  font-size: 0.71094rem;
  border-radius: 0.2rem;
  font-weight: 400;
  color: #0f111d;
}
.sp-container button.sp-palette-toggle {
  background-color: #f8f9fa;
}
.sp-container button.sp-choose {
  background-color: #0acf97;
  margin-left: 5px;
  margin-right: 0;
}

.sp-palette-container {
  border-right: 1px solid #e7eff7;
}

.sp-input {
  background-color: var(--bs-input-bg);
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color);
}
.sp-input:focus {
  outline: none;
}

[dir=rtl] .sp-alpha {
  direction: ltr;
}
[dir=rtl] .sp-original-input-container .sp-add-on {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-top-left-radius: 4px !important;
  border-bottom-left-radius: 4px !important;
}
[dir=rtl] input.spectrum.with-add-on {
  border: 1px solid var(--bs-border-color);
  border-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: var(--bs-border-radius);
  border-bottom-right-radius: var(--bs-border-radius);
}

.home-btn {
  position: absolute;
  top: 15px;
  right: 25px;
}

.auth-body-bg {
  background-color: var(--bs-secondary-bg);
}

.accountbg {
  background: url("../images/bg-1.jpg");
  background-size: cover;
  background-position: center center;
  height: 100%;
  width: 100%;
  top: 0;
  -webkit-box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.7);
          box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.7);
}
.accountbg .account-title {
  width: 470px;
  position: relative;
  display: block;
  margin: 0 auto;
}
.accountbg .account-title h1 {
  font-size: 40px;
}

.error-content h1 {
  font-size: 98px;
  font-weight: 700;
  line-height: 150px;
  text-shadow: rgb(255, 255, 255) 1px 1px, rgb(68, 162, 210) 2px 2px, rgb(68, 162, 210) 3px 3px;
}

/* ==============
  Email
===================*/
.email-leftbar {
  width: 210px;
  float: left;
  padding: 20px;
  border-radius: 5px;
}

.email-rightbar {
  margin-left: 260px;
}

.chat-user-box p.user-title {
  color: var(--bs-emphasis-color);
  font-weight: 500;
}
.chat-user-box p {
  font-size: 13px;
}

@media (max-width: 767px) {
  .email-leftbar {
    float: none;
    width: 100%;
  }
  .email-rightbar {
    margin: 0;
  }
}
.mail-list a {
  display: block;
  color: var(--bs-secondary-color);
  line-height: 24px;
  padding: 8px 5px;
  font-size: 14px;
  border-radius:5px;
}
.mail-list a.active {
  color: #f1556c;
  font-weight: 500;
  background: var(--bs-tertiary-bg);
}

.mail-list a:hover {
  background: var(--bs-tertiary-bg);
  color: #333;
}

.message-list {
  display: block;
  padding-left: 0;
}
.message-list li {
  position: relative;
  display: block;
  height: 50px;
  line-height: 50px;
  cursor: default;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.message-list li a {
  color: var(--bs-secondary-color);
}
.message-list li:hover {
  background: var(--bs-apex-grid-color);
  -webkit-transition-duration: 0.05s;
          transition-duration: 0.05s;
}
.message-list li .col-mail {
  float: left;
  position: relative;
}
.message-list li .col-mail-1 {
  width: 320px;
}
.message-list li .col-mail-1 .star-toggle,
.message-list li .col-mail-1 .checkbox-wrapper-mail,
.message-list li .col-mail-1 .dot {
  display: block;
  float: left;
}
.message-list li .col-mail-1 .dot {
  border: 4px solid transparent;
  border-radius: 100px;
  margin: 22px 26px 0;
  height: 0;
  width: 0;
  line-height: 0;
  font-size: 0;
}
.message-list li .col-mail-1 .checkbox-wrapper-mail {
  margin: 15px 10px 0 20px;
}
.message-list li .col-mail-1 .star-toggle {
  margin-top: 18px;
  margin-left: 5px;
}
.message-list li .col-mail-1 .title {
  position: absolute;
  top: 0;
  left: 110px;
  right: 0;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  margin-bottom: 0;
}
.message-list li .col-mail-2 {
  position: absolute;
  top: 0;
  left: 320px;
  right: 0;
  bottom: 0;
}
.message-list li .col-mail-2 .subject,
.message-list li .col-mail-2 .date {
  position: absolute;
  top: 0;
}
.message-list li .col-mail-2 .subject {
  left: 0;
  right: 200px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.message-list li .col-mail-2 .date {
  right: 0;
  width: 170px;
  padding-left: 80px;
}
.message-list li.active, .message-list li.active:hover {
  -webkit-box-shadow: inset 3px 0 0 #2d7ba0;
          box-shadow: inset 3px 0 0 #2d7ba0;
}
.message-list li.unread {
  background-color: var(--bs-apex-grid-color);
  font-weight: 500;
  color: var(--bs-body-color);
}
.message-list li.unread a {
  color: var(--bs-body-color);
  font-weight: 500;
}
.message-list .checkbox-wrapper-mail {
  cursor: pointer;
  height: 20px;
  width: 20px;
  position: relative;
  display: inline-block;
  -webkit-box-shadow: inset 0 0 0 1px #ced4da;
          box-shadow: inset 0 0 0 1px #ced4da;
  border-radius: 1px;
}
.message-list .checkbox-wrapper-mail input {
  opacity: 0;
  cursor: pointer;
}
.message-list .checkbox-wrapper-mail input:checked ~ label {
  opacity: 1;
}
.message-list .checkbox-wrapper-mail label {
  position: absolute;
  height: 20px;
  width: 20px;
  left: 0;
  cursor: pointer;
  opacity: 0;
  margin-bottom: 0;
  -webkit-transition-duration: 0.05s;
          transition-duration: 0.05s;
  top: 0;
}
.message-list .checkbox-wrapper-mail label:before {
  content: "\f012c";
  font-family: "Material Design Icons";
  top: 0;
  height: 20px;
  color: var(--bs-body-color);
  width: 20px;
  position: absolute;
  margin-top: -16px;
  left: 4px;
  font-size: 13px;
}

@media (max-width: 575.98px) {
  .message-list li .col-mail-1 {
    width: 200px;
  }
}
.cd-container {
  width: 90%;
  max-width: 1170px;
  margin: 0 auto;
}
.cd-container:after {
  content: "";
  display: table;
  clear: both;
}

#cd-timeline {
  margin-bottom: 2em;
  margin-top: 2em;
  padding: 2em 0;
  position: relative;
}
#cd-timeline::before {
  border-left: 3px solid var(--bs-border-color);
  content: "";
  height: 100%;
  left: 18px;
  position: absolute;
  top: 0;
  width: 3px;
}

@media only screen and (min-width: 1170px) {
  #cd-timeline {
    margin-bottom: 3em;
    margin-top: 3em;
  }
  #cd-timeline::before {
    left: 50%;
    margin-left: -2px;
  }
}
.cd-timeline-block {
  margin: 2em 0;
  position: relative;
}
.cd-timeline-block:after {
  clear: both;
  content: "";
  display: table;
}
.cd-timeline-block:first-child {
  margin-top: 0;
}
.cd-timeline-block:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 1170px) {
  .cd-timeline-block {
    margin: 4em 0;
  }
  .cd-timeline-block:first-child {
    margin-top: 0;
  }
  .cd-timeline-block:last-child {
    margin-bottom: 0;
  }
}
.cd-timeline-img {
  position: absolute;
  top: 11px;
  left: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-align: center;
  line-height: 27px;
  font-size: 20px;
  color: #fff;
  background-color: #2d7ba0;
  border: 5px solid var(--bs-secondary-bg);
}
.cd-timeline-img i {
  margin-left: 1px;
}

@media only screen and (min-width: 1170px) {
  .cd-timeline-img {
    width: 50px;
    height: 50px;
    line-height: 40px;
    left: 50%;
    top: 0;
    margin-left: -24px;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
}
.cd-timeline-content {
  border-radius: 5px;
  border: 2px solid var(--bs-border-color);
  margin-left: 60px;
  padding: 1em;
  position: relative;
  background-color: var(--bs-tertiary-bg);
}
.cd-timeline-content:after {
  clear: both;
  content: "";
  display: table;
}
.cd-timeline-content p {
  color: var(--bs-secondary-color);
}
.cd-timeline-content h2 {
  margin-top: 0;
}
.cd-timeline-content .cd-read-more {
  background: #2d7ba0;
  border-radius: 0.25em;
  color: #fff;
  float: right;
  font-size: 14px;
  padding: 0.8em 1em;
}
.cd-timeline-content .cd-date {
  display: inline-block;
  font-size: 14px;
}
.cd-timeline-content .left-number {
  font-size: 36px;
  font-weight: 300;
  color: #6c757d;
}
.cd-timeline-content h3 {
  font-size: 16px;
  margin: 0 0 10px 0;
  border-radius: 5px;
}

.cd-timeline-content .cd-date {
  float: left;
  padding: 0.8em 0;
  opacity: 0.7;
}
.cd-timeline-content:before {
  content: "";
  position: absolute;
  top: 16px;
  right: 100%;
  height: 0;
  width: 0;
  border: 12px solid transparent;
  border-right: 12px solid var(--bs-border-color);
}

@media only screen and (min-width: 1170px) {
  .cd-timeline-content {
    margin-left: 0;
    padding: 1.6em;
    width: 45%;
    text-align: right;
  }
  .cd-timeline-content:before {
    top: 12px;
    left: 100%;
    border-color: transparent;
    border-left-color: var(--bs-border-color);
  }
  .cd-timeline-content .cd-read-more {
    float: left;
  }
  .cd-timeline-content .cd-date {
    position: absolute;
    width: 100%;
    left: 122%;
    top: 2px;
    text-align: left;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content {
    float: right;
    text-align: left;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content:before {
    top: 12px;
    left: auto;
    right: 100%;
    border-color: transparent;
    border-right-color: var(--bs-border-color);
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-read-more {
    float: right;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-date {
    left: auto;
    right: 122%;
    text-align: right;
  }
}
.pricingTable {
  text-align: center;
  margin: 16px 0;
}
.pricingTable .pricing-icon i {
  width: 80px;
  height: 80px;
  text-align: center;
  line-height: 70px;
  font-size: 28px;
  border: 6px solid var(--bs-secondary-bg);
  border-radius: 50%;
  -webkit-box-shadow: 0px 0px 5px 0.15px var(--bs-tertiary-bg);
          box-shadow: 0px 0px 5px 0.15px var(--bs-tertiary-bg);
  -webkit-transition: all 300ms linear 0ms;
  transition: all 300ms linear 0ms;
}
.pricingTable .amount {
  display: block;
  font-size: 36px;
  font-weight: 500;
  color: var(--bs-emphasis-color);
  padding: 12px 0 6px;
  margin: 0;
}

/*--accordion--*/
.accordion .card-header {
  background-color: #e9ecef;
  padding: 0 12px;
}

.profile .online-circle {
  position: absolute;
  right: 0;
  top: 116px;
  left: 70px;
}
.profile ul li a span {
  border: 1px dotted #0acf97;
  border-radius: 50%;
  background-color: rgba(10, 207, 151, 0.15);
  display: inline-block;
  color: #0acf97;
  line-height: 36px;
}

.language-skill li {
  margin-top: 8px;
  border: 1px solid rgba(10, 207, 151, 0.15);
  border-radius: 5px;
  padding: 0 8px;
  background-color: rgba(10, 207, 151, 0.15);
  color: #0acf97;
  font-size: 13px;
}

.peity-data {
  position: absolute;
  top: 35px;
  right: 35px;
}

.activity {
  position: relative;
  border-left: 1px solid var(--bs-tertiary-bg);
  margin-left: 16px;
}
.activity .item-info {
  margin-left: 30px;
  margin-bottom: 30px;
}
.activity .item-info h5 {
  font-weight: 400;
  font-size: 15px;
}
.activity .img-activity,
.activity i {
  border: 1px solid var(--bs-tertiary-bg);
  width: 36px;
  height: 36px;
  text-align: center;
  line-height: 34px;
  border-radius: 50%;
  position: absolute;
  left: -17px;
  color: #2d7ba0;
  background-color: var(--bs-tertiary-bg);
  font-size: 20px;
  -webkit-box-shadow: 0px 0px 0px 0.5px var(--bs-tertiary-bg);
          box-shadow: 0px 0px 0px 0.5px var(--bs-tertiary-bg);
}

.custom-tab.tab-profile .nav-tabs .nav-link {
  padding: 8px 14px;
}
.custom-tab.tab-profile .nav-link.active {
  background-color: transparent;
}

#settings .dropify-wrapper {
  width: 14%;
  height: 164px;
  margin-bottom: 30px;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  /* ideally, transition speed should match zoom duration */
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0;
}

@media (max-width: 767px) {
  #settings .dropify-wrapper {
    width: auto;
  }
  .profile #lineChart {
    height: auto !important;
  }
}
.accordion-plus-icon .btn {
  white-space: normal;
}
.accordion-plus-icon .card {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.accordion-plus-icon .card .accordion-header .accordion-button {
  padding-left: 54px;
  position: relative;
  overflow: hidden;
}
/* Solid FA exige font-weight 900; 600 falha o @font-face e o glyph PUA vaza enorme abaixo do rodapé. */
.accordion-plus-icon .card .accordion-header .accordion-button::after {
  content: "\f068" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  right: auto !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  max-width: 1.25rem !important;
  max-height: 1.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  -webkit-transform: translateY(-50%) !important;
          transform: translateY(-50%) !important;
  -webkit-transition: -webkit-transform 0.25s !important;
  transition: transform 0.25s !important;
  color: #2d7ba0 !important;
  background-image: none !important;
  background-size: 0 !important;
  -webkit-mask-image: none !important;
          mask-image: none !important;
  flex-shrink: 0 !important;
}
.accordion-plus-icon .card .accordion-header .accordion-button.collapsed::after {
  content: "\f067" !important;
  -webkit-transform: translateY(-50%) !important;
          transform: translateY(-50%) !important;
}

@media (max-width: 1024px) {
  .mo-b-15 {
    margin-bottom: 15px;
  }
}
/*--accordion--*/
.accordion {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.accordion .card-header {
  background-color: rgba(233, 236, 239, 0.5);
  border: 1px solid rgba(233, 236, 239, 0.5);
  padding: 0 12px;
}
.accordion .btn {
  margin-bottom: 0;
  text-decoration: none;
  display: inline;
  width: auto;
  text-align: left;
}

#accordionExample .card-header h5 button.collapsed::before {
  content: "\f067";
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
#accordionExample .card-header h5 button::before {
  content: "\f068";
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  width: 1.25rem;
  height: 1.25rem;
  overflow: hidden;
  position: absolute;
  top: 18px;
  left: 20px;
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  color: #2d7ba0;
  background-image: none !important;
}

#accordionExample2 .card-header h5 button.collapsed::before {
  content: "\f107";
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
#accordionExample2 .card-header h5 button::before {
  content: "\f106";
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  width: 1.25rem;
  height: 1.25rem;
  overflow: hidden;
  position: absolute;
  top: 18px;
  right: 25px;
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  color: #2d7ba0;
  background-image: none !important;
}

/* ==========================================================================
   SAGL: regras de acessibilidade e layout (antes no header_html.dtml)
   ========================================================================== */
:root {
  /* Medido em px por saglSyncLayoutChrome; fallback até o JS rodar */
  --sagl-chrome-bottom: 7rem;
  --sagl-scroll-gap: 0.75rem;
  --agenda-scroll-offset: calc(var(--sagl-chrome-bottom) + var(--sagl-scroll-gap));
  --skip-link-visible-top: calc(var(--sagl-chrome-bottom) + 1.5rem);
}
/* Uma vez: hash, scrollIntoView e scroll-snap respeitam header + topnav (+ banner PIN). */
html {
  scroll-padding-top: calc(var(--sagl-chrome-bottom) + var(--sagl-scroll-gap));
}

/*
 * Toasts fixos no topo: abaixo do chrome (header + topnav), na faixa branca
 * do conteúdo — nunca sobre os botões do #page-topbar (busca, usuário etc.).
 * Só quando o chrome existe (páginas embutidas ?modal=1 ficam em top:0).
 * Contêineres com bottom (ex.: pasta digital) não usam .top-0 e não entram aqui.
 */
body:has(#page-topbar) .toast-container.position-fixed.top-0,
body:has(#page-topbar) .toast-container.position-fixed.sagl-toast-host {
  top: calc(var(--sagl-chrome-bottom, 7rem) + 0.35rem) !important;
  z-index: 1100;
}
/* Skip link: invisível (fora da tela) até receber foco; não afeta layout */
/* Fallbacks sem JS: visíveis só quando o script de head não marcou html.sagl-js */
.sagl-nojs-only {
  display: block;
}
html.sagl-js .sagl-nojs-only {
  display: none !important;
}

.skip-link {
  position: fixed;
  left: -9999px;
  top: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  padding: 0;
  margin: 0;
  background: #1a1a1a !important;
  color: #ffffff !important;
  text-decoration: none;
  z-index: 10001;
  font-weight: 600;
  font-size: 1rem;
}
.skip-link:focus,
.skip-link:focus-visible {
  left: 1rem;
  top: var(--skip-link-visible-top);
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  padding: 10px 16px;
  border-radius: 0 0 4px 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  outline: 3px solid #ffc107;
  outline-offset: 2px;
}
/* btn-link: contraste legível em todo o sistema (evita texto ilegível no hover) */
.btn-link,
.btn.btn-link {
  color: #135F76;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-bg: rgba(var(--bs-primary-rgb, 45, 123, 160), 0.12);
  --bs-btn-active-border-color: transparent;
  text-decoration: none;
  border: 0;
  box-shadow: none;
}
.btn-link:hover,
.btn-link:focus-visible,
.btn.btn-link:hover,
.btn.btn-link:focus-visible {
  color: #0b4f63 !important;
  background-color: rgba(var(--bs-primary-rgb, 45, 123, 160), 0.1) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  text-decoration: underline;
}
.btn-link:active,
.btn.btn-link:active {
  color: #0b4f63 !important;
  background-color: rgba(var(--bs-primary-rgb, 45, 123, 160), 0.14) !important;
  border-color: transparent !important;
}
html[data-bs-theme="dark"] .btn-link:not(.sagl-quick-link):not(.text-muted),
html[data-bs-theme="dark"] .btn.btn-link:not(.sagl-quick-link):not(.text-muted),
body[data-bs-theme="dark"] .btn-link:not(.sagl-quick-link):not(.text-muted),
body[data-bs-theme="dark"] .btn.btn-link:not(.sagl-quick-link):not(.text-muted) {
  color: var(--bs-link-color, #7ec4e0);
}
html[data-bs-theme="dark"] .btn-link:not(.sagl-quick-link):not(.text-muted):hover,
html[data-bs-theme="dark"] .btn-link:not(.sagl-quick-link):not(.text-muted):focus-visible,
html[data-bs-theme="dark"] .btn.btn-link:not(.sagl-quick-link):not(.text-muted):hover,
html[data-bs-theme="dark"] .btn.btn-link:not(.sagl-quick-link):not(.text-muted):focus-visible,
body[data-bs-theme="dark"] .btn-link:not(.sagl-quick-link):not(.text-muted):hover,
body[data-bs-theme="dark"] .btn-link:not(.sagl-quick-link):not(.text-muted):focus-visible,
body[data-bs-theme="dark"] .btn.btn-link:not(.sagl-quick-link):not(.text-muted):hover,
body[data-bs-theme="dark"] .btn.btn-link:not(.sagl-quick-link):not(.text-muted):focus-visible {
  color: var(--bs-link-hover-color, #a8daf0) !important;
}
html[data-bs-theme="dark"] .btn-link:not(.sagl-quick-link):not(.text-muted):active,
html[data-bs-theme="dark"] .btn.btn-link:not(.sagl-quick-link):not(.text-muted):active,
body[data-bs-theme="dark"] .btn-link:not(.sagl-quick-link):not(.text-muted):active,
body[data-bs-theme="dark"] .btn.btn-link:not(.sagl-quick-link):not(.text-muted):active {
  color: var(--bs-link-hover-color, #a8daf0) !important;
}
/* Botão de ajuda dos campos de pesquisa: mantém contraste no hover/foco sem alterar layout */
.search-help-popover-btn,
.btn.search-help-popover-btn {
  color: #135F76 !important;
  background-color: transparent !important;
  border: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.search-help-popover-btn:hover,
.search-help-popover-btn:focus,
.search-help-popover-btn:focus-visible,
.search-help-popover-btn:active,
.btn.search-help-popover-btn:hover,
.btn.search-help-popover-btn:focus,
.btn.search-help-popover-btn:focus-visible,
.btn.search-help-popover-btn:active {
  color: #0b4f63 !important;
  background-color: rgba(19, 95, 118, 0.12) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
html[data-bs-theme="dark"] .search-help-popover-btn,
html[data-bs-theme="dark"] .btn.search-help-popover-btn,
body[data-bs-theme="dark"] .search-help-popover-btn,
body[data-bs-theme="dark"] .btn.search-help-popover-btn {
  color: var(--bs-link-color, #7ec4e0) !important;
}
html[data-bs-theme="dark"] .search-help-popover-btn:hover,
html[data-bs-theme="dark"] .search-help-popover-btn:focus,
html[data-bs-theme="dark"] .search-help-popover-btn:focus-visible,
html[data-bs-theme="dark"] .search-help-popover-btn:active,
html[data-bs-theme="dark"] .btn.search-help-popover-btn:hover,
html[data-bs-theme="dark"] .btn.search-help-popover-btn:focus,
html[data-bs-theme="dark"] .btn.search-help-popover-btn:focus-visible,
html[data-bs-theme="dark"] .btn.search-help-popover-btn:active,
body[data-bs-theme="dark"] .search-help-popover-btn:hover,
body[data-bs-theme="dark"] .search-help-popover-btn:focus,
body[data-bs-theme="dark"] .search-help-popover-btn:focus-visible,
body[data-bs-theme="dark"] .search-help-popover-btn:active,
body[data-bs-theme="dark"] .btn.search-help-popover-btn:hover,
body[data-bs-theme="dark"] .btn.search-help-popover-btn:focus,
body[data-bs-theme="dark"] .btn.search-help-popover-btn:focus-visible,
body[data-bs-theme="dark"] .btn.search-help-popover-btn:active {
  color: var(--bs-link-hover-color, #a8daf0) !important;
  background-color: rgba(126, 196, 224, 0.14) !important;
}
.search-help-popover-btn i,
.search-help-popover-btn:hover i,
.search-help-popover-btn:focus i,
.search-help-popover-btn:focus-visible i,
.search-help-popover-btn:active i {
  color: inherit !important;
}
/* card-header: quando o hover do header ou do botão aplica fundo escuro, texto branco para legibilidade */
.card-header .btn-link:hover,
.card-header .btn-link:focus-visible,
.card-header .btn.btn-link:hover,
.card-header .btn.btn-link:focus-visible,
.card-header .btn-link:hover i,
.card-header .btn.btn-link:hover i {
  color: #fff !important;
}
/* Centraliza texto do badge (fonte Rubik fica top-heavy com line-height:1 do Bootstrap) */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  padding-top: 0.3em;
  padding-bottom: 0.3em;
}

/* Badges de Texto Integral / documento (pesquisa_materias, pesquisa_normas, documento_administrativo_index): texto e ícone brancos no hover/focus */
.badge.bg-primary.badge-clickable:hover,
.badge.bg-primary.badge-clickable:hover *,
.badge.bg-primary.bg-opacity-10.text-primary.badge-clickable:hover,
.badge.bg-primary.bg-opacity-10.text-primary.badge-clickable:hover *,
.badge.bg-primary.badge-clickable:focus-visible,
.badge.bg-primary.badge-clickable:focus-visible * {
  color: #fff !important;
}
/* Sobrescreve #main-content .card .text-primary para badges de documento no hover */
#main-content .badge.bg-primary.badge-clickable:hover,
#main-content .badge.bg-primary.badge-clickable:hover *,
#main-content .badge.bg-primary.bg-opacity-10.text-primary.badge-clickable:hover,
#main-content .badge.bg-primary.bg-opacity-10.text-primary.badge-clickable:hover *,
#main-content .badge.bg-primary.badge-clickable:focus-visible,
#main-content .badge.bg-primary.badge-clickable:focus-visible * {
  color: #fff !important;
}
/* Botão .btn-primary (ex.: Texto Integral em tabela pesquisa_normas) – texto e ícone brancos no hover */
.btn-primary:hover,
.btn-primary:focus-visible,
.btn-primary:hover i,
.btn-primary:focus-visible i,
a.btn-primary:hover,
a.btn-primary:focus-visible,
a.btn-primary:hover i,
a.btn-primary:focus-visible i,
#main-content .btn-primary:hover,
#main-content .btn-primary:focus-visible,
#main-content .btn-primary:hover i,
#main-content .btn-primary:focus-visible i {
  color: #fff !important;
}
/* WCAG 1.4.3: topbar – título e subtítulo em branco sobre fundo escuro */
#page-topbar .siteTitle,
#page-topbar .siteSubTitle,
#page-topbar .navbar-brand .siteTitle,
#page-topbar .navbar-brand .siteSubTitle,
#page-topbar .d-none.d-lg-inline-block {
  color: #ffffff !important;
  font-weight: 500 !important;
}
/* Área mínima de toque (acessibilidade): pelo menos 44px para botões do header */
#page-topbar .header-item,
#page-topbar .btn.header-item {
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* Contraste WCAG AA (SC 1.4.3 Contrast Minimum): .text-muted mais escuro (~4.5:1 sobre branco) */
.text-muted {
  color: #5a6268 !important;
}
[data-bs-theme=dark] .text-muted,
[data-bs-theme=dark] .text-secondary,
body[data-bs-theme=dark] .text-muted,
body[data-bs-theme=dark] .text-secondary {
  color: #cfd6dd !important;
}
/*
 * Switches de tema (#sagl-theme-switches): .visually-hidden + aria-hidden, mas o WAVE
 * ainda avalia contraste do texto (herda ~#686b6e no dark ≈ 2:1). Forçar AA.
 */
#sagl-theme-switches label {
  color: #212529 !important;
  background-color: #ffffff !important;
}
html[data-bs-theme="dark"] #sagl-theme-switches label,
body[data-bs-theme="dark"] #sagl-theme-switches label {
  color: #e8eaed !important;
  background-color: #1a1d29 !important;
}
/* Links secundários (ex.: "Esqueceu senha", rodapé) legíveis */
a.text-muted:hover,
a.text-muted:focus-visible {
  color: #3d4349 !important;
}
[data-bs-theme=dark] a.text-muted:hover,
[data-bs-theme=dark] a.text-muted:focus-visible,
body[data-bs-theme=dark] a.text-muted:hover,
body[data-bs-theme=dark] a.text-muted:focus-visible {
  color: #eef2f6 !important;
}
/* WCAG 1.4.3: atalhos do breadcrumb (Sessões, Matérias, Legislação, Documentos) com contraste ≥4.5:1 */
#sagl-breadcrumb-row .btn-link.text-muted,
#sagl-breadcrumb-row .btn-link.text-muted span,
#sagl-breadcrumb-row .btn-link.text-muted i,
#sagl-breadcrumb-row .btn-link.text-muted .mdi,
a.btn-link.sagl-quick-link,
a.btn-link.sagl-quick-link span,
a.btn-link.sagl-quick-link i,
a.btn-link.sagl-quick-link .mdi {
  color: #495057 !important;
}
#sagl-breadcrumb-row .btn-link.text-muted:hover,
#sagl-breadcrumb-row .btn-link.text-muted:focus-visible,
#sagl-breadcrumb-row .btn-link.text-muted:hover span,
#sagl-breadcrumb-row .btn-link.text-muted:hover i,
#sagl-breadcrumb-row .btn-link.text-muted:hover .mdi,
a.btn-link.sagl-quick-link:hover,
a.btn-link.sagl-quick-link:focus-visible,
a.btn-link.sagl-quick-link:hover span,
a.btn-link.sagl-quick-link:hover i,
a.btn-link.sagl-quick-link:hover .mdi {
  color: #212529 !important;
}
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted,
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted span,
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted i,
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted .mdi,
[data-bs-theme=dark] a.btn-link.sagl-quick-link,
[data-bs-theme=dark] a.btn-link.sagl-quick-link span,
[data-bs-theme=dark] a.btn-link.sagl-quick-link i,
[data-bs-theme=dark] a.btn-link.sagl-quick-link .mdi,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link span,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link i,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link .mdi {
  color: #e2e6ea !important;
}
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted:hover,
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted:focus-visible,
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted:hover span,
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted:focus-visible span,
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted:hover i,
[data-bs-theme=dark] #sagl-breadcrumb-row .btn-link.text-muted:focus-visible i,
[data-bs-theme=dark] a.btn-link.sagl-quick-link:hover,
[data-bs-theme=dark] a.btn-link.sagl-quick-link:focus-visible,
[data-bs-theme=dark] a.btn-link.sagl-quick-link:hover span,
[data-bs-theme=dark] a.btn-link.sagl-quick-link:focus-visible span,
[data-bs-theme=dark] a.btn-link.sagl-quick-link:hover i,
[data-bs-theme=dark] a.btn-link.sagl-quick-link:focus-visible i,
[data-bs-theme=dark] a.btn-link.sagl-quick-link:hover .mdi,
[data-bs-theme=dark] a.btn-link.sagl-quick-link:focus-visible .mdi,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link:hover,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link:focus-visible,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link:hover span,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link:focus-visible span,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link:hover i,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link:focus-visible i,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link:hover .mdi,
body[data-bs-theme=dark] a.btn-link.sagl-quick-link:focus-visible .mdi {
  color: #a8daf0 !important;
}
/*
 * WCAG 1.4.3: topnav em tema claro.
 * O claro costuma NÃO ter data-bs-theme="light" (só o escuro seta o atributo),
 * então as regras precisam valer no default (:root / sem dark).
 */
html:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link,
html:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link i,
html:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link .mdi,
body:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link,
body:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link i,
body:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link .mdi,
[data-bs-theme=light] .topnav .navbar-nav .nav-link,
[data-bs-theme=light] .topnav .navbar-nav .nav-link i,
[data-bs-theme=light] .topnav .navbar-nav .nav-link .mdi {
  color: #383d41 !important;
}
html:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link:hover,
html:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link:focus-visible,
html:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link:hover i,
html:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link:focus-visible i,
body:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link:hover,
body:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link:focus-visible,
body:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link:hover i,
body:not([data-bs-theme=dark]) .topnav .navbar-nav .nav-link:focus-visible i,
[data-bs-theme=light] .topnav .navbar-nav .nav-link:hover,
[data-bs-theme=light] .topnav .navbar-nav .nav-link:focus-visible,
[data-bs-theme=light] .topnav .navbar-nav .nav-link:hover i,
[data-bs-theme=light] .topnav .navbar-nav .nav-link:focus-visible i {
  color: #212529 !important;
}
/* WCAG 1.4.3: topnav em tema escuro (menu principal + dropdown) */
[data-bs-theme=dark] .topnav .navbar-nav .nav-link,
[data-bs-theme=dark] .topnav .navbar-nav .nav-link i,
[data-bs-theme=dark] .topnav .navbar-nav .nav-link .mdi,
[data-bs-theme=dark] .topnav .navbar-nav .dropdown-item,
[data-bs-theme=dark] .topnav .navbar-nav .dropdown-item i {
  color: #d6dbe3 !important;
}
[data-bs-theme=dark] .topnav .navbar-nav .nav-link:hover,
[data-bs-theme=dark] .topnav .navbar-nav .nav-link:focus-visible,
[data-bs-theme=dark] .topnav .navbar-nav .nav-link:hover i,
[data-bs-theme=dark] .topnav .navbar-nav .nav-link:focus-visible i,
[data-bs-theme=dark] .topnav .navbar-nav .dropdown-item:hover,
[data-bs-theme=dark] .topnav .navbar-nav .dropdown-item:focus-visible,
[data-bs-theme=dark] .topnav .navbar-nav .dropdown-item.active {
  color: #ffffff !important;
}
/* Footer institucional — mesmo teal do header (#2d7ba0) */
.footer-institutional {
  background-color: #2d7ba0 !important;
  color: #ffffff !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  position: relative !important;
  z-index: 10 !important;
  clear: both !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  margin-top: 0 !important;
}
.footer-institutional .footer-bar-credit,
.footer-institutional .footer-bar-casa,
.footer-institutional .footer-bar-nav,
.footer-institutional .footer-bar-contact,
.footer-institutional .footer-bar-inline,
.footer-institutional .footer-bar-item,
.footer-institutional .footer-institution-name,
.footer-institutional .footer-copyright,
.footer-institutional .footer-system-name,
.footer-institutional .footer-dev-text,
.footer-institutional .footer-section-title,
.footer-institutional .footer-icon,
.footer-institutional .footer-link,
.footer-institutional .footer-link:hover,
.footer-institutional .footer-link:focus-visible,
.footer-institutional a,
.footer-institutional .footer-section,
.footer-institutional .footer-link-item,
.footer-institutional .footer-links-list,
.footer-institutional .footer-links-list li,
.footer-institutional .footer-bar-meta,
.footer-institutional .footer-bar-cep,
.footer-institutional .footer-bar-sep,
.footer-institutional i,
.footer-institutional .mdi,
.footer-institutional .fas,
.footer-institutional .fa,
.footer-institutional .fa-fw {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  opacity: 1 !important;
}
.footer-institutional:not(.footer-bar) .footer-institution-name,
.footer-institutional:not(.footer-bar) .footer-copyright,
.footer-institutional:not(.footer-bar) .footer-system-name,
.footer-institutional:not(.footer-bar) .footer-dev-text,
.footer-institutional:not(.footer-bar) .footer-link,
.footer-institutional:not(.footer-bar) a,
.footer-institutional:not(.footer-bar) .footer-section,
.footer-institutional:not(.footer-bar) .footer-link-item,
.footer-institutional:not(.footer-bar) .footer-links-list,
.footer-institutional:not(.footer-bar) .footer-links-list li {
  font-size: 0.9rem !important;
}
.footer-institutional .footer-badge {
  color: #ffffff !important;
  font-size: 0.9rem !important;
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
}
.footer-institutional:not(.footer-bar) .footer-institution-name {
  font-size: 1rem !important;
  font-weight: 500 !important;
}
.footer-institutional:not(.footer-bar) .footer-copyright {
  font-size: 0.85rem !important;
}
.footer-institutional.footer-bar {
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.08);
}
.footer-institutional .footer-link:hover,
.footer-institutional .footer-link:focus-visible {
  text-decoration: underline;
}
/* Footer: separador entre colunas apenas no layout de 3 colunas (lg+) */
@media (min-width: 992px) {
  .footer-institutional .footer-col-sep {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    padding-left: 1rem;
  }
}
/* Footer: responsividade em celular e tablet */
@media (max-width: 767px) {
  .footer-institutional .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .footer-institutional .footer-links-list {
    gap: 0.5rem !important;
  }
}
@media (max-width: 575px) {
  .footer-institutional .footer-institution-name,
  .footer-institutional .footer-system-name {
    font-size: 0.95rem !important;
  }
  .footer-institutional .footer-section {
    min-height: 0;
  }
}
/* WCAG 1.4.3: conteúdo principal – contraste em consultas (ex.: Mesa Diretora, Parlamentar) */
#main-content .breadcrumb a,
#main-content .breadcrumb-item a {
  color: #135F76 !important;
}
#main-content .breadcrumb a:hover,
#main-content .breadcrumb a:focus-visible,
#main-content .breadcrumb-item a:hover,
#main-content .breadcrumb-item a:focus-visible {
  color: #0d3d4a !important;
}
#main-content .form-label {
  color: #495057 !important;
}
#main-content .h5.text-muted,
#main-content h2.text-muted {
  color: #495057 !important;
}
#main-content .text-muted a,
#main-content a.text-muted,
#main-content .small.text-muted a {
  color: #495057 !important;
}
#main-content .text-muted a:hover,
#main-content .text-muted a:focus-visible {
  color: #212529 !important;
}
/* Exclui .badge e .badge-clickable para não sobrescrever texto branco no hover (ex.: Texto Integral) */
#main-content .card .text-primary:not(.badge):not(.badge-clickable),
#main-content .card.profile .text-primary:not(.badge):not(.badge-clickable),
#main-content a .card .text-primary:not(.badge):not(.badge-clickable),
#main-content a .card .card-body .h5.text-primary:not(.badge):not(.badge-clickable),
#main-content a .card .card-body h3.text-primary:not(.badge):not(.badge-clickable) {
  color: #135F76 !important;
}
#main-content .card .text-muted,
#main-content .card .small.text-muted,
#main-content a .card .text-muted,
#main-content a .card .small.text-muted,
#main-content a .card .card-body .text-muted,
#main-content a .card .card-body p.text-muted {
  color: #5a6268 !important;
}

/*
 * Dark: azul de links de conteúdo = Reuniões Plenárias (--bs-link-color #7ec4e0).
 * A regra clara acima (#135F76) não deve vencer spc-sess-titlink / cards de vereadores.
 */
html[data-bs-theme="dark"] #main-content .breadcrumb a,
html[data-bs-theme="dark"] #main-content .breadcrumb-item a,
body[data-bs-theme="dark"] #main-content .breadcrumb a,
body[data-bs-theme="dark"] #main-content .breadcrumb-item a {
  color: var(--bs-link-color, #7ec4e0) !important;
}
html[data-bs-theme="dark"] #main-content .breadcrumb a:hover,
html[data-bs-theme="dark"] #main-content .breadcrumb a:focus-visible,
html[data-bs-theme="dark"] #main-content .breadcrumb-item a:hover,
html[data-bs-theme="dark"] #main-content .breadcrumb-item a:focus-visible,
body[data-bs-theme="dark"] #main-content .breadcrumb a:hover,
body[data-bs-theme="dark"] #main-content .breadcrumb a:focus-visible,
body[data-bs-theme="dark"] #main-content .breadcrumb-item a:hover,
body[data-bs-theme="dark"] #main-content .breadcrumb-item a:focus-visible {
  color: var(--bs-link-hover-color, #a8daf0) !important;
}
html[data-bs-theme="dark"] #main-content .form-label,
body[data-bs-theme="dark"] #main-content .form-label {
  color: var(--bs-body-color, #e8eaed) !important;
}
html[data-bs-theme="dark"] #main-content .h5.text-muted,
html[data-bs-theme="dark"] #main-content h2.text-muted,
body[data-bs-theme="dark"] #main-content .h5.text-muted,
body[data-bs-theme="dark"] #main-content h2.text-muted {
  color: var(--bs-secondary-color, #cfd6dd) !important;
}
html[data-bs-theme="dark"] #main-content .text-muted a,
html[data-bs-theme="dark"] #main-content a.text-muted,
html[data-bs-theme="dark"] #main-content .small.text-muted a,
body[data-bs-theme="dark"] #main-content .text-muted a,
body[data-bs-theme="dark"] #main-content a.text-muted,
body[data-bs-theme="dark"] #main-content .small.text-muted a {
  color: var(--bs-link-color, #7ec4e0) !important;
}
html[data-bs-theme="dark"] #main-content .text-muted a:hover,
html[data-bs-theme="dark"] #main-content .text-muted a:focus-visible,
body[data-bs-theme="dark"] #main-content .text-muted a:hover,
body[data-bs-theme="dark"] #main-content .text-muted a:focus-visible {
  color: var(--bs-link-hover-color, #a8daf0) !important;
}
html[data-bs-theme="dark"] #main-content .card .text-primary:not(.badge):not(.badge-clickable),
html[data-bs-theme="dark"] #main-content .card.profile .text-primary:not(.badge):not(.badge-clickable),
html[data-bs-theme="dark"] #main-content a .card .text-primary:not(.badge):not(.badge-clickable),
html[data-bs-theme="dark"] #main-content a .card .card-body .h5.text-primary:not(.badge):not(.badge-clickable),
html[data-bs-theme="dark"] #main-content a .card .card-body h3.text-primary:not(.badge):not(.badge-clickable),
html[data-bs-theme="dark"] #main-content a.text-primary:not(.btn):not(.badge):not(.badge-clickable),
html[data-bs-theme="dark"] #main-content a .text-primary:not(.badge):not(.badge-clickable),
html[data-bs-theme="dark"] #main-content .spc-sess-titlink,
html[data-bs-theme="dark"] #main-content .spc-sess-titlink h3,
html[data-bs-theme="dark"] #main-content a.sagl-list-edit,
body[data-bs-theme="dark"] #main-content .card .text-primary:not(.badge):not(.badge-clickable),
body[data-bs-theme="dark"] #main-content .card.profile .text-primary:not(.badge):not(.badge-clickable),
body[data-bs-theme="dark"] #main-content a .card .text-primary:not(.badge):not(.badge-clickable),
body[data-bs-theme="dark"] #main-content a .card .card-body .h5.text-primary:not(.badge):not(.badge-clickable),
body[data-bs-theme="dark"] #main-content a .card .card-body h3.text-primary:not(.badge):not(.badge-clickable),
body[data-bs-theme="dark"] #main-content a.text-primary:not(.btn):not(.badge):not(.badge-clickable),
body[data-bs-theme="dark"] #main-content a .text-primary:not(.badge):not(.badge-clickable),
body[data-bs-theme="dark"] #main-content .spc-sess-titlink,
body[data-bs-theme="dark"] #main-content .spc-sess-titlink h3,
body[data-bs-theme="dark"] #main-content a.sagl-list-edit {
  color: var(--bs-link-color, #7ec4e0) !important;
}
html[data-bs-theme="dark"] #main-content a.sagl-list-edit:hover,
html[data-bs-theme="dark"] #main-content a.sagl-list-edit:focus-visible,
html[data-bs-theme="dark"] #main-content .spc-sess-titlink:hover h3,
html[data-bs-theme="dark"] #main-content .spc-sess-titlink:focus-visible h3,
html[data-bs-theme="dark"] #main-content a.text-primary:not(.btn):not(.badge):hover,
html[data-bs-theme="dark"] #main-content a.text-primary:not(.btn):not(.badge):focus-visible,
html[data-bs-theme="dark"] #main-content a:hover .text-primary:not(.badge),
html[data-bs-theme="dark"] #main-content a:focus-visible .text-primary:not(.badge),
body[data-bs-theme="dark"] #main-content a.sagl-list-edit:hover,
body[data-bs-theme="dark"] #main-content a.sagl-list-edit:focus-visible,
body[data-bs-theme="dark"] #main-content .spc-sess-titlink:hover h3,
body[data-bs-theme="dark"] #main-content .spc-sess-titlink:focus-visible h3,
body[data-bs-theme="dark"] #main-content a.text-primary:not(.btn):not(.badge):hover,
body[data-bs-theme="dark"] #main-content a.text-primary:not(.btn):not(.badge):focus-visible,
body[data-bs-theme="dark"] #main-content a:hover .text-primary:not(.badge),
body[data-bs-theme="dark"] #main-content a:focus-visible .text-primary:not(.badge) {
  color: var(--bs-link-hover-color, #a8daf0) !important;
}
html[data-bs-theme="dark"] #main-content .card .text-muted,
html[data-bs-theme="dark"] #main-content .card .small.text-muted,
html[data-bs-theme="dark"] #main-content a .card .text-muted,
html[data-bs-theme="dark"] #main-content a .card .small.text-muted,
html[data-bs-theme="dark"] #main-content a .card .card-body .text-muted,
html[data-bs-theme="dark"] #main-content a .card .card-body p.text-muted,
body[data-bs-theme="dark"] #main-content .card .text-muted,
body[data-bs-theme="dark"] #main-content .card .small.text-muted,
body[data-bs-theme="dark"] #main-content a .card .text-muted,
body[data-bs-theme="dark"] #main-content a .card .small.text-muted,
body[data-bs-theme="dark"] #main-content a .card .card-body .text-muted,
body[data-bs-theme="dark"] #main-content a .card .card-body p.text-muted {
  color: var(--bs-secondary-color, #cfd6dd) !important;
}
.alert-info {
  color: #055160 !important;
}
.alert-info .text-muted,
.alert-info small {
  color: #066275 !important;
}
.alert-warning {
  color: #664d03 !important;
}
.alert-warning .text-muted,
.alert-warning small {
  color: #856404 !important;
}

/* Link de ajuda contextual (helpsagl) nas telas de cadastro */
.helpsagl {
  gap: 0.25rem;
}
.card-body > .helpsagl:first-child {
  margin-top: -0.25rem;
}
#ajuda.btn {
  white-space: nowrap;
}

/* data-topnav-sticky só marca medição JS; padding vem da regra horizontal acima. */
/* Banner PIN: sticky logo abaixo do topnav, integrado ao chrome fixo */
#sagl-pin-banner-wrap:not(.d-none) {
  position: sticky;
  top: calc(var(--sagl-header-height, 80px) + var(--sagl-topnav-height, 58px));
  z-index: 998;
  width: 100%;
}
body[data-pin-banner-visible="1"] .page-content > .container-fluid > .row.mt-3 {
  margin-top: 0 !important;
  padding-top: 0.5rem !important;
}

/* Tamanho do texto (acessibilidade): escala rem global via html */
html.smallText {
  font-size: 87.5% !important;
}
html.largeText {
  font-size: 125% !important;
}

/* ==========================================================================
   Pesquisas (Consultas) — contraste WCAG no tema escuro
   Corrige: alert-info forçado (#055160), bg-white nos headers, text-muted
   em cards, placeholders e botões outline pouco legíveis.
   ========================================================================== */
[data-bs-theme=dark] .alert-info,
body[data-bs-theme=dark] .alert-info {
  color: #e3f4f9 !important;
  background-color: rgba(45, 123, 160, 0.28) !important;
  border-color: rgba(125, 190, 220, 0.45) !important;
}
[data-bs-theme=dark] .alert-info .text-muted,
[data-bs-theme=dark] .alert-info small,
[data-bs-theme=dark] .alert-info strong,
body[data-bs-theme=dark] .alert-info .text-muted,
body[data-bs-theme=dark] .alert-info small,
body[data-bs-theme=dark] .alert-info strong {
  color: #eef7fb !important;
}
[data-bs-theme=dark] .alert-info .btn-close,
body[data-bs-theme=dark] .alert-info .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
  opacity: 0.85;
}

[data-bs-theme=dark] .alert-warning,
body[data-bs-theme=dark] .alert-warning {
  color: #fff3cd !important;
  background-color: rgba(255, 193, 7, 0.18) !important;
  border-color: rgba(255, 193, 7, 0.4) !important;
}
[data-bs-theme=dark] .alert-warning .text-muted,
[data-bs-theme=dark] .alert-warning small,
body[data-bs-theme=dark] .alert-warning .text-muted,
body[data-bs-theme=dark] .alert-warning small {
  color: #ffe8a3 !important;
}

/* Headers "Filtros Básicos" e inputs com bg-white hardcoded nos DTML */
[data-bs-theme=dark] #main-content .card-header.bg-white,
[data-bs-theme=dark] #main-content .card-header.bg-light,
body[data-bs-theme=dark] #main-content .card-header.bg-white,
body[data-bs-theme=dark] #main-content .card-header.bg-light {
  background-color: var(--bs-tertiary-bg, #2b3244) !important;
  color: var(--bs-body-color, #e9ecef) !important;
  border-bottom-color: var(--bs-border-color, #3d4556) !important;
}
[data-bs-theme=dark] #main-content .card-header.bg-white h5,
[data-bs-theme=dark] #main-content .card-header.bg-white .fw-semibold,
[data-bs-theme=dark] #main-content .card-header.bg-light h5,
body[data-bs-theme=dark] #main-content .card-header.bg-white h5,
body[data-bs-theme=dark] #main-content .card-header.bg-light h5 {
  color: var(--bs-body-color, #e9ecef) !important;
}
[data-bs-theme=dark] #main-content .form-control.bg-white,
[data-bs-theme=dark] #main-content .form-select.bg-white,
[data-bs-theme=dark] #main-content input.bg-white,
body[data-bs-theme=dark] #main-content .form-control.bg-white,
body[data-bs-theme=dark] #main-content .form-select.bg-white {
  background-color: var(--bs-input-bg, #21253e) !important;
  color: var(--bs-body-color, #e9ecef) !important;
  border-color: var(--bs-border-color, #495057) !important;
}

/* text-muted forçado em cards (#5a6268) — ilegível no dark */
[data-bs-theme=dark] #main-content .card .text-muted,
[data-bs-theme=dark] #main-content .card .small.text-muted,
[data-bs-theme=dark] #main-content a .card .text-muted,
[data-bs-theme=dark] #main-content a .card .small.text-muted,
[data-bs-theme=dark] #main-content a .card .card-body .text-muted,
[data-bs-theme=dark] #main-content a .card .card-body p.text-muted,
body[data-bs-theme=dark] #main-content .card .text-muted,
body[data-bs-theme=dark] #main-content .card .small.text-muted {
  color: #cfd6dd !important;
}
[data-bs-theme=dark] #main-content .card .text-primary:not(.badge):not(.badge-clickable),
[data-bs-theme=dark] #main-content .card .card-body .text-primary:not(.badge):not(.badge-clickable),
[data-bs-theme=dark] #main-content .card.profile .text-primary:not(.badge):not(.badge-clickable),
body[data-bs-theme=dark] #main-content .card .text-primary:not(.badge):not(.badge-clickable) {
  color: #7ec4e0 !important;
}

/* Placeholders e campos de formulário nas pesquisas */
[data-bs-theme=dark] #main-content .form-control::placeholder,
[data-bs-theme=dark] #main-content .form-select::placeholder,
[data-bs-theme=dark] #main-content input::placeholder,
[data-bs-theme=dark] #main-content textarea::placeholder,
body[data-bs-theme=dark] #main-content .form-control::placeholder {
  color: #a8b0bc !important;
  opacity: 1;
}
[data-bs-theme=dark] #main-content .form-label,
[data-bs-theme=dark] #main-content .form-label-sm,
body[data-bs-theme=dark] #main-content .form-label {
  color: #e2e6ea !important;
}
[data-bs-theme=dark] #main-content .form-control,
[data-bs-theme=dark] #main-content .form-select,
body[data-bs-theme=dark] #main-content .form-control,
body[data-bs-theme=dark] #main-content .form-select {
  background-color: var(--bs-input-bg, #21253e) !important;
  border-color: #8b95a3 !important;
  color: #eef2f6 !important;
}
[data-bs-theme=dark] #main-content label,
body[data-bs-theme=dark] #main-content label {
  color: #e2e6ea !important;
}
[data-bs-theme=dark] #main-content .dropdown-menu,
body[data-bs-theme=dark] #main-content .dropdown-menu {
  background-color: #2b3244 !important;
  border-color: #8b95a3 !important;
  color: #eef2f6 !important;
}
[data-bs-theme=dark] #main-content .dropdown-item,
body[data-bs-theme=dark] #main-content .dropdown-item {
  color: #eef2f6 !important;
}
[data-bs-theme=dark] #main-content .dropdown-item:hover,
[data-bs-theme=dark] #main-content .dropdown-item:focus,
body[data-bs-theme=dark] #main-content .dropdown-item:hover {
  background-color: rgba(45, 123, 160, 0.35) !important;
  color: #fff !important;
}
[data-bs-theme=dark] #main-content .dropdown-divider,
body[data-bs-theme=dark] #main-content .dropdown-divider {
  border-color: #8b95a3 !important;
}
[data-bs-theme=dark] #main-content .form-control:focus,
[data-bs-theme=dark] #main-content .form-select:focus,
body[data-bs-theme=dark] #main-content .form-control:focus,
body[data-bs-theme=dark] #main-content .form-select:focus {
  border-color: #7ec4e0 !important;
  box-shadow: 0 0 0 0.2rem rgba(126, 196, 224, 0.25) !important;
}

/* Outline secondary (Retomar, Voltar, Limpar, etc.).
   :root define --bs-btn-hover-color: #fff para o primário; cards e overlays
   pintam o hover de cinza claro e o texto branco some. Hover = tinta escura
   sobre fundo claro. Estado ativo/marcado permanece preenchido. */
.btn-outline-secondary {
  --bs-btn-hover-color: #343a40;
  --bs-btn-hover-bg: #e2e6ea;
  --bs-btn-hover-border-color: #adb5bd;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible {
  color: #343a40;
  background-color: #e2e6ea;
  border-color: #adb5bd;
}
.btn-check:checked + .btn-outline-secondary:hover,
.btn-outline-secondary.active:hover,
.btn-group > .btn-outline-secondary.active:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

/* Botões outline / Limpar / Exportar / Tabela|Cards */
[data-bs-theme=dark] #main-content .btn-outline-secondary,
body[data-bs-theme=dark] #main-content .btn-outline-secondary {
  --bs-btn-color: #e2e6ea;
  --bs-btn-border-color: #8b95a3;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgba(255, 255, 255, 0.1);
  --bs-btn-hover-border-color: #c5ccd5;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgba(45, 123, 160, 0.45);
  --bs-btn-active-border-color: #7ec4e0;
  color: #e2e6ea !important;
  border-color: #8b95a3 !important;
  background-color: transparent !important;
}
[data-bs-theme=dark] #main-content .btn-outline-secondary:hover,
[data-bs-theme=dark] #main-content .btn-outline-secondary:focus-visible,
body[data-bs-theme=dark] #main-content .btn-outline-secondary:hover {
  color: #fff !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
  border-color: #c5ccd5 !important;
}
[data-bs-theme=dark] #main-content .btn-outline-secondary.active,
[data-bs-theme=dark] #main-content .btn-outline-secondary:active,
[data-bs-theme=dark] #main-content .btn-group > .btn-outline-secondary.active,
[data-bs-theme=dark] #main-content .btn-check:checked + .btn-outline-secondary,
[data-bs-theme=dark] #main-content .btn-check:checked + .btn-outline-secondary:hover,
body[data-bs-theme=dark] #main-content .btn-outline-secondary.active,
body[data-bs-theme=dark] #main-content .btn-outline-secondary:active,
body[data-bs-theme=dark] #main-content .btn-check:checked + .btn-outline-secondary,
body[data-bs-theme=dark] #main-content .btn-check:checked + .btn-outline-secondary:hover {
  color: #fff !important;
  background-color: var(--bs-primary, #2d7ba0) !important;
  border-color: #7ec4e0 !important;
}

/* Hyper: .btn-check:checked + .btn fica cinza com borda --bs-border-color (quase invisível). */
#main-content .btn-check:checked + .btn.btn-outline-primary,
#main-content .btn-check:checked + .btn.btn-outline-primary:hover,
#main-content .btn-check:checked + .btn.btn-outline-primary:focus,
#main-content .btn-check:checked + .btn.btn-outline-primary:focus-visible {
  background-color: var(--bs-primary, #2d7ba0) !important;
  border-color: var(--bs-primary, #2d7ba0) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#main-content .btn-check:checked + .btn.btn-outline-success,
#main-content .btn-check:checked + .btn.btn-outline-success:hover,
#main-content .btn-check:checked + .btn.btn-outline-success:focus,
#main-content .btn-check:checked + .btn.btn-outline-success:focus-visible {
  background-color: var(--bs-success, #198754) !important;
  border-color: var(--bs-success, #198754) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

[data-bs-theme=dark] #main-content .btn-outline-primary,
body[data-bs-theme=dark] #main-content .btn-outline-primary {
  color: #7ec4e0 !important;
  border-color: #7ec4e0 !important;
  background-color: transparent !important;
}
[data-bs-theme=dark] #main-content .btn-outline-primary:hover,
[data-bs-theme=dark] #main-content .btn-outline-primary:focus-visible,
body[data-bs-theme=dark] #main-content .btn-outline-primary:hover {
  color: #fff !important;
  background-color: rgba(45, 123, 160, 0.45) !important;
  border-color: #a8daf0 !important;
}
[data-bs-theme=dark] #main-content .btn-check:checked + .btn.btn-outline-primary,
[data-bs-theme=dark] #main-content .btn-check:checked + .btn.btn-outline-primary:hover,
body[data-bs-theme=dark] #main-content .btn-check:checked + .btn.btn-outline-primary,
body[data-bs-theme=dark] #main-content .btn-check:checked + .btn.btn-outline-primary:hover {
  background-color: var(--bs-primary, #2d7ba0) !important;
  border-color: #7ec4e0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
[data-bs-theme=dark] #main-content .btn-check:checked + .btn.btn-outline-success,
[data-bs-theme=dark] #main-content .btn-check:checked + .btn.btn-outline-success:hover,
body[data-bs-theme=dark] #main-content .btn-check:checked + .btn.btn-outline-success,
body[data-bs-theme=dark] #main-content .btn-check:checked + .btn.btn-outline-success:hover {
  background-color: var(--bs-success, #198754) !important;
  border-color: #7ed9b0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* thead.table-light nas pesquisas (Bootstrap força #f8f9fa) */
[data-bs-theme=dark] #main-content .table > thead.table-light,
[data-bs-theme=dark] #main-content thead.table-light,
[data-bs-theme=dark] #main-content .table-light,
body[data-bs-theme=dark] #main-content .table > thead.table-light,
body[data-bs-theme=dark] #main-content thead.table-light,
body[data-bs-theme=dark] #main-content .table-light {
  --bs-table-color: #e9ecef;
  --bs-table-bg: var(--bs-tertiary-bg, #2a3042);
  --bs-table-border-color: var(--bs-border-color, #3b4253);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
  --bs-table-striped-color: #e9ecef;
  --bs-table-hover-bg: rgba(255, 255, 255, 0.06);
  --bs-table-hover-color: #e9ecef;
  --bs-table-active-bg: rgba(255, 255, 255, 0.08);
  --bs-table-active-color: #e9ecef;
  color: #e9ecef !important;
  background-color: var(--bs-tertiary-bg, #2a3042) !important;
  border-color: var(--bs-border-color, #3b4253) !important;
}
[data-bs-theme=dark] #main-content .table > thead.table-light > tr > th,
[data-bs-theme=dark] #main-content thead.table-light > tr > th,
[data-bs-theme=dark] #main-content .table-light th,
[data-bs-theme=dark] #main-content .table thead th,
body[data-bs-theme=dark] #main-content .table > thead.table-light > tr > th,
body[data-bs-theme=dark] #main-content thead.table-light > tr > th,
body[data-bs-theme=dark] #main-content .table-light th,
body[data-bs-theme=dark] #main-content .table thead th {
  --bs-table-bg: var(--bs-tertiary-bg, #2a3042);
  --bs-table-color: #e9ecef;
  --bs-table-bg-type: transparent;
  --bs-table-bg-state: transparent;
  color: #e9ecef !important;
  background-color: var(--bs-tertiary-bg, #2a3042) !important;
  border-color: var(--bs-border-color, #3b4253) !important;
}
[data-bs-theme=dark] #main-content .sortable-header,
body[data-bs-theme=dark] #main-content .sortable-header {
  color: #e9ecef !important;
}
[data-bs-theme=dark] #main-content .sortable-header:hover,
[data-bs-theme=dark] #main-content .sortable-header.asc,
[data-bs-theme=dark] #main-content .sortable-header.desc,
body[data-bs-theme=dark] #main-content .sortable-header:hover,
body[data-bs-theme=dark] #main-content .sortable-header.asc,
body[data-bs-theme=dark] #main-content .sortable-header.desc {
  color: #7ec4e0 !important;
  background-color: rgba(45, 123, 160, 0.22) !important;
}
[data-bs-theme=dark] #main-content .sortable-header::after,
body[data-bs-theme=dark] #main-content .sortable-header::after {
  color: #adb5bd;
}
[data-bs-theme=dark] #main-content .table,
[data-bs-theme=dark] #main-content .table > :not(caption) > * > *,
body[data-bs-theme=dark] #main-content .table,
body[data-bs-theme=dark] #main-content .table > :not(caption) > * > * {
  border-color: var(--bs-border-color, #3b4253);
}

/* Badges de filtros ativos e paginação */
[data-bs-theme=dark] #main-content .filter-badge,
body[data-bs-theme=dark] #main-content .filter-badge {
  color: #eef7fb !important;
}
[data-bs-theme=dark] #main-content .pagination .page-link,
body[data-bs-theme=dark] #main-content .pagination .page-link {
  color: #d6e8f2 !important;
  background-color: var(--bs-tertiary-bg, #2b3244);
  border-color: var(--bs-border-color, #495057);
}
[data-bs-theme=dark] #main-content .pagination .page-item.active .page-link,
body[data-bs-theme=dark] #main-content .pagination .page-item.active .page-link {
  color: #fff !important;
  background-color: var(--bs-primary, #2d7ba0);
  border-color: var(--bs-primary, #2d7ba0);
}
[data-bs-theme=dark] #main-content #resultados-info,
[data-bs-theme=dark] #main-content .resultados-info,
[data-bs-theme=dark] #main-content [id*="exibindo"],
[data-bs-theme=dark] #main-content .text-body-secondary,
body[data-bs-theme=dark] #main-content .text-body-secondary {
  color: #cfd6dd !important;
}

/* Tom-Select / Select2 (pesquisas, cadastros e modais) */
[data-bs-theme=dark] .ts-control,
[data-bs-theme=dark] .ts-wrapper .ts-control,
body[data-bs-theme=dark] .ts-control,
body[data-bs-theme=dark] .ts-wrapper .ts-control {
  background-color: var(--bs-input-bg, #21253e) !important;
  color: #eef2f6 !important;
  border-color: #8b95a3 !important;
}
[data-bs-theme=dark] .ts-control input,
body[data-bs-theme=dark] .ts-control input {
  color: #eef2f6 !important;
}
[data-bs-theme=dark] .ts-wrapper.multi .ts-control > div,
[data-bs-theme=dark] .ts-wrapper.multi .ts-control > .item,
[data-bs-theme=dark] .ts-control .item,
body[data-bs-theme=dark] .ts-wrapper.multi .ts-control > div,
body[data-bs-theme=dark] .ts-wrapper.multi .ts-control > .item,
body[data-bs-theme=dark] .ts-control .item {
  background: #3a4258 !important;
  color: #eef2f6 !important;
  border-color: #8b95a3 !important;
}
[data-bs-theme=dark] .ts-wrapper.multi .ts-control > div.active,
[data-bs-theme=dark] .ts-wrapper.multi .ts-control > .item.active,
body[data-bs-theme=dark] .ts-wrapper.multi .ts-control > div.active,
body[data-bs-theme=dark] .ts-wrapper.multi .ts-control > .item.active {
  background: var(--bs-primary, #2d7ba0) !important;
  color: #fff !important;
}
[data-bs-theme=dark] .ts-wrapper.plugin-remove_button .item .remove,
body[data-bs-theme=dark] .ts-wrapper.plugin-remove_button .item .remove {
  color: #e2e6ea !important;
  border-left-color: #8b95a3 !important;
}
[data-bs-theme=dark] .ts-dropdown,
body[data-bs-theme=dark] .ts-dropdown {
  background-color: #2b3244 !important;
  color: #eef2f6 !important;
  border-color: #8b95a3 !important;
}
[data-bs-theme=dark] .ts-dropdown .option,
body[data-bs-theme=dark] .ts-dropdown .option {
  color: #eef2f6 !important;
}
[data-bs-theme=dark] .ts-dropdown .option.active,
[data-bs-theme=dark] .ts-dropdown .option:hover,
body[data-bs-theme=dark] .ts-dropdown .option.active {
  background-color: rgba(45, 123, 160, 0.35) !important;
  color: #fff !important;
}

/* Nav tabs das pesquisas (Resultados / Resumos) */
[data-bs-theme=dark] #main-content .nav-tabs .nav-link,
body[data-bs-theme=dark] #main-content .nav-tabs .nav-link {
  color: #cfd6dd !important;
}
[data-bs-theme=dark] #main-content .nav-tabs .nav-link.active,
body[data-bs-theme=dark] #main-content .nav-tabs .nav-link.active {
  color: #fff !important;
  background-color: var(--bs-tertiary-bg, #2b3244) !important;
  border-color: var(--bs-border-color) var(--bs-border-color) transparent !important;
}

/* Estilos inline das pesquisas (card-norma / text-secondary forçado) */
[data-bs-theme=dark] #main-content .card-body .text-secondary,
[data-bs-theme=dark] #main-content .card-norma .text-secondary,
[data-bs-theme=dark] #main-content .card-body strong.text-uppercase,
body[data-bs-theme=dark] #main-content .card-body .text-secondary {
  color: #cfd6dd !important;
}
[data-bs-theme=dark] #main-content .card-body .text-break,
body[data-bs-theme=dark] #main-content .card-body .text-break {
  color: #e9ecef !important;
}
[data-bs-theme=dark] #main-content .card-section-detalhes,
[data-bs-theme=dark] #main-content .card-section-status,
body[data-bs-theme=dark] #main-content .card-section-detalhes {
  background-color: rgba(45, 123, 160, 0.15) !important;
  border-left-color: #7ec4e0 !important;
}
[data-bs-theme=dark] #main-content .card-norma .card-header,
body[data-bs-theme=dark] #main-content .card-norma .card-header {
  background-color: rgba(45, 123, 160, 0.22) !important;
  border-bottom-color: rgba(126, 196, 224, 0.35) !important;
  color: #eef2f6 !important;
}

/* Trumbowyg: SVG oficial é fill #222 — ilegível no dark. Espelha .trumbowyg-dark. */
html[data-bs-theme="dark"] .trumbowyg-box,
html[data-bs-theme="dark"] .trumbowyg-editor-box,
body[data-bs-theme="dark"] .trumbowyg-box,
body[data-bs-theme="dark"] .trumbowyg-editor-box {
  border-color: #8b95a3 !important;
  background: var(--bs-input-bg, #21253e);
}
html[data-bs-theme="dark"] .trumbowyg-box svg,
html[data-bs-theme="dark"] .trumbowyg-modal svg,
html[data-bs-theme="dark"] .trumbowyg-dropdown svg,
body[data-bs-theme="dark"] .trumbowyg-box svg,
body[data-bs-theme="dark"] .trumbowyg-modal svg,
body[data-bs-theme="dark"] .trumbowyg-dropdown svg {
  fill: #e2e6ea !important;
  color: #e2e6ea !important;
}
html[data-bs-theme="dark"] .trumbowyg-button-pane,
body[data-bs-theme="dark"] .trumbowyg-button-pane {
  background-color: #2b3244 !important;
  border-bottom-color: #8b95a3 !important;
}
html[data-bs-theme="dark"] .trumbowyg-button-pane::after,
html[data-bs-theme="dark"] .trumbowyg-button-pane::before,
html[data-bs-theme="dark"] .trumbowyg-button-pane .trumbowyg-button-group::after,
body[data-bs-theme="dark"] .trumbowyg-button-pane::after,
body[data-bs-theme="dark"] .trumbowyg-button-pane::before,
body[data-bs-theme="dark"] .trumbowyg-button-pane .trumbowyg-button-group::after {
  background: #8b95a3 !important;
}
html[data-bs-theme="dark"] .trumbowyg-button-pane button.trumbowyg-active,
html[data-bs-theme="dark"] .trumbowyg-button-pane button:not(.trumbowyg-disable):hover,
html[data-bs-theme="dark"] .trumbowyg-button-pane button:not(.trumbowyg-disable):focus,
body[data-bs-theme="dark"] .trumbowyg-button-pane button.trumbowyg-active,
body[data-bs-theme="dark"] .trumbowyg-button-pane button:not(.trumbowyg-disable):hover,
body[data-bs-theme="dark"] .trumbowyg-button-pane button:not(.trumbowyg-disable):focus {
  background-color: rgba(126, 196, 224, 0.22) !important;
}
html[data-bs-theme="dark"] .trumbowyg-button-pane .trumbowyg-open-dropdown::after,
body[data-bs-theme="dark"] .trumbowyg-button-pane .trumbowyg-open-dropdown::after {
  border-top-color: #e2e6ea !important;
}
html[data-bs-theme="dark"] .trumbowyg-editor,
html[data-bs-theme="dark"] .trumbowyg-editor-box,
html[data-bs-theme="dark"] .trumbowyg-textarea,
body[data-bs-theme="dark"] .trumbowyg-editor,
body[data-bs-theme="dark"] .trumbowyg-editor-box,
body[data-bs-theme="dark"] .trumbowyg-textarea {
  background-color: var(--bs-input-bg, #21253e) !important;
  color: #eef2f6 !important;
}
html[data-bs-theme="dark"] .trumbowyg-editor.trumbowyg-reset-css,
body[data-bs-theme="dark"] .trumbowyg-editor.trumbowyg-reset-css {
  background-color: var(--bs-input-bg, #21253e) !important;
  color: #eef2f6 !important;
}
html[data-bs-theme="dark"] .trumbowyg-dropdown,
body[data-bs-theme="dark"] .trumbowyg-dropdown {
  background: #2b3244 !important;
  border-color: #8b95a3 !important;
  color: #eef2f6 !important;
}
html[data-bs-theme="dark"] .trumbowyg-dropdown button,
body[data-bs-theme="dark"] .trumbowyg-dropdown button {
  background: #2b3244 !important;
  color: #eef2f6 !important;
}
html[data-bs-theme="dark"] .trumbowyg-dropdown button:hover,
html[data-bs-theme="dark"] .trumbowyg-dropdown button:focus,
body[data-bs-theme="dark"] .trumbowyg-dropdown button:hover {
  background: rgba(126, 196, 224, 0.22) !important;
}
html[data-bs-theme="dark"] .trumbowyg-modal-box,
body[data-bs-theme="dark"] .trumbowyg-modal-box {
  background-color: #2b3244 !important;
  color: #eef2f6 !important;
}
html[data-bs-theme="dark"] .trumbowyg-modal-box .trumbowyg-modal-title,
body[data-bs-theme="dark"] .trumbowyg-modal-box .trumbowyg-modal-title {
  background: #222736 !important;
  border-bottom-color: #8b95a3 !important;
  color: #eef2f6 !important;
}
html[data-bs-theme="dark"] .trumbowyg-modal-box input,
html[data-bs-theme="dark"] .trumbowyg-modal-box select,
html[data-bs-theme="dark"] .trumbowyg-modal-box textarea,
body[data-bs-theme="dark"] .trumbowyg-modal-box input,
body[data-bs-theme="dark"] .trumbowyg-modal-box select,
body[data-bs-theme="dark"] .trumbowyg-modal-box textarea {
  background: var(--bs-input-bg, #21253e) !important;
  color: #eef2f6 !important;
  border-color: #8b95a3 !important;
}
html[data-bs-theme="dark"] .trumbowyg-overlay,
body[data-bs-theme="dark"] .trumbowyg-overlay {
  background-color: rgba(15, 17, 29, 0.65) !important;
}

/* ==========================================================================
   Disclosure <details>/<summary> — marcador alinhado ao conteúdo
   Uso: class="sagl-details" no <details>. O ▶ nativo (list-style outside)
   fica fora do padding e desalinha do texto/cards acima; o helper esconde
   o marcador e desenha um chevron dentro da linha do summary.
   ========================================================================== */
.sagl-details > summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  padding-left: 0;
  margin-left: 0;
  user-select: none;
}
.sagl-details > summary::-webkit-details-marker,
.sagl-details > summary::marker {
  display: none;
  content: none;
}
.sagl-details > summary::before {
  content: "\25B8"; /* ▸ */
  flex: 0 0 auto;
  width: 0.85rem;
  text-align: center;
  font-size: 0.85em;
  line-height: 1;
  color: inherit;
  opacity: 0.9;
  transition: transform 0.15s ease;
  transform-origin: 45% 55%;
}
.sagl-details[open] > summary::before {
  transform: rotate(90deg);
}
.sagl-details > summary:focus-visible {
  outline: 2px solid var(--bs-primary, #0d6efd);
  outline-offset: 2px;
  border-radius: 0.15rem;
}
