

.innova-main-dropdown,
.innova-subnav-dropdown {
  padding: 5px !important;
}

.innova-main-dropdown .dropdown-item > a,
.innova-subnav-dropdown .dropdown-item > a {
  padding: 7px 10px !important;
  line-height: 1.25 !important;
}

.innova-main-dropdown .dropdown-item,
.innova-subnav-dropdown .dropdown-item {
  margin: 1px 0 !important;
  min-height: 0 !important;
}

.innova-main-dropdown .dropdown-item:hover > a,
.innova-subnav-dropdown .dropdown-item:hover > a {
  padding-left: 12px !important;
}







/* =========================================================
   INNOVA-UI-GLOBAL-V2
   Premium Institutional 3D Layer
   ========================================================= */


/* =========================================================
   TOKENS PREMIUM
   ========================================================= */

:root {
  --iv2-navy-950: #0D2B47;
  --iv2-navy-900: #123654;
  --iv2-navy-800: #163A5F;

  --iv2-blue-700: #246397;
  --iv2-blue-600: #2F6FA5;
  --iv2-blue-500: #4288BE;

  --iv2-cyan: #71B7E6;

  --iv2-bg: #F3F7FB;
  --iv2-white: #FFFFFF;

  --iv2-glass:
    rgba(255,255,255,.76);

  --iv2-glass-strong:
    rgba(255,255,255,.91);

  --iv2-border:
    rgba(47,111,165,.13);

  --iv2-border-strong:
    rgba(47,111,165,.22);

  --iv2-shadow-1:
    0 6px 18px rgba(22,58,95,.05);

  --iv2-shadow-2:
    0 14px 34px rgba(22,58,95,.08);

  --iv2-shadow-3:
    0 24px 56px rgba(22,58,95,.12);

  --iv2-shadow-4:
    0 34px 80px rgba(22,58,95,.16);

  --iv2-inner:
    inset 0 1px 0 rgba(255,255,255,.95);

  --iv2-radius:
    14px;

  --iv2-radius-lg:
    20px;

  --iv2-radius-xl:
    26px;
}


/* =========================================================
   FUNDO GLOBAL PREMIUM
   ========================================================= */

html {
  background: #EEF4F9;
}

body {
  position: relative;

  background:
    radial-gradient(
      circle at 8% 9%,
      rgba(82,154,207,.07),
      transparent 25%
    ),
    radial-gradient(
      circle at 90% 15%,
      rgba(47,111,165,.08),
      transparent 27%
    ),
    radial-gradient(
      circle at 48% 100%,
      rgba(22,58,95,.035),
      transparent 35%
    ),
    linear-gradient(
      180deg,
      #F5F8FC 0%,
      #F2F6FA 100%
    ) !important;

  background-attachment: fixed;
}

body::before {
  content: "";

  position: fixed;
  z-index: -1;

  top: 190px;
  right: -140px;

  width: 460px;
  height: 460px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(47,111,165,.075),
      transparent 66%
    );

  pointer-events: none;
}

body::after {
  content: "";

  position: fixed;
  z-index: -1;

  left: -200px;
  bottom: -220px;

  width: 540px;
  height: 540px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(113,183,230,.06),
      transparent 70%
    );

  pointer-events: none;
}


/* =========================================================
   NAVBAR GLOBAL
   ========================================================= */

.navbar.bg-dark {
  position: relative;

  background:
    linear-gradient(
      90deg,
      #123654 0%,
      #163F66 48%,
      #123654 100%
    ) !important;

  border-bottom:
    1px solid rgba(255,255,255,.07);

  box-shadow:
    0 10px 30px rgba(13,43,71,.16) !important;
}

.navbar.bg-dark::after {
  content: "";

  position: absolute;
  pointer-events: none;

  left: 0;
  right: 0;
  bottom: 0;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(113,183,230,.42),
      transparent
    );
}

.navbar .nav-link {
  position: relative;

  border-radius: 8px;

  transition:
    background .17s ease,
    color .17s ease,
    transform .17s ease;
}

.navbar-dark .navbar-nav .nav-link:hover {
  background:
    rgba(255,255,255,.065);

  transform:
    translateY(-1px);
}

.navbar-dark .navbar-nav
.nav-item.active > .nav-link,
.navbar-dark .navbar-nav
.nav-link.active {
  background:
    rgba(255,255,255,.09);

  box-shadow:
    inset 0 -2px 0 #75B8E3;
}


/* =========================================================
   CABEÇALHO DA CÂMARA
   ========================================================= */

.masthead {
  position: relative;

  background:
    rgba(255,255,255,.88) !important;

  backdrop-filter:
    blur(16px);

  border-bottom:
    1px solid rgba(47,111,165,.10) !important;

  box-shadow:
    0 10px 28px rgba(22,58,95,.045) !important;
}

.masthead::after {
  content: "";

  position: absolute;
  pointer-events: none;

  left: 18%;
  right: 18%;
  bottom: -1px;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(47,111,165,.16),
      transparent
    );
}

.masthead .navbar-brand img {
  filter:
    drop-shadow(
      0 7px 10px rgba(22,58,95,.10)
    );

  transition:
    transform .22s ease;
}

.masthead .navbar-brand:hover img {
  transform:
    translateY(-2px)
    scale(1.02);
}


/* =========================================================
   CONTEÚDO / PALCO
   ========================================================= */

#content {
  position: relative;

  padding-top: 36px;
  padding-bottom: 64px;
}

#content > .container,
#content > .container-fluid {
  position: relative;
}

#content > .container::before,
#content > .container-fluid::before {
  content: "";

  position: absolute;
  z-index: -1;

  top: -25px;
  right: 1%;

  width: 180px;
  height: 180px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(47,111,165,.035),
      transparent 70%
    );
}


/* =========================================================
   TÍTULOS MAIS MARCANTES
   ========================================================= */

#content h1 {
  position: relative;

  display: inline-block;

  margin-bottom: 25px;

  font-size:
    clamp(1.55rem, 2.1vw, 2.15rem);

  line-height: 1.12;

  font-weight: 800;

  text-shadow:
    0 1px 0 rgba(255,255,255,.75);
}

#content h1::after {
  content: "";

  display: block;

  width: 44px;
  height: 3px;

  margin-top: 10px;

  border-radius: 99px;

  background:
    linear-gradient(
      90deg,
      var(--iv2-blue-600),
      var(--iv2-cyan)
    );

  box-shadow:
    0 4px 10px rgba(47,111,165,.16);
}


/* =========================================================
   SUPERFÍCIES 3D
   ========================================================= */

#content .card,
#content .panel,
#content .well,
#content .jumbotron,
#content .container-detail,
#content .container-table {
  position: relative;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.98),
      rgba(247,250,253,.93)
    ) !important;

  border:
    1px solid var(--iv2-border) !important;

  box-shadow:
    var(--iv2-shadow-2),
    var(--iv2-inner) !important;
}

#content .card::before,
#content .panel::before,
#content .container-detail::before,
#content .container-table::before {
  content: "";

  position: absolute;
  pointer-events: none;

  top: 0;
  left: 18px;
  right: 18px;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.95),
      transparent
    );
}


/* =========================================================
   CARDS COM ELEVAÇÃO
   ========================================================= */

#content .card {
  overflow: hidden;

  transition:
    transform .20s ease,
    box-shadow .20s ease,
    border-color .20s ease;
}

#content .card:hover {
  transform:
    translateY(-3px);

  border-color:
    rgba(47,111,165,.20) !important;

  box-shadow:
    var(--iv2-shadow-3),
    var(--iv2-inner) !important;
}


/* =========================================================
   BOTÕES PREMIUM
   ========================================================= */

#content .btn {
  position: relative;

  overflow: hidden;

  min-height: 40px;

  border-radius: 10px !important;

  box-shadow:
    0 4px 12px rgba(22,58,95,.055);

  transform:
    translateZ(0);

  transition:
    transform .17s ease,
    box-shadow .17s ease,
    background .17s ease,
    border-color .17s ease;
}

#content .btn::before {
  content: "";

  position: absolute;
  pointer-events: none;

  top: 0;
  left: -120%;

  width: 80%;
  height: 100%;

  background:
    linear-gradient(
      100deg,
      transparent,
      rgba(255,255,255,.23),
      transparent
    );

  transform:
    skewX(-20deg);

  transition:
    left .38s ease;
}

#content .btn:hover::before {
  left: 150%;
}

#content .btn:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 10px 22px rgba(22,58,95,.11);
}

#content .btn-primary,
#content .btn-success {
  background:
    linear-gradient(
      145deg,
      #347CB5,
      #245F91 52%,
      #163A5F
    ) !important;

  border-color:
    rgba(255,255,255,.08) !important;

  box-shadow:
    0 10px 22px rgba(22,58,95,.19),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}

#content .btn-outline-primary {
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.96),
      rgba(239,246,251,.92)
    ) !important;

  border:
    1px solid rgba(47,111,165,.29) !important;

  box-shadow:
    0 5px 15px rgba(22,58,95,.055),
    inset 0 1px 0 #fff;
}

#content .btn-outline-primary:hover {
  background:
    linear-gradient(
      145deg,
      #347CB5,
      #245F91
    ) !important;

  color: #fff !important;
}


/* =========================================================
   TOOLBARS / CONTEXT ACTIONS
   ========================================================= */

#content .context-actions {
  position: relative;

  padding: 11px;

  background:
    rgba(255,255,255,.55);

  backdrop-filter:
    blur(10px);

  border:
    1px solid rgba(47,111,165,.08);

  border-radius:
    14px;

  box-shadow:
    0 8px 24px rgba(22,58,95,.04);
}


/* =========================================================
   FORMULÁRIOS COMO PRODUTO MODERNO
   ========================================================= */

#content form .form-group {
  position: relative;
}

#content .form-control,
#content select,
#content textarea,
#content input[type="text"],
#content input[type="email"],
#content input[type="password"],
#content input[type="number"],
#content input[type="date"],
#content input[type="datetime-local"],
#content input[type="search"] {
  min-height: 44px;

  padding-left: 13px;

  background:
    linear-gradient(
      180deg,
      #FFFFFF,
      #FBFCFE
    );

  border:
    1px solid rgba(73,112,144,.23);

  border-radius:
    10px;

  box-shadow:
    inset 0 1px 2px rgba(22,58,95,.035),
    0 3px 10px rgba(22,58,95,.025);

  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

#content .form-control:hover,
#content select:hover,
#content textarea:hover,
#content input:hover {
  border-color:
    rgba(47,111,165,.37);
}

#content .form-control:focus,
#content select:focus,
#content textarea:focus,
#content input:focus {
  transform:
    translateY(-1px);

  border-color:
    #2F6FA5;

  box-shadow:
    0 0 0 4px rgba(47,111,165,.09),
    0 8px 18px rgba(22,58,95,.06);
}

#content label,
#content .control-label {
  color:
    #40576C;

  font-size:
    .76rem;

  font-weight:
    750;

  letter-spacing:
    .005em;
}

#content fieldset {
  position: relative;

  padding:
    24px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.92),
      rgba(247,250,253,.84)
    ) !important;

  backdrop-filter:
    blur(9px);

  border:
    1px solid var(--iv2-border) !important;

  border-radius:
    18px !important;

  box-shadow:
    var(--iv2-shadow-1),
    var(--iv2-inner);
}


/* =========================================================
   CRISPY / FORM ACTIONS
   ========================================================= */

#content .form-actions,
#content .buttonHolder {
  display: flex;

  align-items: center;
  justify-content: flex-end;

  gap: 9px;

  margin-top: 22px;
  padding-top: 18px;

  border-top:
    1px solid rgba(47,111,165,.09);
}


/* =========================================================
   TABELAS PREMIUM
   ========================================================= */

#content .container-table {
  overflow:
    hidden;

  border-radius:
    17px !important;
}

#content .container-table .result-count {
  padding:
    15px 18px;

  background:
    linear-gradient(
      90deg,
      #F8FAFC,
      #F3F8FC
    );

  border-bottom:
    1px solid rgba(47,111,165,.09);
}

#content .table thead {
  position: relative;
}

#content .table thead th {
  height: 48px;

  background:
    linear-gradient(
      180deg,
      #F7FAFD,
      #F1F6FA
    ) !important;

  border-bottom:
    1px solid rgba(47,111,165,.12) !important;

  white-space:
    nowrap;
}

#content .table tbody tr {
  position: relative;

  transition:
    background .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

#content .table-hover tbody tr:hover {
  position: relative;
  z-index: 1;

  background:
    linear-gradient(
      90deg,
      rgba(235,245,252,.78),
      rgba(244,249,253,.94)
    ) !important;

  box-shadow:
    inset 3px 0 0 #2F6FA5;
}

#content .table tbody td {
  transition:
    color .15s ease;
}

#content .table tbody tr:hover td {
  color:
    #193D5F;
}


/* =========================================================
   DETALHES CRUD MAIS SOFISTICADOS
   ========================================================= */

#content .container-detail {
  padding:
    27px;

  border-radius:
    20px !important;
}

#content .container-detail .form-group {
  position: relative;

  padding:
    15px 16px;

  background:
    linear-gradient(
      145deg,
      rgba(250,252,254,.94),
      rgba(245,249,252,.82)
    );

  border:
    1px solid rgba(47,111,165,.08);

  border-radius:
    11px;

  transition:
    transform .17s ease,
    box-shadow .17s ease,
    border-color .17s ease;
}

#content .container-detail .form-group:hover {
  transform:
    translateY(-2px);

  border-color:
    rgba(47,111,165,.15);

  box-shadow:
    0 9px 20px rgba(22,58,95,.055);
}

#content .container-detail
.control-label {
  color:
    #6D8295;

  font-size:
    .67rem;

  letter-spacing:
    .06em;
}

#content .form-control-static {
  color:
    #173C5E;

  font-weight:
    600;
}


/* =========================================================
   ABAS
   ========================================================= */

#content .nav-tabs {
  padding:
    6px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.92),
      rgba(243,248,252,.88)
    ) !important;

  backdrop-filter:
    blur(10px);

  border:
    1px solid rgba(47,111,165,.11) !important;

  border-radius:
    13px !important;

  box-shadow:
    0 8px 22px rgba(22,58,95,.045);
}

#content .nav-tabs .nav-link {
  position: relative;

  padding:
    9px 13px;

  transition:
    all .17s ease;
}

#content .nav-tabs .nav-link:hover {
  transform:
    translateY(-1px);
}

#content .nav-tabs .nav-link.active {
  background:
    linear-gradient(
      145deg,
      #347CB5,
      #245F91,
      #163A5F
    ) !important;

  box-shadow:
    0 8px 18px rgba(22,58,95,.17),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}


/* =========================================================
   ALERTAS COM MAIS PERSONALIDADE
   ========================================================= */

#content .alert {
  position: relative;

  overflow: hidden;

  border-radius:
    13px !important;
}

#content .alert::before {
  content: "";

  position: absolute;

  left: 0;
  top: 0;
  bottom: 0;

  width: 4px;

  background:
    currentColor;

  opacity:
    .58;
}


/* =========================================================
   PAGINAÇÃO 3D LEVE
   ========================================================= */

#content .page-link {
  box-shadow:
    0 5px 13px rgba(22,58,95,.055),
    inset 0 1px 0 #fff;

  transition:
    transform .16s ease,
    box-shadow .16s ease,
    background .16s ease;
}

#content .page-link:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 9px 18px rgba(22,58,95,.09);
}


/* =========================================================
   MODAIS PREMIUM
   ========================================================= */

.modal-backdrop.show {
  opacity:
    .36;
}

.modal-content {
  background:
    linear-gradient(
      155deg,
      #FFFFFF,
      #F7FAFC
    ) !important;

  border:
    1px solid rgba(47,111,165,.14) !important;

  border-radius:
    20px !important;

  box-shadow:
    0 38px 95px rgba(13,43,71,.24) !important;
}

.modal-header {
  position: relative;

  background:
    linear-gradient(
      90deg,
      #F8FBFD,
      #F2F7FB
    ) !important;
}

.modal-header::after {
  content: "";

  position: absolute;

  left: 20px;
  right: 20px;
  bottom: -1px;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(47,111,165,.16),
      transparent
    );
}


/* =========================================================
   DROPDOWNS
   ========================================================= */

.dropdown-menu {
  background:
    rgba(255,255,255,.96) !important;

  backdrop-filter:
    blur(18px);

  border:
    1px solid rgba(47,111,165,.13) !important;

  border-radius:
    12px !important;

  box-shadow:
    0 22px 55px rgba(13,43,71,.16) !important;
}

.dropdown-item {
  transition:
    background .14s ease,
    transform .14s ease,
    color .14s ease;
}

.dropdown-item:hover {
  transform:
    translateX(2px);
}


/* =========================================================
   CONFIRMAÇÃO DE EXCLUSÃO
   ========================================================= */

#content .panel-danger {
  transform:
    translateZ(0);

  background:
    linear-gradient(
      145deg,
      #FFFFFF,
      #FFF8F8
    ) !important;

  border-radius:
    20px !important;

  box-shadow:
    0 28px 64px rgba(134,49,58,.11) !important;
}

#content .panel-danger .panel-heading {
  position: relative;

  background:
    linear-gradient(
      90deg,
      #FFF5F6,
      #FFFAFA
    ) !important;
}


/* =========================================================
   CHECKBOX / RADIO
   ========================================================= */

#content input[type="checkbox"],
#content input[type="radio"] {
  accent-color:
    #2F6FA5;
}


/* =========================================================
   LIST GROUP
   ========================================================= */

#content .list-group {
  overflow:
    hidden;

  border-radius:
    14px !important;
}

#content .list-group-item {
  border-color:
    rgba(47,111,165,.08);

  transition:
    background .15s ease,
    padding-left .15s ease;
}

#content .list-group-item:hover {
  background:
    #F2F8FC;

  padding-left:
    1.35rem;
}


/* =========================================================
   BREADCRUMB
   ========================================================= */

#content .breadcrumb {
  backdrop-filter:
    blur(8px);

  background:
    rgba(255,255,255,.67) !important;

  box-shadow:
    0 5px 16px rgba(22,58,95,.035);
}


/* =========================================================
   EMPTY STATES GENÉRICOS
   ========================================================= */

#content .context-actions + p,
#content .container-table + p {
  position: relative;

  overflow: hidden;

  padding:
    24px 26px !important;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.98),
      rgba(243,249,253,.92)
    ) !important;

  border:
    1px solid rgba(47,111,165,.11) !important;

  border-radius:
    16px !important;

  box-shadow:
    var(--iv2-shadow-2) !important;
}


/* =========================================================
   SELECT2 PREMIUM
   ========================================================= */

#content .select2-container--default
.select2-selection--single {
  min-height:
    44px;

  background:
    linear-gradient(
      180deg,
      #fff,
      #FBFCFE
    );

  border:
    1px solid rgba(73,112,144,.23) !important;

  border-radius:
    10px !important;

  box-shadow:
    inset 0 1px 2px rgba(22,58,95,.025);
}

#content .select2-container--open
.select2-selection--single {
  border-color:
    #2F6FA5 !important;

  box-shadow:
    0 0 0 4px rgba(47,111,165,.09);
}


/* =========================================================
   SCROLLBAR DA INTERFACE
   ========================================================= */

html {
  scrollbar-width:
    thin;

  scrollbar-color:
    rgba(47,111,165,.32)
    #EEF4F8;
}

html::-webkit-scrollbar {
  width:
    9px;

  height:
    9px;
}

html::-webkit-scrollbar-track {
  background:
    #EEF4F8;
}

html::-webkit-scrollbar-thumb {
  background:
    linear-gradient(
      #6AA5D0,
      #2F6FA5
    );

  border:
    2px solid #EEF4F8;

  border-radius:
    20px;
}


/* =========================================================
   FOCUS ACESSÍVEL
   ========================================================= */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline:
    3px solid rgba(47,111,165,.28);

  outline-offset:
    2px;
}


/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 991.98px) {

  #content {
    padding-top:
      24px;
  }

  #content .context-actions {
    padding:
      9px;
  }

  #content .container-detail {
    padding:
      19px;
  }

}


@media (max-width: 575.98px) {

  #content h1 {
    font-size:
      1.55rem;
  }

  #content .btn {
    min-height:
      42px;
  }

  #content fieldset {
    padding:
      17px;
  }

  #content .container-table {
    border-radius:
      12px !important;
  }

  #content .container-detail {
    border-radius:
      14px !important;
  }

}


/* =========================================================
   MOTION
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {

  #content .card,
  #content .panel,
  #content .container-detail,
  #content .container-table {
    
  }

  

}


/* =========================================================
   INNOVA-BUTTON-CONTRAST-FIX-V1
   Corrige botões claros/invisíveis em áreas customizadas
   ========================================================= */

#content .context-actions .btn-outline-primary,
#content .actions .btn-outline-primary {
  color: #245F91 !important;

  background:
    linear-gradient(
      145deg,
      #FFFFFF,
      #EDF5FB
    ) !important;

  border:
    1px solid rgba(47,111,165,.34) !important;

  box-shadow:
    0 7px 18px rgba(22,58,95,.075),
    inset 0 1px 0 rgba(255,255,255,.98) !important;

  text-shadow: none !important;
}

#content .context-actions .btn-outline-primary:hover,
#content .actions .btn-outline-primary:hover {
  color: #FFFFFF !important;

  background:
    linear-gradient(
      145deg,
      #347CB5,
      #245F91,
      #163A5F
    ) !important;

  border-color:
    transparent !important;

  box-shadow:
    0 12px 26px rgba(22,58,95,.19) !important;
}

/*
 * Em botões de criação, reforça ainda mais a hierarquia.
 */
#content .context-actions .btn-outline-primary[href*="/create"],
#content .actions .btn-outline-primary[href*="/create"] {
  color: #FFFFFF !important;

  background:
    linear-gradient(
      145deg,
      #347CB5,
      #245F91 52%,
      #163A5F
    ) !important;

  border-color:
    transparent !important;

  box-shadow:
    0 10px 24px rgba(22,58,95,.18),
    inset 0 1px 0 rgba(255,255,255,.15) !important;
}

#content .context-actions .btn-outline-primary[href*="/create"]:hover,
#content .actions .btn-outline-primary[href*="/create"]:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 15px 30px rgba(22,58,95,.24) !important;
}



/* ==========================================================
   INNOVA-NAV-DROPDOWN-FIX-V1
   Corrige clique, empilhamento e sobreposição dos menus
   ========================================================== */

/* Cabeçalhos e navegação sempre acima do conteúdo */
header,
.navbar,
.navbar-container,
#navbar,
#subnav,
.subnav,
.navbar-collapse {
    position: relative;
    z-index: 5000 !important;
    overflow: visible !important;
}

/* Elementos de navegação */
.navbar-nav,
.navbar-nav .nav-item,
.navbar-nav .dropdown,
.navbar-nav .dropdown-toggle,
.navbar-nav .dropdown-menu,
.nav-item.dropdown,
.dropdown {
    position: relative;
    pointer-events: auto !important;
}

/* Dropdown propriamente dito */
.dropdown-menu {
    z-index: 99999 !important;

    pointer-events: auto !important;

    overflow: visible !important;

    isolation: isolate;

    box-shadow:
        0 24px 55px rgba(9, 37, 59, .18),
        0 8px 20px rgba(9, 37, 59, .10) !important;
}

/* Links precisam receber o clique */
.dropdown-menu a,
.dropdown-menu .dropdown-item,
.dropdown-menu button {
    position: relative;

    z-index: 100000 !important;

    pointer-events: auto !important;

    cursor: pointer !important;
}

/* Mantém submenu acima de cards e páginas */
.navbar .dropdown-menu,
.subnav .dropdown-menu,
#subnav .dropdown-menu {
    position: absolute !important;
}

/* Conteúdo nunca deve ficar acima da navegação */
#content,
.container-fluid,
.container,
.container-detail,
.container-table,
.context-actions,
.card,
.panel,
.innova-session-hero,
.innova-materia-detail,
.innova-materia-form {
    isolation: auto;
}

/* Camadas decorativas não podem bloquear mouse */
#content::before,
#content::after,
.page-header::before,
.page-header::after,
.card::before,
.card::after,
.container-detail::before,
.container-detail::after,
.innova-session-hero::before,
.innova-session-hero::after,
.innova-materia-detail::before,
.innova-materia-detail::after,
.innova-materia-form::before,
.innova-materia-form::after {
    pointer-events: none !important;
}

/* Barra de navegação de sessão */
#content .nav,
#content .nav-tabs,
#content .nav-pills {
    position: relative;
}

/* Porém dropdown da navegação ganha prioridade */
#content .nav .dropdown-menu,
#content .nav-tabs .dropdown-menu,
#content .nav-pills .dropdown-menu {
    z-index: 99999 !important;
    pointer-events: auto !important;
}


/* ----------------------------------------------------------
   SUBMENU DE SESSÃO
   ---------------------------------------------------------- */

.navbar + .container,
.navbar + .container-fluid {
    position: relative;
}

.navbar .nav-item.dropdown.show,
.navbar .nav-item.dropdown:hover {
    z-index: 99998 !important;
}

.navbar .dropdown-menu.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}


/* ----------------------------------------------------------
   VISUAL
   ---------------------------------------------------------- */

.navbar .dropdown-menu {
    min-width: 215px;

    padding: 8px;

    border:
        1px solid rgba(47, 111, 165, .12) !important;

    border-radius: 13px !important;

    background:
        rgba(255, 255, 255, .98) !important;

    backdrop-filter:
        blur(16px);

    -webkit-backdrop-filter:
        blur(16px);
}

.navbar .dropdown-item,
.navbar .dropdown-menu > li > a {
    display: block;

    width: 100%;

    margin: 1px 0;

    padding:
        9px 11px !important;

    color:
        #173A5E !important;

    font-weight:
        600;

    line-height:
        1.25;

    border-radius:
        8px;

    text-decoration:
        none !important;

    transition:
        background-color .15s ease,
        color .15s ease,
        transform .15s ease;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .dropdown-menu > li > a:hover,
.navbar .dropdown-menu > li > a:focus {
    color:
        #163A5F !important;

    background:
        #EDF6FC !important;

    transform:
        translateX(2px);
}


/* ----------------------------------------------------------
   GARANTE CLIQUE EM TODO O HEADER DA SESSÃO
   ---------------------------------------------------------- */

.navbar a,
.navbar button,
.navbar .nav-link,
.navbar .dropdown-toggle,
.navbar .dropdown-item {
    pointer-events: auto !important;
}


/* ----------------------------------------------------------
   RESPONSIVO
   ---------------------------------------------------------- */

@media (max-width: 991px) {

    .navbar-collapse {
        z-index: 99999 !important;
    }

    .navbar .dropdown-menu {
        position: static !important;

        width: 100%;

        margin-top: 4px;
    }

}



/* ==========================================================
   INNOVA-HEADER-LAYER-FIX-V2
   Dropdowns sempre acima do cabeçalho branco da Câmara
   ========================================================== */

/* Barra azul superior */
nav.navbar,
.navbar,
#navbar,
.navbar-container {
    position: relative !important;
    z-index: 20000 !important;
    overflow: visible !important;
}

/* Itens do menu */
.navbar-nav,
.navbar-nav > li,
.navbar-nav .nav-item,
.navbar-nav .dropdown {
    position: relative !important;
    z-index: 20001 !important;
    overflow: visible !important;
}

/* Dropdown aberto */
.navbar .dropdown-menu,
.navbar-nav .dropdown-menu,
.dropdown-menu.show {
    position: absolute !important;
    z-index: 30000 !important;

    visibility: visible !important;
    opacity: 1 !important;

    pointer-events: auto !important;
}

/* Cabeçalho branco institucional */
header:not(.navbar),
.masthead,
.site-header,
.innova-masthead,
.innova-header,
.header-institucional,
#header,
#masthead {
    position: relative !important;
    z-index: 100 !important;
}

/* Área branca logo/nome/configurar câmara */
body > .container-fluid,
body > .container,
#content-wrapper,
main {
    position: relative;
    z-index: 1;
}

/* Força qualquer submenu interno do topo a ficar sobre tudo */
.navbar .dropdown.show,
.navbar .show > .dropdown-menu {
    z-index: 30001 !important;
}

/* Links continuam clicáveis */
.navbar .dropdown-menu a,
.navbar .dropdown-item,
.navbar .dropdown-menu button {
    position: relative !important;
    z-index: 30002 !important;
    pointer-events: auto !important;
}


/* ==========================================================
   EVITA STACKING CONTEXT DESNECESSÁRIO NO HEADER BRANCO
   ========================================================== */

.innova-masthead,
.innova-header,
.site-header,
#masthead,
#header {
    transform: none !important;
    filter: none !important;
    isolation: auto !important;
}

/* Pseudo-elementos nunca bloqueiam dropdown */
.innova-masthead::before,
.innova-masthead::after,
.innova-header::before,
.innova-header::after,
.site-header::before,
.site-header::after,
#masthead::before,
#masthead::after,
#header::before,
#header::after {
    pointer-events: none !important;
}


/* ==========================================================
   SUBNAV / MENUS DE SESSÃO
   ========================================================== */

.subnav,
#subnav {
    position: relative !important;
    z-index: 15000 !important;
    overflow: visible !important;
}

.subnav .dropdown-menu,
#subnav .dropdown-menu {
    z-index: 30000 !important;
}




/* INNOVA-HEADER-LOGO-V2 */

/* Cabeçalho institucional maior */
.navbar-brand {
    display: flex !important;
    align-items: center !important;
    min-height: 138px !important;
    height: auto !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

/* Brasão */
.navbar-brand > img.img-responsive {
    width: 125px !important;
    height: 115px !important;
    max-width: 125px !important;
    max-height: 115px !important;
    object-fit: contain !important;
    flex: 0 0 125px !important;
    margin-right: 24px !important;
}

/* Nome da Câmara */
.navbar-brand .vcenter {
    display: inline-block !important;
    vertical-align: middle !important;
    font-size: 25px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

/* "Sistema de Apoio ao Processo Legislativo" */
.navbar-brand .vcenter small {
    display: inline-block !important;
    margin-top: 7px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    opacity: .65 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .navbar-brand {
        min-height: 90px !important;
    }

    .navbar-brand > img.img-responsive {
        width: 70px !important;
        height: 70px !important;
        flex-basis: 70px !important;
        margin-right: 14px !important;
    }

    .navbar-brand .vcenter {
        font-size: 19px !important;
    }

    .navbar-brand .vcenter small {
        font-size: 12px !important;
    }
}

/* FIM-INNOVA-HEADER-LOGO-V2 */

/* =========================================================
   INNOVA - CORRECAO FINAL DOS DROPDOWNS
   Impede menus auxiliares de permanecerem visiveis
   ========================================================= */

.dropdown-menu {
    display: none;
}

.dropdown-menu.show {
    display: block;
}

/* Navegacao principal */
.navbar .dropdown-menu {
    position: absolute !important;
}

/* Somente dropdown realmente aberto */
.navbar .dropdown-menu.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Dropdown fechado nunca deve permanecer sobre a pagina */
.navbar .dropdown-menu:not(.show) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Dropdowns internos */
#content .dropdown-menu:not(.show) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

#content .dropdown-menu.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
