.snps-inline-select {
  width: auto;
  display: inline-block;
}

/* Navbar fixa nas telas públicas anônimas (layouts/base-fullscreen.html). */
.layout-publica-anonima .page-header,
.layout-publica-anonima > section:not(:has(.page-header)),
.layout-publica-anonima > .container {
  padding-top: 6rem;
}

/* Navbar absoluta nas telas autenticadas (layouts/base-presentation.html). */
.layout-presentation-main {
  padding-top: 6rem;
}

/* Admonitions do manual (MkDocs Material: note / warning / tip / danger). */
.manual-article .admonition {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  border-left: 4px solid #5e72e4;
  background: #f6f9fc;
}
.manual-article .admonition-title {
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.manual-article .admonition.note {
  border-left-color: #11cdef;
}
.manual-article .admonition.warning {
  border-left-color: #fb6340;
  background: #fff5f0;
}
.manual-article .admonition.tip {
  border-left-color: #2dce89;
}
.manual-article .admonition.danger {
  border-left-color: #f5365c;
  background: #fff0f3;
}

body.impersonacao-ativa {
  --olimpo-nav-offset: 11rem;
  box-shadow: inset 0 0 0 4px rgba(251, 99, 64, 0.45);
}

/* Menu dropdown: altura adaptável (override do cap fixo de 250px do tema em mobile). */
@media (max-width: 991.98px) {
  .layout-presentation .dropdown.nav-item .dropdown-menu-animation.show {
    height: auto !important;
    max-height: calc(100dvh - var(--olimpo-nav-offset, 7rem));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (min-width: 992px) {
  .layout-presentation .navbar .dropdown-menu.dropdown-menu-animation {
    max-height: calc(100dvh - var(--olimpo-nav-offset, 7rem));
    overflow-y: auto;
  }
}

.nav-menu-section {
  border-top: 1px solid #e9ecef;
}

.nav-menu-section:first-of-type {
  border-top: 0;
  margin-top: 0.25rem;
}

.nav-menu-section__toggle {
  font-weight: 600;
  color: #344767;
  background: transparent;
  border: 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
  padding: 0.5rem 0.75rem;
  margin: 0;
}

.nav-menu-section__toggle:hover,
.nav-menu-section__toggle:focus {
  background-color: #f8f9fa;
  color: #344767;
}

.nav-menu-section__chevron {
  font-size: 0.65rem;
  transition: transform 0.2s ease;
}

.nav-menu-section__toggle[aria-expanded="true"] .nav-menu-section__chevron {
  transform: rotate(180deg);
}

.nav-menu-section__links .dropdown-item {
  padding-left: 1.5rem;
  font-size: 0.875rem;
}

.nav-menu-section__links .dropdown-item.text-muted {
  font-size: 0.8125rem;
  cursor: default;
}
.impersonacao-banner {
  position: sticky;
  top: 0;
  z-index: 1080;
  padding: 0.75rem 0 0;
}
.impersonacao-banner .alert-light {
  margin-bottom: 0;
  color: #344767;
  background: #f8f9fa;
  background-image: none;
  border: 1px solid #e9ecef;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
}
.impersonacao-banner .alert-light .alert-icon,
.impersonacao-banner .alert-light .alert-text {
  color: #344767;
}
.impersonacao-banner .alert-light .btn-white {
  color: #344767;
  background: #fff;
  border: 1px solid #ced4da;
}
.impersonacao-banner .alert-light .btn-white:hover {
  color: #fff;
  background: #344767;
  border-color: #344767;
}
.impersonacao-banner .badge.impersonacao-timer {
  font-variant-numeric: tabular-nums;
  min-width: 4.5rem;
  padding: 0.35rem 0.6rem;
  color: #344767;
  background: #fff;
  border: 1px solid #ced4da;
}
.layout-presentation.impersonacao-ativa .layout-presentation-main {
  padding-top: 10.5rem;
}

/* Mostrar/ocultar senha (olimpo-forms.js): ícone dentro do campo, mesma largura dos demais. */
.olimpo-password-toggle {
  position: relative;
  display: block;
  width: 100%;
}
.olimpo-password-toggle > .form-control,
.olimpo-password-toggle > input {
  width: 100%;
  padding-right: 2.75rem;
}
.olimpo-password-toggle__btn {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0 0.5rem 0.5rem 0;
  color: #8392ab;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
}
.olimpo-password-toggle__btn:hover,
.olimpo-password-toggle__btn:focus {
  color: #344767;
  background: transparent;
  outline: 0;
  box-shadow: none;
}
.olimpo-password-toggle__btn:focus-visible {
  color: #344767;
  outline: 2px solid #e9aede;
  outline-offset: -2px;
}
