/*
 * Menu lateral global e variações de /practicar.
 * A ordem das seções reproduz a ordem anterior da cascata no DOM.
 */

/* Origem na cascata: assets/css/main.css */
.nav_menu_princ.oculto-js {
            height: 0 !important;
            overflow: hidden !important;
            margin: 0 !important;
            padding: 0 !important;
            border: none !important;
            min-height: 0 !important;
            font-size: 1rem;
        }
        .nav_menu_princ {
            transition: all 0.6s ease;
        }


.estado-divs-ocultas .nav_menu_princ {
  display: none !important;
}

/* Origem na cascata: paginas/practicar/filter/filter.css */
#MMM.tema-escuro .practicar-historial .practicar-filtro-recente-card:hover {
  background: #3a3a3a !important;
}

#MMM.tema-escuro .practicar-historial .practicar-simulacro-card:hover {
  background: #3a3a3a !important;
  border-color: transparent !important;
  box-shadow: none !important;
  filter: none;
  outline: none;
  transform: none;
}

/* Origem na cascata: paginas/practicar/practice/practice.css */
/* Slots específicos do Simulacro dentro do menu lateral compartilhado. */
.practicar-menu-simulacro-timer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 36px);
  box-sizing: border-box;
  margin: 10px 18px 0;
  padding: 7px 0 0;
  border: 0;
  background: transparent;
  color: #aeb4bd;
}

.practicar-menu-simulacro-timer-value {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.practicar-menu-simulacro-timer-value i {
  color: currentColor;
  font-size: 1.15rem;
  line-height: 1;
}

.practicar-menu-simulacro-timer strong {
  color: #153f9b;
  font-size: 1.75rem;
  font-variant-numeric: tabular-nums;
}

.practicar-menu-simulacro-reset {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #aeb4bd;
  cursor: pointer;
  font: inherit;
}

.practicar-menu-simulacro-reset i {
  font-size: 1.15rem;
  line-height: 1;
}

.practicar-menu-simulacro-reset:hover,
.practicar-menu-simulacro-reset:focus-visible {
  background: rgba(148, 163, 184, .18);
  color: #fff;
}

.practicar-menu-simulacro-reset:disabled {
  cursor: wait;
  opacity: .55;
}

.practicar-menu-simulacro-timer.is-urgent {
  color: #b42424;
}

.practicar-menu-simulacro-timer.is-urgent strong {
  color: #b42424;
}

.practicar-menu-acao-secundaria,
.practicar-menu-acao-principal {
  display: flex;
  width: calc(100% - 36px);
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 10px 18px 0;
  padding: 9px 11px;
  border-radius: 10px;
  font: inherit;
  font-size: 1rem;
  font-weight: 750;
  cursor: pointer;
}

.practicar-menu-acao-secundaria {
  border: 1px solid #d9dfeb;
  background: #f8fafc;
  color: #46546d;
}

.practicar-menu-acao-principal {
  border: 1px solid #1f4cb3;
  background: #173d96;
  color: #fff;
}

.practicar-menu-acao-principal:hover,
.practicar-menu-acao-principal:focus-visible {
  background: #2858bd;
}

.practicar-menu-acao-secundaria:hover,
.practicar-menu-acao-secundaria:focus-visible {
  background: #ffffff;
}

.practicar-menu-simulacro-timer[hidden],
.practicar-menu-acao-principal[hidden],
.practicar-menu-simulacro-entregue[hidden] {
  display: none !important;
}

.practicar-menu-simulacro-entregue {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  width: calc(100% - 36px);
  min-height: 76px;
  margin: 10px 18px 0;
  padding: 12px;
  border: 1px solid #a8dfbd;
  border-radius: 10px;
  background: #effbf3;
  color: #17723c;
  font-weight: 800;
}

.practicar-menu-simulacro-entregue-titulo {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.practicar-menu-simulacro-entregue small {
  color: #4a8d62;
  font-size: .78rem;
  font-weight: 600;
}

#MMM.tema-escuro .practicar-menu-simulacro-entregue,
.tema-escuro .practicar-menu-simulacro-entregue {
  border: 1px solid #1a4c2f;
  background: #163a27;
  color: #9ff0bd;
}

.tema-escuro .practicar-menu-simulacro-entregue small { color: #83cfa0; }

.practicar-question-estado.guardada {
  color: #2762bd;
}
.tema-escuro .practicar-menu-simulacro-timer { color: #b2bfd5; }
.tema-escuro .practicar-menu-simulacro-timer strong { color: #a9c3ff; }
.tema-escuro .practicar-menu-simulacro-reset { color: #b2bfd5; }
.tema-escuro .practicar-menu-acao-secundaria { border-color: #3a4763; background: #34415d; color: #d4dbea; }
.tema-escuro .practicar-menu-acao-principal:hover,
.tema-escuro .practicar-menu-acao-principal:focus-visible { background: #2858bd; }
.tema-escuro .practicar-menu-acao-secundaria:hover,
.tema-escuro .practicar-menu-acao-secundaria:focus-visible {
  border-color: #576789;
    background: #3f4f70;
 }

/* Escala clara do menu lateral do Simulacro.
   Mantém a mesma hierarquia de superfícies do tema escuro sem transportar
   fundos escuros para o claro. */
#MMM.menu-practicar-adaptado:not(.tema-escuro) {
  background: #eef1f5;
  color: #20242c;
  box-shadow: 2px 0 10px rgba(31, 41, 55, .14);
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-topo {
  background: #f7f8fb;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) #menu-painel-preguntas,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-painel {
  background: #eef1f5;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-contexto {
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-contexto-faculdade {
  color: #65738a;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-contexto-materia {
  color: #20242c;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-list {
  background: #fff;
  scrollbar-color: #b2bdcc #fff;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-link {
  color: #293548;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-link:hover {
  background: #e6ebf2 !important;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-link.ativa {
  background: #dce4ef !important;
  box-shadow: none;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-estado.correcta {
  background: #2e9b52;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-estado.incorrecta {
  background: #d64545;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-estado.sem-resposta {
  background: transparent;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-simulacro-entregue {
  border-color: #b9dfc6;
  background: #e8f6ed;
  color: #20683c;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-simulacro-entregue small {
  color: #4f8b63;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-acao-rendimiento {
    background: #100c6a;
    color: #fff;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-acao-rendimiento:hover,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-acao-rendimiento:focus-visible,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-acao-rendimiento.ativa {
    background: #100c6a;
    color: #fff;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-acao-rendimiento:hover {
    background: #1f19a1;
    color: #fff;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-acao-secundaria {
  border-color: #ccd5e2;
  background: #e8edf4;
  color: #46546d;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-acao-secundaria:hover,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-acao-secundaria:focus-visible {
  background: #f8fafc;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-volver {
  background: #e26d19;
  color: #fff;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-tema {
  border-color: #c8c8c8;
  background: #fff;
  color: #0e3aa9;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-tema i {
  color: #0e3aa9;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-fechar {
  color: #666;
  border-color: #c8c8c8;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-fechar:hover {
  background: rgba(0, 0, 0, .06);
}

/* Origem na cascata: assets/css/practicar-simulacros-oficiais.css */
.practicar-menu-contexto.is-official {
  position: relative;
  padding-right: 46px;
}

.practicar-simulacro-oficial-icone {
  position: absolute;
  top: 11px;
  right: 13px;
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border: 1px solid #a4831f;
  border-radius: 50%;
  color: #c99907;
  font-size: .78rem;
  line-height: 1;
}

/* Origem na cascata: assets/css/practicar-examen.css */
/*
 * Comportamentos exclusivos do Modo Simulacro em /practicar/examen.
 * A interface comum dos dois modos vive em practicar-examen-interface.css.
 */

#MMM.menu-practicar-simulacro {
  top: 0;
  bottom: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  border-radius: 0;
}

@media (max-width: 1365px) {
  html.practicar-menu-drawer-aberto,
body.practicar-menu-drawer-aberto {
    overflow: hidden;
    overscroll-behavior: none;
  }

  #MMM.menu-practicar-simulacro {
    top: 0;
    bottom: 0;
    left: 0;
    display: none !important;
    width: min(86vw, 395px) !important;
    max-width: min(86vw, 395px) !important;
    height: auto;
    min-height: 0;
    max-height: none;
    transform: translateX(-100%);
    opacity: 0;
    overflow: hidden;
    overscroll-behavior: contain;
    z-index: 100000400 !important;
  }

  #MMM.menu-practicar-simulacro.expanded {
    display: flex !important;
    width: min(86vw, 395px) !important;
    max-width: min(86vw, 395px) !important;
    transform: translateX(0);
    opacity: 1;
  }

  #MMM.menu-practicar-simulacro .menu-lateral-painel,
#MMM.menu-practicar-simulacro #menu-painel-preguntas,
#MMM.menu-practicar-simulacro .whaticket-list,
#MMM.menu-practicar-simulacro .practicar-question-list {
    max-width: 100%;
    overscroll-behavior: contain;
  }

  #MMM.menu-practicar-simulacro .menu-lateral-painel.ativo {
    overflow: hidden;
  }

#MMM.menu-practicar-simulacro .menu-lateral-fechar,
#MMM.menu-practicar-simulacro .menu-lateral-tema,
#MMM.menu-practicar-simulacro .whaticket-item,
#MMM.menu-practicar-simulacro .practicar-question-link {
    min-height: 44px;
  }

  body.practicar-menu-drawer-aberto #menu-overlay {
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 100000300 !important;
  }

  body.practicar-menu-drawer-aberto .tetete.modo-practicar-com-questoes {
    pointer-events: none;
  }}

@media (max-width: 1365px) {
  .tetete.modo-practicar-com-questoes {
    z-index: 100000200;
  }

  .tetete.modo-practicar-com-questoes #toggle-link {
    position: relative;
    z-index: 1;
    width: 18px;
    min-width: 18px;
    height: 50px;
    min-height: 50px;
  }
}

/* Origem na cascata: assets/css/practicar-simulacro-rendimiento.css */
#MMM .practicar-menu-acao-rendimiento {
  display: flex;
  width: calc(100% - 36px);
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 10px 18px 0;
  padding: 9px 11px;
  border: 1px solid #d9dfeb;
  border-radius: 10px;
  background: #f8fafc;
  color: #46546d;
  font-size: 1rem;
  font-weight: 750;
  text-decoration: none;
}

#MMM .practicar-menu-acao-rendimiento:hover,
#MMM .practicar-menu-acao-rendimiento:focus-visible,
#MMM .practicar-menu-acao-rendimiento.ativa {
  border-color: #b9c4d4;
  background: #fff;
  color: #26344f;
}

#MMM.tema-escuro .practicar-menu-acao-rendimiento {
  border-color: #3d37b7;
  background: #282493;
  color: #ededed;
}

#MMM.tema-escuro .practicar-menu-acao-rendimiento:hover,
#MMM.tema-escuro .practicar-menu-acao-rendimiento:focus-visible,
#MMM.tema-escuro .practicar-menu-acao-rendimiento.ativa {
  border-color: #3d37b7;
  background: #282493;
  color: #fff;
}

#MMM.tema-escuro .practicar-menu-acao-rendimiento:hover {
border-color: #504ad2;
  background: #3732aa;
  color: #fff;
}

/* Origem na cascata: assets/css/practicar-libre-examen.css */
#MMM.menu-practicar-adaptado .practicar-menu-contexto-temas-dropdown {
  box-sizing: border-box;
  max-width: 100%;
  max-height: min(360px, 52vh);
  overflow-y: auto;
}

#MMM.menu-practicar-adaptado .practicar-menu-contexto-temas-dropdown strong {
  display: block;
  color: #20242c;
  font-size: 1rem;
  line-height: 1.3;
}

#MMM.menu-practicar-adaptado .practicar-menu-contexto-temas-dropdown ul {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 7px 0 0 4px;
  padding: 0 0 0 17px;
  list-style: none;
}

#MMM.menu-practicar-adaptado .practicar-menu-contexto-temas-dropdown ul::before {
  position: absolute;
  top: 0;
  bottom: .68em;
  left: 3px;
  border-left: 1px solid #c5cedc;
  content: "";
}

#MMM.menu-practicar-adaptado .practicar-menu-contexto-temas-dropdown li {
  position: relative;
  min-width: 0;
  color: #46546d;
  font-size: 1rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
  white-space: normal;
}

#MMM.menu-practicar-adaptado .practicar-menu-contexto-temas-dropdown li::before {
  position: absolute;
  top: .68em;
  left: -14px;
  width: 10px;
  border-top: 1px solid #c5cedc;
  content: "";
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao {
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao .questao-info-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao .questao-info-item > span {
  color: #6b7280;
  font-size: 1rem;
  line-height: 1.1;
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao .questao-info-item strong {
  min-width: 0;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.25;
  text-overflow: ellipsis;
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao .questao-info-taxonomia {
  gap: 6px;
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao .questao-info-arvore {
  display: grid;
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao .questao-info-arvore-no {
  --questao-info-recuo: 0px;
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  padding: 4px 4px 4px calc(4px + var(--questao-info-recuo));
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao .questao-info-arvore-no:not(.questao-info-arvore-raiz)::before {
  position: absolute;
  top: -6px;
  left: calc(var(--questao-info-recuo) - 11px);
  width: 13px;
  height: 18px;
  border-bottom: 1px solid #b8bec8;
  border-left: 1px solid #b8bec8;
  border-radius: 0 0 0 4px;
  content: "";
}

#MMM.menu-practicar-adaptado .practicar-menu-practica-localizacao .questao-info-arvore-no i {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  color: #0e3aa9;
  font-size: 1.1rem;
  line-height: 1;
}

#MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-practica-localizacao .questao-info-item > span {
  color: #a8a8a8;
}

#MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-practica-localizacao .questao-info-arvore-no:not(.questao-info-arvore-raiz)::before {
  border-color: #626975;
}

#MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-practica-localizacao .questao-info-arvore-no i {
  color: #6f96f4;
}

/* Ação exclusiva do Modo Libre no rodapé do menu lateral. */
#MMM.menu-practicar-adaptado .practicar-menu-limpar {
  border: 1px solid #d8dee8;
  background: #f2f4f7;
  color: #363636;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-menu-limpar:hover {
  background: #f7f8fa;
  color: #363636;
}

#MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-contexto-temas-dropdown strong {
  color: #f1f1f1;
}

#MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-contexto-temas-dropdown li {
  color: #d1d5db;
}

#MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-contexto-temas-dropdown ul::before {
  border-left-color: rgba(148, 163, 184, .65);
}

#MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-contexto-temas-dropdown li::before {
  border-top-color: rgba(148, 163, 184, .65);
}

/* Origem na cascata: assets/css/practicar-examen-interface.css */
/* Estrutura e superfícies do menu lateral também são comuns aos dois modos. */
#MMM.menu-practicar-adaptado {
  top: 0;
  bottom: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  border-radius: 0;
  transition: none !important;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-topo,
#MMM.menu-practicar-adaptado:not(.tema-escuro) #menu-painel-preguntas,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-painel {
  background: #f2f2f2;
}

#MMM.menu-practicar-adaptado .menu-lateral-topo :is(.menu-lateral-tema, .menu-lateral-fechar) {
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  padding: 0;
  border-radius: 50%;
  box-sizing: border-box;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-tema {
  border-color: #c8c8c8;
  background: transparent;
  color: #666;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-tema i {
  color: inherit;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-tema:hover {
  background: rgba(0, 0, 0, .06);
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-list {
  background: #ebebeb;
  scrollbar-color: #c4c3c3 #ebebeb;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-list::-webkit-scrollbar-track {
  background: #ebebeb;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-list::-webkit-scrollbar-thumb {
  background: #c4c3c3;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-link:hover,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-link.ativa,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-link.ativa:hover {
  border-radius: 0;
  background: #f1f1f1 !important;
}

#MMM:is(.menu-practicar-adaptado, .menu-practicar-simulacro) .ep-tooltip::after {
  width: max-content;
  max-width: min(240px, calc(100vw - 16px));
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 1365px) {

  html.practicar-menu-drawer-aberto,
body.practicar-menu-drawer-aberto {
    overflow: hidden;
    overscroll-behavior: none;
  }

  #MMM.menu-practicar-adaptado,
#MMM.menu-practicar-adaptado.expanded {
    width: min(86vw, 395px) !important;
    max-width: min(86vw, 395px) !important;
    z-index: 100000400 !important;
  }

  #MMM.menu-practicar-adaptado.expanded {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
  }

  #MMM.menu-practicar-adaptado .menu-lateral-painel,
#MMM.menu-practicar-adaptado #menu-painel-preguntas,
#MMM.menu-practicar-adaptado .whaticket-list,
#MMM.menu-practicar-adaptado .practicar-question-list {
    max-width: 100%;
    overscroll-behavior: contain;
  }

#MMM.menu-practicar-adaptado .menu-lateral-fechar,
#MMM.menu-practicar-adaptado .menu-lateral-tema,
#MMM.menu-practicar-adaptado .whaticket-item,
#MMM.menu-practicar-adaptado .practicar-question-link {
    min-height: 44px;
  }

  #MMM.menu-practicar-adaptado .menu-lateral-topo :is(.menu-lateral-tema, .menu-lateral-fechar) {
    flex-basis: 28px;
    width: 28px;
    min-width: 28px;
    max-width: 28px;
    height: 28px;
    min-height: 28px;
    max-height: 28px;
    border-radius: 50%;
  }

  #MMM.menu-practicar-adaptado .menu-lateral-fechar {
    /* Nos dispositivos táteis o controle tem 28px: metade permanece externa. */
    right: -14px;
  }

  html body:has(#MMM.menu-practicar-adaptado.expanded) #menu-overlay {
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 100000300 !important;
  }}

@media (max-width: 1365px) {
  .tetete.modo-practicar-com-questoes {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 100000200;
  }

  .tetete.modo-practicar-com-questoes .tetete2 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    pointer-events: auto;
  }

  .tetete.modo-practicar-com-questoes #toggle-link {
    position: relative;
    z-index: 1;
    width: 18px;
    min-width: 18px;
    height: 50px;
    min-height: 50px;
  }
}

/* Origem na cascata: estilos inline de paginas/index/rodateto.php */
#MMM {
      font-weight: 500;
      font-size: 1rem;
      line-height: 1.5;
      letter-spacing: 0.00938em;
      position: fixed;
      left: 0;
      top: 0;
      height: 100vh;
      width: 330px;
      background: #fff;
      padding: 0;
      z-index: 10002;
      box-shadow: 2px 0 10px rgba(0,0,0,0.10);
      overflow: hidden;
      flex-direction: column;
      align-items: center;
      transition: transform 0.4s ease, opacity 0.4s ease;
      transform: translateX(-100%);
      opacity: 0;
      display: none;
      border-radius: 0 0 10px 0;

    }

  #MMM.tema-escuro {
      background: #1d1d1d;
      color: #fff;
    }

    #MMM.expanded {
      width: 330px;
      align-items: stretch;
      /* O menu aberto deve permanecer acima do rodateto em todas as larguras. */
      z-index: 100000100;
      box-shadow: 2px 0 10px rgba(0,0,0,0.15);
      /* O painel interno é o único responsável pela rolagem do menu. */
      overflow: hidden;
      transform: translateX(0);
      opacity: 1;
      display: flex;
    }

@media (max-width: 768px) {

  #menu-overlay {
    z-index: 99999999 !important;
    inset: 0;
    width: auto !important;
    height: auto !important;
  }

  #MMM.expanded {
    width: min(calc(59.5vw + 75px), calc(100vw - 20px)) !important;
    max-width: min(calc(59.5vw + 75px), calc(100vw - 20px)) !important;
    z-index: 100000100;
  }

  #MMM { 
    padding: 0;
  }

  .whaticket-list {
    width: 100%;
    padding: 0px;
  }}

  .whaticket-list {
    list-style: none;
      padding: 6px 10px;
      margin: 0;
      width: 330px;
      flex: 1;
      overflow-y: auto;
      box-sizing: border-box;

  }

  .whaticket-list > li {
    padding: 1px 0;
  }

  .menu-lateral-painel {
    display: none;
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1;
    overflow: hidden;
  }

  .menu-lateral-painel.ativo {
    display: flex;
    flex-direction: column;
  }

  .practicar-question-list {
    list-style: none;
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #d1d5db;
    box-sizing: border-box;
  }

  .practicar-question-list > li {
    margin: 0;
    padding: 0;
  }

  #MMM.menu-practicar-adaptado .practicar-menu-progresso {
    display: block;
    flex: 0 0 5px;
    width: 100%;
    height: 5px;
    min-height: 5px;
    max-height: 5px;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: #e3e3e3;
    box-sizing: border-box;
  }

  #MMM.menu-practicar-adaptado .practicar-menu-progresso-preenchimento {
    display: block;
    width: 0%;
    height: 100%;
    background: #4b4b4b;
    transition: width .25s ease;
  }

  #MMM.tema-escuro .practicar-question-list {
    background: #141414;
    border-bottom-color: #3a3a3a;
    scrollbar-color: #555 #141414;
    scrollbar-width: thin;
  }

  #MMM.tema-escuro .practicar-question-list::-webkit-scrollbar {
    width: 8px;
  }

  #MMM.tema-escuro .practicar-question-list::-webkit-scrollbar-track {
    background: #1d1d1d;
  }

  #MMM.tema-escuro .practicar-question-list::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 8px;
  }

  #MMM.tema-escuro .practicar-question-list::-webkit-scrollbar-thumb:hover {
    background: #666;
  }

  #MMM.tema-escuro .practicar-menu-progresso {
    background: #090909;
  }

  #MMM.tema-escuro .practicar-menu-progresso-preenchimento {
    background: #4b4b4b;
  }

  .practicar-question-link {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    column-gap: 9px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 42px;
    min-height: 42px;
    padding: 7px 4px 7px 9px;
    align-items: center;
    border-radius: 0;
    color: #25282d;
    box-sizing: border-box;
  }

  .practicar-question-link:hover,
.practicar-question-link.ativa {
    background: #eceff3 !important;
    border-radius: 0;
  }

  .practicar-question-link.ativa {
    background: #e2e6ec !important;
    box-shadow: none;
  }

  .practicar-question-numero {
    color: inherit;
    font-size: 1rem;
    font-weight: 800;
    opacity: 0.3;
    white-space: nowrap;
  }

  .practicar-question-link.ativa .practicar-question-numero {
    opacity: 1;
  }

  .practicar-question-marcada { color:#e00808; flex:0 0 auto; margin-left:0; font-size:1.05rem; }
  #MMM.tema-escuro .practicar-question-marcada { color:#e00808; }
  .practicar-question-link.marcada .practicar-question-numero { color:#e00808; opacity:1; }
  #MMM.tema-escuro .practicar-question-link.marcada .practicar-question-numero { color:#e00808; font-weight:800 }

  .practicar-question-enunciado {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    justify-self: stretch;
    color: inherit;
    font-size: 1rem;
    line-height: 1.35;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

  .practicar-question-estado {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    color: #fff;
    font-size: 0.9rem;
    line-height: 1;
    flex: 0 0 auto;
  }

  /* Centraliza o glifo do Remix Icon dentro do círculo, sem deslocamento
     vertical adicional. */
  .practicar-question-estado::before {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 1;
    transform: none;
  }

  .practicar-question-estado.correcta {
    background: #2e9b52;
  }

  .practicar-question-estado.incorrecta {
    background: #d64545;
  }

  .practicar-question-estado.guardada {
    background: #2563eb;
    color: #fff;
  }

  .practicar-question-estado.sem-resposta-finalizada {
    background: #9ca3af;
    color: #fff;
  }

  .practicar-question-estado.sem-resposta-finalizada::before {
    position: static;
    inset: auto;
    flex: 0 0 8px;
    width: 8px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: "";
    transform: none;
  }

  #MMM.tema-escuro .practicar-question-estado.guardada {
    background: #1364e8;
    border: 1px solid #2e7af5;
  }

  #MMM.tema-escuro .practicar-question-estado.sem-resposta-finalizada {
    background: #6b7280;
  }

  .practicar-question-estado.sem-resposta {
    background: transparent;
    color: #9ca3af;
    font-size: .3rem;
  }

  .practicar-question-estado.sem-resposta::before {
    transform: none;
  }

  #MMM.tema-escuro .practicar-question-estado.sem-resposta {
    background: transparent;
    color: #6b7280;
  }

  #practicar-menu-status-tooltip {
    position: fixed;
    z-index: 100000200;
    max-width: min(360px, calc(100vw - 32px));
    padding: 12px 14px;
    border: 2px solid #686873;
    border-radius: 16px;
    background: #29292d;
    color: #f5f5f7;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
    font-family: Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
    pointer-events: none;
  }

  #practicar-menu-status-tooltip[hidden] {
    display: none;
  }

  .tema-escuro #practicar-menu-status-tooltip {
    border-color: #686873;
    background: #29292d;
    color: #f5f5f7;
  }

  #MMM.tema-escuro .practicar-question-link {
    color: #e5e7eb;
  }

  #MMM.tema-escuro .practicar-question-link:hover {
    background: #242424 !important;
    border-radius: 0;
  }

  #MMM.tema-escuro .practicar-question-link.ativa {
    background: #343434 !important;
    border-radius: 0;
  }

  #MMM.tema-escuro .practicar-question-link.ativa {
    box-shadow: none;
  }

  #MMM.tema-escuro .practicar-question-numero {
    color: inherit;
  }

  #menu-painel-preguntas {
    overflow: hidden;
    background: transparent;
  }

  #MMM.tema-escuro #menu-painel-preguntas {
    background: transparent;
  }

  .practicar-menu-volver {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 0 0 auto;
    min-height: 40px;
    margin: 10px;
    border: 1px solid #e26d19;
    border-radius: 5px;
    background: #e26d19;
    color: #fff;
    font-size: 1rem;
    font-weight: 400;
  }

  .practicar-menu-volver:hover {
    background: #f07c27 !important;
    border-radius: 5px !important;
  }

  .practicar-menu-limpar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: calc(100% - 20px);
    min-height: 40px;
    margin: 10px 10px 0;
    border: 1px solid #4e4d4d;
    border-radius: 5px;
    background: #e3e3e3;
    color: #363636;
    font: inherit;
    font-size: 1rem;
    font-weight: 400;
    cursor: pointer;
  }

  .practicar-menu-limpar:hover {
    background: #d2d2d2;
  }

  .practicar-menu-acoes-livre {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    gap: 8px;
    width: calc(100% - 20px);
    margin: 20px 10px;
  }

  .practicar-menu-acoes-livre .practicar-menu-limpar,
.practicar-menu-acoes-livre .practicar-menu-volver {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    margin: 0;
  }

  .practicar-menu-acoes-livre .practicar-menu-limpar {
    padding: 0 14px;
  }

  #MMM.menu-practicar-adaptado .practicar-menu-acoes-livre .practicar-menu-volver {
    border-color: #2563eb;
    background: #2563eb;
  }

  #MMM.menu-practicar-adaptado .practicar-menu-acoes-livre .practicar-menu-volver:hover {
    background: #3b73ee !important;
  }

  #MMM.tema-escuro .practicar-menu-limpar {
    border: 1px solid #3a3a3a;
    background: #1c1c1c;
    color: #e5e7eb;
  }

  #MMM.tema-escuro .practicar-menu-limpar:hover {
    background: #262626;
    color: #ffffff;
  }

  #MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-acoes-livre .practicar-menu-volver {
    border-color: #0e3aa9;
    background: #0e3aa9;
    color: #ffffff;
  }

  #MMM.menu-practicar-adaptado.tema-escuro .practicar-menu-acoes-livre .practicar-menu-volver:hover {
    background: #174bbf !important;
  }

  .practicar-limpar-modal {
    position: fixed;
    inset: 0;
    /* A confirmação deve prevalecer sobre o menu lateral e seus overlays. */
    z-index: 2147483647;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .52);
  }

  .practicar-limpar-modal.aberto {
    display: flex;
  }

  .practicar-limpar-card {
    width: min(360px, 100%);
    padding: 22px;
    border-radius: 14px;
    background: #fff;
    color: #292929;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .28);
    text-align: center;
  }

  .practicar-limpar-card h2 {
    margin: 0 0 8px;
    font-size: 1.2rem;
    font-weight: 600;
  }

  .practicar-limpar-card p {
    margin: 0;
    color: #626262;
    font-size: 1rem;
    line-height: 1.45;
  }

  .practicar-limpar-acoes {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
  }

  .practicar-limpar-acoes button {
    min-width: 112px;
    min-height: 38px;
    padding: 0 14px;
    border: 0;
    border-radius: 8px;
    font: inherit;
    font-size: 1rem;
    cursor: pointer;
  }

  #practicar-limpar-cancelar {
    background: #e4e4e4;
    color: #303030;
  }

  #practicar-limpar-confirmar {
    background: #b41e0e;
    color: #fff;
  }

  #MMM.tema-escuro .practicar-limpar-card,
.tema-escuro .practicar-limpar-card {
    background: #242424;
    color: #f1f1f1;
  }

  #MMM.tema-escuro .practicar-limpar-card p,
.tema-escuro .practicar-limpar-card p {
    color: #c7c7c7;
  }

  #MMM.tema-escuro #practicar-limpar-cancelar,
.tema-escuro #practicar-limpar-cancelar {
    background: #454545;
    color: #f1f1f1;
  }

  .practicar-menu-contexto {
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-sizing: border-box;
    width: calc(100% - 40px);
    margin: 20px 20px 12px;
    padding: 0 56px 0 0;
  }

  .practicar-menu-contexto-faculdade {
    width: fit-content;
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  color: #68748a;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}

  .practicar-menu-contexto-materia {
    min-width: 0;
    max-width: 100%;
    color: #20242c;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .practicar-menu-contexto-materia-simulacro {
    font-weight: 500;
  }

  .practicar-menu-contexto-tags {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 5px;
    width: 100%;
    min-width: 0;
    overflow: visible;
  }

  .practicar-menu-contexto-tag {
    display: inline-flex;
    flex: 0 0 auto;
    box-sizing: border-box;
    max-width: 100%;
    padding: 2px 7px;
    border: 1px solid #cbd3df;
    border-radius: 999px;
    color: #46546d;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
  }

  .tema-escuro .practicar-menu-contexto-tag {
    border: 1px solid #cbd3df;

  }

  /* Quando houver tags extras, a primeira ocupa apenas o espaço livre e
     sinaliza o corte com reticências; o restante fica acessível em +N. */
  .practicar-menu-contexto-tag.is-truncated {
    flex: 1 1 0;
    min-width: 0;
  }

  .practicar-menu-contexto-tag-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .practicar-menu-contexto-temas {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 2px 7px;
    border: 1px solid #cbd3df;
    border-radius: 999px;
    background: transparent;
    color: #46546d;
    cursor: pointer;
    font: inherit;
    font-size: 1rem;
    line-height: 1.2;
    white-space: nowrap;
  }

  .practicar-menu-contexto-temas:hover,
.practicar-menu-contexto-temas[aria-expanded="true"] {
    background: #eef2f7;
  }

  .practicar-menu-contexto-temas-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: auto;
    z-index: 20;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: max-content;
    max-width: 100%;
    padding: 8px 10px;
    border: 1px solid #d9dfeb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(31, 41, 55, .14);
  }

  .practicar-menu-contexto-temas-dropdown span {
    color: #344054;
    font-size: 1rem;
    line-height: 1.3;
    white-space: nowrap;
  }

  .practicar-menu-contexto-temas-dropdown[hidden] {
    display: none !important;
  }

  .practicar-menu-contexto-tags-more {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    padding: 2px 8px;
    border: 1px solid #cbd3df;
    border-radius: 999px;
    background: transparent;
    color: #46546d;
    cursor: pointer;
    font: inherit;
    font-size: 1rem;
    line-height: 1.2;
    white-space: nowrap;
  }

  .practicar-menu-contexto-tags-more:hover,
.practicar-menu-contexto-tags-more[aria-expanded="true"] {
    background: #eef2f7;
  }

  .practicar-menu-contexto-tags-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: var(--tags-more-center, 50%);
    transform: translateX(-50%);
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    width: max-content;
    max-width: 100%;
    box-sizing: border-box;
    padding: 8px;
    border: 1px solid #d9dfeb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(31, 41, 55, .14);
  }

  .practicar-menu-contexto-tags-dropdown .practicar-menu-contexto-tag {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .practicar-menu-contexto-tags-dropdown[hidden],
.practicar-menu-contexto-tags-more[hidden] {
    display: none !important;
  }

  .practicar-menu-filtro-marcadas {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:calc(100% - 20px);
    min-height:34px;
    margin:0 10px 8px;
    padding:6px 10px;
    box-sizing:border-box;
    border:1px solid #d9dfeb;
    border-radius:12px;
    background:#fff;
    color:#0e3aa9;
    font-size:.9rem;
  }

  .practicar-menu-filtro-marcadas[hidden] {
    display: none !important;
  }

  .practicar-menu-filtro-marcadas-titulo {
    display:inline-flex;
    align-items:center;
    gap:3px;
    min-width:0;
  }

  .practicar-menu-filtro-marcadas-titulo i { font-size:1rem; }

  .practicar-menu-switch {
    position:relative;
    flex:0 0 auto;
    width:38px;
    height:22px;
    padding:0;
    border:1px solid #aeb7c5;
    border-radius:999px;
    background:#d9dee7;
    cursor:pointer;
  }

  .practicar-menu-switch span {
    position:absolute;
    top:3px;
    left:3px;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#fff;
    transition:transform .18s ease, background .18s ease;
  }

  .practicar-menu-switch[aria-checked="true"] { background:#1683ff; border-color:#1683ff; }
  .practicar-menu-switch[aria-checked="true"] span { transform:translateX(16px); background:#fff; }
  #MMM.tema-escuro .practicar-menu-filtro-marcadas,
.practicar-menu-filtro-marcadas.tema-escuro { color:#fff; }
  #MMM.tema-escuro .practicar-menu-switch { background:#2f2f2f; border-color:#666; }
  #MMM.tema-escuro .practicar-menu-switch[aria-checked="true"] { background:#1683ff; border-color:#1683ff; }
  #MMM.tema-escuro .practicar-menu-filtro-marcadas { border-color:rgba(148, 163, 184, .34); background:#292929; }

  #MMM.tema-escuro .practicar-menu-contexto-temas-dropdown,
#MMM.tema-escuro .practicar-menu-contexto-tags-dropdown {
    border-color: rgba(148, 163, 184, .55);
    background: #292929;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .32);
  }

  #MMM.tema-escuro .practicar-menu-contexto-temas-dropdown span {
    color: #e5e7eb;
  }

  #MMM.tema-escuro .practicar-menu-contexto-temas,
#MMM.tema-escuro .practicar-menu-contexto-tags-more {
    border-color: rgba(148, 163, 184, .55);
    color: #d1d5db;
  }

  #MMM.tema-escuro .practicar-menu-contexto-temas:hover,
#MMM.tema-escuro .practicar-menu-contexto-temas[aria-expanded="true"],
#MMM.tema-escuro .practicar-menu-contexto-tags-more:hover,
#MMM.tema-escuro .practicar-menu-contexto-tags-more[aria-expanded="true"] {
    background: rgba(148, 163, 184, .18);
  }

  #MMM.tema-escuro .practicar-menu-contexto-materia {
    color: #f1f1f1;
  }

  #MMM.tema-escuro .practicar-menu-contexto-faculdade {
    border: 0;
    background: transparent;
    color: #aeb4bd;
  }

  #MMM.tema-escuro .practicar-menu-contexto-tag {
    color: #cbd5e1;
  }

  #MMM.tema-escuro .practicar-menu-volver {
    background: #e26d19;
    color: #fff;
  }

  #MMM.tema-escuro .practicar-menu-volver:hover {
    background: #f07c27 !important;
  }

  @media (max-width: 768px) {
    .whaticket-list {
      width: 100%;
  }}

  .menu-lateral-topo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 42px;
    padding: 7px 5px;
    box-sizing: border-box;
  }

  .menu-practicar-adaptado .menu-lateral-topo {
    position: relative;
    flex: 0 0 0;
    height: 0;
    min-height: 0;
    padding: 0;
    overflow: visible;
  }

  .menu-practicar-adaptado .menu-lateral-tema {
    position: absolute;
    top: 50%;
    left: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    background: transparent;
    color: #0e3aa9;
    cursor: pointer;
    transform: translateY(-50%);
    box-sizing: border-box;
  }

  .menu-practicar-adaptado .menu-lateral-tema i {
    font-size: 1.3rem;
    line-height: 1;
  }

  .menu-practicar-adaptado .menu-lateral-tema:hover {
    background: rgba(14, 58, 169, .08);
  }

  /* Os controles ficam no topo do painel: o tooltip deve abrir para baixo,
     dentro da área visível do menu, nunca para fora da viewport. */
  .menu-practicar-adaptado .menu-lateral-topo .menu-lateral-tema::after,
.menu-practicar-adaptado .menu-lateral-topo .menu-lateral-fechar::after {
    top: calc(100% + 12px);
    bottom: auto;
    --ep-tooltip-y: -8px;
  }

  .menu-practicar-adaptado .menu-lateral-topo .menu-lateral-tema::after {
    left: 0;
    --ep-tooltip-x: 0;
  }

  .menu-practicar-adaptado .menu-lateral-topo .menu-lateral-fechar::after {
    left: auto;
    right: 0;
    --ep-tooltip-x: 0;
  }

  #MMM.menu-practicar-adaptado.tema-escuro .menu-lateral-tema {
    border-color: #4e4e4e;
    background: #1d1d1d;
    color: #fff;
  }

  #MMM.menu-practicar-adaptado.tema-escuro .menu-lateral-tema:hover {
    background: rgba(255, 255, 255, .1);
  }

  #MMM.menu-practicar-adaptado.expanded {
    /* Permite que metade do controle de ocultar fique além da borda do painel. */
    overflow: visible;
  }

  .menu-practicar-adaptado .menu-lateral-fechar {
    position: absolute;
    /* O centro fica alinhado à borda externa, 70px abaixo do topo atual. */
    top: calc(50% + 70px);
    right: -12px;
    transform: translateY(-50%);
    width: 24px;
    min-width: 24px;
    height: 24px;
    min-height: 24px;
    flex: 0 0 24px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #0e3aa9;
    box-shadow: none;
    order: 2;
  }

  .menu-practicar-adaptado .menu-lateral-fechar svg {
    width: 16px;
    height: 16px;
  }

  #MMM.menu-practicar-adaptado .menu-lateral-topo .menu-lateral-fechar {
    flex-basis: 32px;
    width: 32px;
    min-width: 32px;
    max-width: 32px;
    height: 32px;
    min-height: 32px;
    max-height: 32px;
    right: -16px;
  }

  #MMM.menu-practicar-adaptado.tema-escuro .menu-lateral-fechar {
    background: #000;
    border: 2px solid #4e4e4e;
  }

  #MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-fechar:hover {
    background: #eeeeee;
  }

  #MMM.menu-practicar-adaptado.tema-escuro .menu-lateral-fechar:hover {
    background: #171717;
  }

  .menu-lateral-fechar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #111;
    cursor: pointer;
    line-height: 1;
  }

  .menu-lateral-fechar svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: currentColor;
  }

  .menu-lateral-fechar i {
    font-size: 1.15rem;
    line-height: 1;
  }

  .menu-lateral-fechar:hover {
    background: rgba(0, 0, 0, 0.08);
  }

  #MMM.tema-escuro .menu-lateral-fechar,
.tema-escuro .menu-lateral-fechar {
    color: #fff;
  }

  #MMM.tema-escuro .menu-lateral-fechar:hover,
.tema-escuro .menu-lateral-fechar:hover {
    background: rgba(255, 255, 255, 0.1);
  }


  .whaticket-item {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 1rem;
    cursor: pointer;
    gap: 14px;
    min-height: 43px;
    height: 38px;
    width: 58px;
    box-sizing: border-box;
    padding: 0;
    border-radius: 10px;

  }


.whaticket-item:hover {
    background: #ccc;
    border-radius: 10px;
    color: #000;
}


  .whaticket-item.tema-escuro {
    color: #fff;
  }

  .whaticket-item.tema-escuro:hover {
    background: #272727;
    color: #fff;
  }


    @media (max-width: 768px) {
      .whaticket-item:hover {
        background: transparent;

      }}


#MMM a {
  text-decoration: none;
}

  #MMM a:hover {
    background: #ccc;
    border-radius: 10px;
  }

  #MMM .whaticket-item:hover {
    color: #000;
  }


  #MMM.tema-escuro a:hover {
    background: #272727;
  }

  #MMM.tema-escuro .whaticket-item:hover,
#MMM .whaticket-item.tema-escuro:hover {
    color: #fff;
  }


  #MMM:not(.expanded) .item-text {
    display: none;
  }

  #MMM.expanded .whaticket-item {
    justify-content: flex-start;
    width: 100%;
  margin: 0 0px;
  padding: 0 10px;

  }

.whaticket-item2 {
    justify-content: flex-start;
    width: 100%;
  margin: 0 0px;
  padding: 19px 40px;
  background: #000;    
  }

  #MMM.expanded .item-text {
    display: inline;
    margin-left: -5px;
    font-size: 1rem;
    white-space: nowrap;
  }


    @media (max-width: 400px) {
      #MMM,
#MMM.expanded { 

        width: min(calc(59.5vw + 75px), calc(100vw - 20px)) !important;
        max-width: min(calc(59.5vw + 75px), calc(100vw - 20px)) !important;
        z-index: 100000100;
      }}

/* O gatilho original pertence às telas menores. */
@media (min-width: 1024px) and (max-width: 1365px) {
  .tetete2.menu-practicar-trigger {
    display: block;
  }}

.menu-practicar-trigger-desktop {
  display: none;
}

@media (min-width: 1366px) {
  .tetete2.menu-practicar-trigger {
    display: none !important;
  }

  .menu-practicar-trigger-desktop {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0 8px 8px 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    transform: translateY(-50%);
  }

  .menu-practicar-trigger-desktop:focus-visible {
    background: rgba(255, 255, 255, .12);
  }

  .menu-practicar-trigger-desktop:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -2px;
  }

  .menu-practicar-trigger-desktop svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
  }

  body.practicar-menu-lateral-aberto .menu-practicar-trigger-desktop {
    display: none;
  }

  body.practicar-menu-lateral-aberto {
    overflow-x: hidden;
  }

  body.practicar-menu-lateral-aberto .tetete {
    left: 330px;
    right: 0;
    width: auto;
  }

  body.practicar-menu-lateral-aberto #wrapper {
    max-width: min(1200px, calc(100% - 430px));
    transform: translateX(165px);
    transition: none;
  }

  body.practicar-menu-lateral-aberto .voltar-praticar-btn {
    margin-left: 42px;
  }

  body.practicar-menu-lateral-aberto .tetete .tetete2.menu-practicar-trigger {
    display: none !important;
  }

  body.practicar-menu-lateral-aberto #navegador_entre_paginas {
    left: 330px !important;
    width: calc(100% - 330px) !important;
    transform: none !important;
    transition: none !important;
  }

  body.practicar-menu-lateral-aberto .floating-progress-mini {
    left: 330px;
    width: calc(100% - 330px);
    transition: none !important;
  }

  body.practicar-menu-lateral-aberto #menu-overlay {
    opacity: 0 !important;
    pointer-events: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }}

/* Complemento da auditoria: gatilho, estados de cabeçalho e legado do menu. */
#toggle-img {
  cursor: pointer;
  height: 38px;
  margin: 5px 0 0 12px;
  transition: transform 0.25s;
}

.whaticket-account-circle {
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #20b6c7;
  color: #fff;
  font-size: 1.1em;
  font-weight: bold;
}

.whaticket-account {
  display: flex;
  align-items: center;
}

.switch {
  position: relative;
  display: inline-block;
  width: 43px;
  height: 25px;
  margin-left: auto;
}

.switch input {
  width: 0;
  height: 0;
  opacity: 0;
}

.slider {
  position: absolute;
  inset: 0;
  border-radius: 34px;
  background-color: #dde1e7;
  cursor: pointer;
  transition: 0.3s;
}

.slider::before {
  position: absolute;
  bottom: 3px;
  left: 3px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background-color: #fff;
  content: "";
  transition: 0.3s;
}

input:checked + .slider {
  background-color: #1a73e8;
}

input:checked + .slider::before {
  transform: translateX(18px);
}

#toggle-link {
  display: flex;
  width: 44px;
  height: 63px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
}

#toggle-svg {
  display: flex;
  width: auto;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding-top: 0;
}

#toggle-svg svg {
  display: block;
  width: 18px;
  height: 18px;
}

@media (max-width: 400px) {
  #toggle-svg svg {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 1023px) {
  #toggle-link {
    width: 40px;
    height: 50px;
  }

  #toggle-svg svg {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 1365px) {
  #toggle-link {
    position: relative;
    width: 18px;
    min-width: 18px;
    height: 50px;
    margin-inline: 0;
    padding-inline: 0;
  }

  #toggle-link::before {
    position: absolute;
    inset: 0 -13px;
    content: "";
  }
}

.menu-text {
  display: none;
  margin-left: 6px;
  color: #fff;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
}

@media (min-width: 769px) {
  .menu-text {
    display: inline-block;
  }
}

@media (max-width: 1365px) {
  .menu-text {
    display: none;
  }
}

@media (min-width: 1366px) {
  .tetete.modo-practicar-sem-questoes .logoname2,
  .tetete.modo-practicar-sem-questoes .top-nav-links,
  .tetete.modo-practicar-sem-questoes .tetete-actions,
  .tetete.modo-practicar-sem-questoes .seletor-objetivo-topo {
    display: flex !important;
  }

  .tetete2.modo-practicar-sem-questoes {
    display: none !important;
  }
}

/* Ajustes vigentes do tema claro. */
#MMM.menu-practicar-adaptado:not(.tema-escuro),
#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-topo,
#MMM.menu-practicar-adaptado:not(.tema-escuro) #menu-painel-preguntas,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .menu-lateral-painel,
#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-list {
  background: #fff;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-list {
  scrollbar-color: #b2bdcc #f1f1f1;
  scrollbar-width: thin;
}

#MMM.menu-practicar-adaptado .practicar-question-list::-webkit-scrollbar {
  width: 6px;
}

#MMM.menu-practicar-adaptado:not(.tema-escuro) .practicar-question-list::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Em celulares estreitos, a navegação de questões funciona como uma tela
   inteira. O mesmo drawer é compartilhado pelos modos Libre e Simulacro. */
@media (max-width: 768px) {
  /* Mantém o fechamento dentro do drawer em telas compactas que usam
     viewport CSS ampliada (por exemplo, alguns celulares em landscape). */
  #MMM.menu-practicar-adaptado .menu-lateral-fechar,
  #MMM.menu-practicar-simulacro .menu-lateral-fechar {
    position: absolute;
    top: 6px;
    right: 8px;
    z-index: 1;
    width: 56px;
    min-width: 56px;
    max-width: 56px;
    height: 56px;
    min-height: 56px;
    max-height: 56px;
    padding: 0;
    transform: none;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #0e3aa9;
    box-shadow: none;
  }

  #MMM.menu-practicar-adaptado .menu-lateral-fechar svg,
  #MMM.menu-practicar-simulacro .menu-lateral-fechar svg {
    display: none;
  }

  #MMM.menu-practicar-adaptado .menu-lateral-fechar:hover,
  #MMM.menu-practicar-adaptado .menu-lateral-fechar:focus-visible,
  #MMM.menu-practicar-simulacro .menu-lateral-fechar:hover,
  #MMM.menu-practicar-simulacro .menu-lateral-fechar:focus-visible {
    background: rgba(14, 58, 169, .12);
  }
}

@media (max-width: 640px) {
  #MMM.menu-practicar-adaptado,
  #MMM.menu-practicar-adaptado.expanded,
  #MMM.menu-practicar-simulacro,
  #MMM.menu-practicar-simulacro.expanded {
    inset: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
  }

  #MMM.menu-practicar-adaptado.expanded {
    /* Nesta largura o botão não precisa ultrapassar a borda do drawer. */
    overflow: hidden;
  }

  #MMM.menu-practicar-adaptado.tema-escuro .menu-lateral-fechar,
  #MMM.menu-practicar-simulacro.tema-escuro .menu-lateral-fechar {
    background: transparent;
    color: #7ca4ff;
  }
}

/* O fechamento pertence ao topo do menu de questões em qualquer largura.
   Assim ele nunca fica parcialmente fora do drawer por uma regra antiga. */
#MMM.menu-practicar-adaptado .menu-lateral-topo .menu-lateral-fechar,
#MMM.menu-practicar-simulacro .menu-lateral-topo .menu-lateral-fechar {
  position: absolute;
  top: 8px;
  right: 13px;
  z-index: 2;
  width: 52px;
  min-width: 52px;
  max-width: 52px;
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  padding: 0;
  transform: none;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #8c8c8c;
  box-shadow: none;
  transition: all 0.2s ease;
}

#MMM.menu-practicar-adaptado .menu-lateral-topo .menu-lateral-fechar svg,
#MMM.menu-practicar-simulacro .menu-lateral-topo .menu-lateral-fechar svg {
  display: none;
}

#MMM.menu-practicar-adaptado .menu-lateral-topo .menu-lateral-fechar i,
#MMM.menu-practicar-simulacro .menu-lateral-topo .menu-lateral-fechar i {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}

#MMM.menu-practicar-adaptado .menu-lateral-topo .menu-lateral-fechar:hover,
#MMM.menu-practicar-adaptado .menu-lateral-topo .menu-lateral-fechar:focus-visible,
#MMM.menu-practicar-simulacro .menu-lateral-topo .menu-lateral-fechar:hover,
#MMM.menu-practicar-simulacro .menu-lateral-topo .menu-lateral-fechar:focus-visible {
  background: transparent;
  color: #000;
}

#MMM.menu-practicar-adaptado.tema-escuro .menu-lateral-topo .menu-lateral-fechar,
#MMM.menu-practicar-simulacro.tema-escuro .menu-lateral-topo .menu-lateral-fechar {
  background: transparent;
  color: #aaa;
}

#MMM.menu-practicar-adaptado.tema-escuro .menu-lateral-topo .menu-lateral-fechar:hover,
#MMM.menu-practicar-adaptado.tema-escuro .menu-lateral-topo .menu-lateral-fechar:focus-visible,
#MMM.menu-practicar-simulacro.tema-escuro .menu-lateral-topo .menu-lateral-fechar:hover,
#MMM.menu-practicar-simulacro.tema-escuro .menu-lateral-topo .menu-lateral-fechar:focus-visible {
  background: transparent;
  color: #fff;
}

/* Deslizamento lateral do menu de questões. Os quadros explícitos garantem a
   animação mesmo quando o drawer parte de display:none. */
@keyframes ep-practicar-menu-abrir {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

@keyframes ep-practicar-menu-fechar {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}

#MMM.menu-practicar-adaptado,
#MMM.menu-practicar-simulacro {
  transition: none !important;
}

#MMM.menu-practicar-adaptado.expanded,
#MMM.menu-practicar-simulacro.expanded {
  animation: ep-practicar-menu-abrir 260ms cubic-bezier(.22, 1, .36, 1) both;
}

#MMM.menu-practicar-adaptado.is-closing,
#MMM.menu-practicar-simulacro.is-closing {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: none;
  animation: ep-practicar-menu-fechar 220ms cubic-bezier(.4, 0, 1, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  #MMM.menu-practicar-adaptado,
  #MMM.menu-practicar-simulacro {
    animation: none !important;
  }
}
