/* v6-funil: o caminho do aluno e do responsável até a turma (30/09/2026). Carregada depois do style.css e das outras camadas v6.
   Cobre: avisos (ok, erro, aviso), funil escola > série > turma, tela do código, abas aluno/professor, entrar, cadastro,
   área dos professores, área de apoio e a visão "Minha turma". Só usa tokens --e-* (claro e escuro valem igual).
   Escopo: .ensino-aviso, .ensino-funil*, .ensino-perfil*, e os cartões .ensino-porta dentro de .e-pagina (páginas /entrar/,
   /cadastro/, /professores/). A porta que aparece dentro de um material (.e-trancado) é da frente Material e não é tocada aqui.
   A marcação vem de ensino-funil.php, ensino-perfis.php, ensino-contas.php e ensino-apoio.php. */

/* ==========================================================================
   1. Avisos: um padrão só para ok, erro e aviso (ícone + frase curta + ação)
   ========================================================================== */
body .ensino-aviso{
  --f-cor:var(--e-tinta-2);
  --f-icone:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 11v5.5M12 7.5h.01'/></svg>");
  position:relative;margin:0 0 1rem;padding:.6rem .9rem .6rem 2.6rem;
  font-size:.9375rem;line-height:1.45;font-weight:500;color:var(--e-tinta);
  background:color-mix(in srgb,var(--f-cor) 9%,var(--e-cartao));
  border:1px solid color-mix(in srgb,var(--f-cor) 38%,transparent);border-radius:10px;
}
body .ensino-aviso::before{
  content:"";position:absolute;left:.85rem;top:.72rem;width:1.15rem;height:1.15rem;background:var(--f-cor);
  -webkit-mask:var(--f-icone) center/contain no-repeat;mask:var(--f-icone) center/contain no-repeat;
}
body .ensino-aviso--ok{--f-cor:var(--e-ok);--f-icone:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m8 12.5 3 3 5-6'/></svg>")}
body .ensino-aviso--erro{--f-cor:var(--e-erro);--f-icone:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7.5v5.5M12 16.5h.01'/></svg>")}
body .ensino-aviso--aviso{--f-cor:var(--e-atencao)}
body .ensino-aviso a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:.09em;text-decoration-color:currentColor}
body .ensino-aviso a:hover{text-decoration-thickness:.14em}
body .ensino-aviso strong{font-weight:700}

/* ==========================================================================
   2. Funil: página, trilha, etapa e títulos
   ========================================================================== */
body .ensino-funil{max-width:40rem;margin:0;font-size:1.0625rem;line-height:1.55}
body .ensino-funil--codigo{max-width:34rem}
body .ensino-funil>*+*{margin-top:0}
body .ensino-funil p{margin:0 0 1rem}

/* trilha: "‹ Voltar" e migalhas; no celular, só o Voltar e uma linha de contexto (escola › série) */
body .ensino-funil-trilha{display:flex;flex-wrap:wrap;align-items:center;gap:0 1rem;margin:-.4rem 0 .5rem;font-size:.875rem;line-height:1.4;color:var(--e-tinta-2)}
body .ensino-funil-voltar{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-size:.9375rem;font-weight:600;color:var(--e-link);text-decoration:none}
body .ensino-funil-voltar:hover{text-decoration:underline;text-underline-offset:.2em}
body .ensino-funil-voltar>span:first-child{font-size:1.35em;line-height:1;transform:translateY(-.06em)}
body .ensino-funil-voltar{padding-right:.25rem}
body .ensino-funil-voltar__para{font-weight:500}
body .ensino-funil-migalhas{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0 0 0 1rem;border-left:1px solid var(--e-borda)}
body .ensino-funil-migalhas li{display:inline-flex;align-items:center;margin:0;padding:0}
body .ensino-funil-migalhas li+li::before{content:"›";margin:0 .2rem;color:var(--e-tinta-2)}
body .ensino-funil-migalhas a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding-inline:.2rem;color:var(--e-tinta-2);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:.2em}
body .ensino-funil-migalhas a:hover{color:var(--e-tinta);text-decoration-color:currentColor}
body .ensino-funil-migalhas [aria-current]{color:var(--e-tinta);font-weight:600}
body .ensino-funil-contexto{display:none;flex-basis:100%;margin:-.35rem 0 .35rem;font-size:.875rem;color:var(--e-tinta-2)}
@media (max-width:40rem){
  body .ensino-funil-migalhas{display:none}
  body .ensino-funil-contexto{display:block}
  body .ensino-funil-trilha{gap:0}
}

/* etapa: texto pequeno e barra fina */
body .ensino-funil-etapa{display:flex;align-items:center;gap:.75rem;margin:0 0 .6rem;font-size:.75rem;font-weight:700;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:var(--e-tinta-2)}
body .ensino-funil-barra{position:relative;flex:0 0 5.5rem;height:3px;border-radius:3px;background:color-mix(in srgb,var(--e-tinta-2) 24%,transparent);overflow:hidden}
body .ensino-funil-barra i{position:absolute;inset:0 auto 0 0;display:block;border-radius:inherit;background:var(--e-escola)}

body .ensino-funil-titulo{margin:0 0 1.1rem;font-family:var(--e-fonte-titulo);font-size:clamp(1.5rem,1.3rem + .9vw,1.875rem);font-weight:600;line-height:1.18;letter-spacing:-.01em;text-wrap:balance}

/* ==========================================================================
   3. Escolha de escola, série e turma: uma linha por opção, com a contagem ao lado
   ========================================================================== */
body .ensino-funil-opcoes{display:grid;grid-template-columns:minmax(0,1fr);gap:.625rem;list-style:none;margin:0 0 1.5rem;padding:0}
body .ensino-funil-opcoes>li{margin:0;padding:0}
body .ensino-funil-opcoes>li::before{content:none;display:none}
body .ensino-funil-opcoes a{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem 1rem;
  min-height:4.25rem;padding:.85rem 2.9rem .85rem 1.15rem;
  background:var(--e-cartao);border:1px solid var(--e-borda);border-left:1px solid var(--e-borda);border-radius:12px;box-shadow:none;
  color:var(--e-tinta);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
body .ensino-funil-opcoes a::after{
  content:"";position:absolute;right:1.15rem;top:50%;width:.55rem;height:.55rem;margin:0;font-size:0;
  border:solid var(--e-escola);border-width:2px 2px 0 0;translate:-.15rem -50%;rotate:45deg;
}
body .ensino-funil-opcoes a:hover{border-color:var(--e-escola);box-shadow:var(--e-sombra);transform:translateY(-1px)}
body .ensino-funil-opcoes a:active{transform:none}
body .ensino-opcao__corpo{display:flex;flex-direction:column;gap:.1rem;min-width:0}
body .ensino-funil-opcoes strong{font-family:var(--e-fonte-titulo);font-size:1.1875rem;font-weight:600;line-height:1.25;color:var(--e-tinta);overflow-wrap:anywhere}
body .ensino-funil-opcoes .ensino-opcao__sub{display:block;font-size:.875rem;line-height:1.4;color:var(--e-tinta-2)}
/* nome da turma e, ao lado, o rótulo da matéria (o que vem depois do "·" no cadastro: Inglês, UC8…) */
body .ensino-opcao__nome{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .65rem;min-width:0}
body .ensino-opcao__materia{display:inline-flex;align-items:center;padding:.1rem .6rem;border:1px solid var(--e-borda-campo);border-radius:99px;font-family:var(--e-fonte-texto);font-size:.75rem;font-weight:700;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--e-tinta-2)}
body .ensino-funil-titulo .ensino-chip{vertical-align:.25em;margin-left:.35rem}
body .ensino-funil-opcoes .ensino-opcao__meta{font-size:.875rem;line-height:1.35;color:var(--e-tinta-2);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
body .ensino-funil-opcoes--minhas .ensino-opcao__meta{font-weight:600;color:var(--e-link)}
@media (max-width:30rem){
  body .ensino-funil-opcoes a{grid-template-columns:minmax(0,1fr);gap:.35rem}
  body .ensino-funil-opcoes .ensino-opcao__meta{text-align:left;white-space:normal}
}
body .ensino-funil-minhas{margin:0 0 2rem;padding:0 0 1.5rem;border-bottom:1px solid var(--e-borda)}
body .ensino-funil-minhas>.ensino-funil-titulo{margin-bottom:.9rem}
body .ensino-funil-atalho{margin:0 0 1rem}

/* ==========================================================================
   4. Abas "Sou aluno / Sou professor ou responsável": uma linha, sublinhado fino
   ========================================================================== */
body .ensino-funil-quem{display:flex;flex-wrap:wrap;gap:0 1.5rem;max-width:none;margin:0 0 1.25rem;padding:0;border:0;border-bottom:1px solid var(--e-borda);border-radius:0;background:transparent}
body .ensino-funil-quem a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0 0 -1px;padding:0 .1rem;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--e-tinta-2);font-size:clamp(.875rem,3.7vw,.9375rem);font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap}
body .ensino-funil-quem a:hover{background:transparent;color:var(--e-tinta)}
body .ensino-funil-quem a[aria-current]{background:transparent;box-shadow:none;color:var(--e-tinta);border-bottom-color:var(--e-escola)}
:root[data-tema="escuro"] body .ensino-funil-quem a[aria-current]{color:var(--e-tinta)}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) body .ensino-funil-quem a[aria-current]{color:var(--e-tinta)}}

/* ==========================================================================
   5. O cartão (porta) nas páginas de entrada: plano, borda de 1 px, sem faixa nem chave gigante
   ========================================================================== */
body .e-pagina .ensino-porta{
  --e-acento-porta:var(--e-escola);
  position:relative;max-width:none;margin:0 0 1.5rem;padding:1.5rem;overflow:visible;
  background:var(--e-cartao);border:1px solid var(--e-borda);border-radius:14px;box-shadow:none;
  color:var(--e-tinta);font-size:1.0625rem;line-height:1.55;
}
body .e-pagina .ensino-porta::before,body .e-pagina .ensino-porta::after{display:none}
body .e-pagina .ensino-porta--conta,body .e-pagina .ensino-porta--professor{--e-acento-porta:var(--e-acento)}
body .e-pagina .ensino-porta--apoio{--e-acento-porta:var(--e-ouro-texto)}
@media (max-width:30rem){body .e-pagina .ensino-porta{padding:1.25rem}}

body .e-pagina .ensino-porta .ensino-porta__titulo,
body .e-pagina .ensino-porta>:is(h2,h3):first-child{
  display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .6rem;margin:0 0 1rem;padding:0;border:0;
  font-family:var(--e-fonte-titulo);font-size:clamp(1.3rem,1.2rem + .5vw,1.5rem);font-weight:600;line-height:1.2;letter-spacing:-.005em;color:var(--e-tinta);text-wrap:balance;
}
body .e-pagina .ensino-porta .ensino-porta__titulo::before{
  content:"";flex:none;width:1.4rem;height:1.4rem;background:var(--e-acento-porta);
  -webkit-mask:var(--e-porta-icone) center/contain no-repeat;mask:var(--e-porta-icone) center/contain no-repeat;
}
body .e-pagina .ensino-porta>p{margin:0 0 1rem;font-size:1.0625rem;line-height:1.55;color:var(--e-tinta-2)}
body .e-pagina .ensino-porta .ensino-porta__sub{margin:-.35rem 0 .75rem;font-size:.9375rem}
body .e-pagina .ensino-porta .ensino-porta__ajuda{margin:.9rem 0 0;font-size:.875rem;line-height:1.5;color:var(--e-tinta-2)}
body .e-pagina .ensino-porta .ensino-porta__ajuda a{color:var(--e-link);font-weight:600}
body .ensino-chip{display:inline-flex;align-items:center;padding:.12rem .6rem;border:1px solid var(--e-borda-campo);border-radius:99px;font-family:var(--e-fonte-texto);font-size:.75rem;font-weight:700;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--e-tinta-2)}

/* campos: rótulo, campo, ajuda embaixo, erro junto do campo */
body .e-pagina .ensino-porta label{display:block;margin:1rem 0 .4rem;font-size:1rem;font-weight:600;line-height:1.35;color:var(--e-tinta)}
body .e-pagina .ensino-porta label .ensino-miudo{font-weight:400}
body .e-pagina .ensino-porta :is(input[type=text],input[type=email],input[type=password],input[type=tel]){
  width:100%;min-height:52px;padding:.65rem .9rem;font-size:1.125rem;line-height:1.3;
  background:var(--e-cartao);color:var(--e-tinta);border:1.5px solid var(--e-borda-campo);border-radius:10px;box-shadow:none;
}
body .e-pagina .ensino-porta :is(input[type=text],input[type=email],input[type=password],input[type=tel]):focus-visible{border-color:var(--e-foco);outline:2px solid var(--e-foco);outline-offset:1px}
body .e-pagina .ensino-porta input[readonly]{background:var(--e-superficie);color:var(--e-tinta-2);border-style:dashed}
body .e-pagina .ensino-porta input[aria-invalid=true]{border-color:var(--e-erro);box-shadow:0 0 0 3px color-mix(in srgb,var(--e-erro) 18%,transparent)}
body .e-pagina .ensino-porta input::placeholder{color:var(--e-tinta-2);opacity:.85}
body .ensino-campo{margin:0}
body .ensino-campo-ajuda{margin:.4rem 0 0;font-size:.875rem;line-height:1.45;color:var(--e-tinta-2)}
body .ensino-campo .ensino-aviso{margin:.5rem 0 0}
body .ensino-grupo{min-width:0;margin:1.5rem 0 0;padding:0;border:0}
body .ensino-grupo>legend{display:block;width:100%;margin:0 0 .15rem;padding:0 0 .5rem;border-bottom:1px solid var(--e-borda);font-size:.75rem;font-weight:700;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--e-tinta-2)}
body .e-pagina .ensino-porta .ensino-check{display:flex;align-items:flex-start;gap:.7rem;min-height:44px;margin:.35rem 0 0;padding:.35rem 0;font-size:1rem;font-weight:400;line-height:1.5}
body .e-pagina .ensino-porta .ensino-check input{flex:none;width:1.25rem;height:1.25rem;margin:.2rem 0 0;accent-color:var(--e-acento-porta)}
body .ensino-campo--termos{margin-top:1.25rem}

/* botão primário: um por cartão, largo, logo abaixo do campo */
body .e-pagina .ensino-porta button[type=submit]{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:1.1rem 0 0;padding:.7rem 1.25rem;
  font-size:1.0625rem;font-weight:700;line-height:1.2;
  background:var(--e-acento-porta);color:#fff;border:0;border-radius:10px;box-shadow:none;transform:none;
}
body .e-pagina .ensino-porta button[type=submit]:hover{background:var(--e-acento-porta);color:#fff;filter:brightness(.92);transform:none;box-shadow:none}
:root[data-tema="escuro"] body .e-pagina .ensino-porta button[type=submit],
:root[data-tema="escuro"] body .e-pagina .ensino-porta button[type=submit]:hover{background:var(--e-botao);color:var(--e-botao-texto)}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]) body .e-pagina .ensino-porta button[type=submit],
  :root:not([data-tema="claro"]) body .e-pagina .ensino-porta button[type=submit]:hover{background:var(--e-botao);color:var(--e-botao-texto)}
}
body .e-pagina .ensino-porta button[type=submit]:focus-visible{outline:3px solid var(--e-foco);outline-offset:3px}

/* campo do código: grande, monoespaçado, maiúsculas, letras espaçadas */
body .e-pagina .ensino-porta--turma input[name=codigo],
body .e-pagina .ensino-porta--apoio input[name=codigo]{
  min-height:60px;padding-inline:.9rem;font-family:var(--e-fonte-mono);font-size:1.5rem;font-weight:600;line-height:1.2;
  letter-spacing:.18em;text-indent:.18em;text-transform:uppercase;text-align:center;
}

/* ==========================================================================
   6. Entrar (conta), primeiro acesso, área dos professores
   ========================================================================== */
body .ensino-perfil-ajuda{margin:0 0 .5rem;font-size:.9375rem;line-height:1.5;color:var(--e-tinta-2)}
body .e-pagina .ensino-porta .ensino-perfil-subtitulo{margin:1rem 0 0;padding:0;border:0;font-family:var(--e-fonte-texto);font-size:.75rem;font-weight:700;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--e-tinta-2)}
body .e-pagina .ensino-porta .ensino-perfil-subtitulo+form label:first-of-type{margin-top:.6rem}

/* abas Aluno / Pais e responsáveis / Professores: sublinhado fino, uma linha */
body .ensino-perfil-abas,body .ensino-porta .ensino-perfil-abas{display:flex;flex-wrap:wrap;grid-template-columns:none;gap:0 1.1rem;margin:0 0 1rem;padding:0;border:0;border-bottom:1px solid var(--e-borda);border-radius:0;background:transparent}
body .ensino-perfil-abas button[role=tab],body .ensino-porta .ensino-perfil-abas button[role=tab]{
  display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:44px;min-height:44px;margin:0 0 -1px;padding:0 .1rem;
  background:transparent;color:var(--e-tinta-2);border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;filter:none;transform:none;
  font-size:clamp(.875rem,3.7vw,.9375rem);font-weight:600;line-height:1.2;text-align:center;white-space:nowrap;
}
body .ensino-perfil-abas button[role=tab]:hover,body .ensino-porta .ensino-perfil-abas button[role=tab]:hover{background:transparent;color:var(--e-tinta);box-shadow:none;transform:none}
body .ensino-perfil-abas button[role=tab][aria-selected=true],body .ensino-porta .ensino-perfil-abas button[role=tab][aria-selected=true]{background:transparent;color:var(--e-tinta);border-bottom-color:var(--e-escola);box-shadow:none}
:root[data-tema="escuro"] body .ensino-porta .ensino-perfil-abas button[role=tab]:not([aria-selected=true]){color:var(--e-tinta-2)}
:root[data-tema="escuro"] body .ensino-porta .ensino-perfil-abas button[role=tab][aria-selected=true]{color:var(--e-tinta)}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]) body .ensino-porta .ensino-perfil-abas button[role=tab]:not([aria-selected=true]){color:var(--e-tinta-2)}
  :root:not([data-tema="claro"]) body .ensino-porta .ensino-perfil-abas button[role=tab][aria-selected=true]{color:var(--e-tinta)}
}

/* "Primeiro acesso" recolhido: o botão de entrar continua sendo o único primário */
body .ensino-perfil-primeiro{margin:1.25rem 0 0;border-top:1px solid var(--e-borda)}
body .ensino-perfil-primeiro>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:48px;margin:0;padding:.25rem 0;list-style:none;cursor:pointer;font-weight:600;color:var(--e-link)}
body .ensino-perfil-primeiro>summary::-webkit-details-marker{display:none}
body .ensino-perfil-primeiro>summary::after{content:"";flex:none;width:.55rem;height:.55rem;margin-right:.3rem;border:solid currentColor;border-width:0 2px 2px 0;rotate:45deg;translate:0 -.1rem;transition:rotate .18s ease}
body .ensino-perfil-primeiro[open]>summary::after{rotate:225deg;translate:0 .1rem}
body .ensino-perfil-primeiro__corpo{padding:.25rem 0 .25rem}
body .e-pagina .ensino-porta .ensino-perfil-form--pre button[type=submit]{background:transparent;color:var(--e-tinta);border:1.5px solid var(--e-borda-campo)}
body .e-pagina .ensino-porta .ensino-perfil-form--pre button[type=submit]:hover{background:var(--e-superficie);color:var(--e-tinta);filter:none}
:root[data-tema="escuro"] body .e-pagina .ensino-porta .ensino-perfil-form--pre button[type=submit],
:root[data-tema="escuro"] body .e-pagina .ensino-porta .ensino-perfil-form--pre button[type=submit]:hover{background:transparent;color:var(--e-tinta)}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]) body .e-pagina .ensino-porta .ensino-perfil-form--pre button[type=submit],
  :root:not([data-tema="claro"]) body .e-pagina .ensino-porta .ensino-perfil-form--pre button[type=submit]:hover{background:transparent;color:var(--e-tinta)}
}
body .ensino-perfil--dentro{margin:0 0 1.5rem;padding:1.1rem 1.25rem;background:var(--e-cartao);border:1px solid var(--e-borda);border-radius:14px;font-size:1.0625rem;line-height:1.55}
body .ensino-perfil--dentro p{margin:0 0 .75rem}
body .ensino-perfil-sair button{display:inline-flex;min-height:44px;margin-top:.5rem;padding:0 1rem;background:transparent;color:var(--e-tinta);border:1.5px solid var(--e-borda-campo);border-radius:10px;box-shadow:none;font-size:.9375rem;font-weight:600}
body .ensino-perfil-sair button:hover{background:var(--e-superficie);color:var(--e-tinta);transform:none;box-shadow:none}

/* ==========================================================================
   7. Área de apoio (professores e responsáveis): e-mail como alternativa recolhida
   ========================================================================== */
body .ensino-apoio-email{margin:1.25rem 0 0;border-top:1px solid var(--e-borda)}
body .ensino-apoio-email>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:48px;margin:0;padding:.25rem 0;list-style:none;cursor:pointer;font-weight:600;color:var(--e-link)}
body .ensino-apoio-email>summary::-webkit-details-marker{display:none}
body .ensino-apoio-email>summary::after{content:"";flex:none;width:.55rem;height:.55rem;margin-right:.3rem;border:solid currentColor;border-width:0 2px 2px 0;rotate:45deg;translate:0 -.1rem;transition:rotate .18s ease}
body .ensino-apoio-email[open]>summary::after{rotate:225deg;translate:0 .1rem}
body .e-pagina .ensino-porta .ensino-apoio-email button[type=submit]{background:transparent;color:var(--e-tinta);border:1.5px solid var(--e-borda-campo)}
body .e-pagina .ensino-porta .ensino-apoio-email button[type=submit]:hover{background:var(--e-superficie);color:var(--e-tinta);filter:none}
:root[data-tema="escuro"] body .e-pagina .ensino-porta .ensino-apoio-email button[type=submit],
:root[data-tema="escuro"] body .e-pagina .ensino-porta .ensino-apoio-email button[type=submit]:hover{background:transparent;color:var(--e-tinta)}
@media (prefers-color-scheme:dark){
  :root:not([data-tema="claro"]) body .e-pagina .ensino-porta .ensino-apoio-email button[type=submit],
  :root:not([data-tema="claro"]) body .e-pagina .ensino-porta .ensino-apoio-email button[type=submit]:hover{background:transparent;color:var(--e-tinta)}
}

/* ==========================================================================
   8. /entrar/ na primeira tela: turma (código) à esquerda, conta à direita; no celular, uma coluna
   ========================================================================== */
@media (min-width:64rem){
  body .e-pagina:has(.e-prosa>.ensino-perfil) :is(.e-pagina__cabeca,.e-prosa){max-width:64rem}
  body .e-pagina .e-prosa:has(>.ensino-perfil){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 3.5rem;align-items:start}
  body .e-pagina .e-prosa:has(>.ensino-perfil)>*{margin-top:0}
  body .e-pagina .e-prosa:has(>.ensino-perfil)>.ensino-funil{grid-column:1;max-width:none}
  body .e-pagina .e-prosa:has(>.ensino-perfil)>.ensino-perfil{grid-column:2;grid-row:1}
  body .e-pagina .e-prosa:has(>.ensino-perfil)>:not(.ensino-funil):not(.ensino-perfil){display:none}
}
@media (max-width:63.99rem){
  body .e-pagina .e-prosa>.ensino-perfil{margin-top:1.5rem}
}

/* ==========================================================================
   9. Minha turma (depois do código) e atalhos
   ========================================================================== */
body .ensino-funil--turma .ensino-funil-titulo{margin-bottom:.9rem}
body .ensino-funil-outras{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 1rem;font-size:.9375rem;color:var(--e-tinta-2)}
body .ensino-funil-outras a{display:inline-flex;align-items:center;min-height:44px;padding:.3rem .95rem;border:1px solid var(--e-borda-campo);border-radius:99px;background:var(--e-cartao);color:var(--e-link);font-weight:600;text-decoration:none}
body .ensino-funil-outras a:hover{border-color:var(--e-escola)}
body .ensino-funil-praticar{display:grid;gap:.15rem;margin:0 0 1.5rem;padding:1rem 1.25rem;background:var(--e-cartao);border:1px solid var(--e-borda);border-left:1px solid var(--e-borda);border-radius:12px;color:var(--e-tinta);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}
body .ensino-funil-praticar:hover{border-color:var(--e-escola);box-shadow:var(--e-sombra)}
body .ensino-funil-praticar>strong{font-family:var(--e-fonte-titulo);font-size:1.1875rem;font-weight:600;line-height:1.25}
body .ensino-funil-praticar .ensino-miudo{margin:0;font-size:.875rem;line-height:1.45}
body .ensino-funil-dica{margin:1.5rem 0 0;padding:.75rem 1rem;background:var(--e-superficie);border:1px solid var(--e-borda);border-radius:10px;font-size:.9375rem;line-height:1.5;color:var(--e-tinta-2)}
body .ensino-funil-dica button{display:inline-flex;min-height:44px;margin-left:.5rem;padding:0 .95rem;background:transparent;color:var(--e-tinta);border:1.5px solid var(--e-borda-campo);border-radius:10px;box-shadow:none;font-size:.9375rem;font-weight:600}
body .ensino-funil-dica button:hover{background:var(--e-cartao);color:var(--e-tinta);transform:none;box-shadow:none}
/* links de saída da Minha turma: uma pilha discreta, todos com 44 px de altura */
body .ensino-funil-mais{margin:2rem 0 0;padding-top:.5rem;border-top:1px solid var(--e-borda)}
body .ensino-funil-mais>*{margin:0;font-size:.9375rem}
body .ensino-funil-mais a{display:inline-flex;align-items:center;min-height:44px;color:var(--e-link);font-weight:600}
body .ensino-funil-mais .ensino-funil-esquecer{margin:0}
body .ensino-funil-esquecer p{margin:.25rem 0 .75rem;font-size:.875rem}
body .ensino-funil-esquecer summary{display:flex;align-items:center;min-height:44px;color:var(--e-tinta-2);cursor:pointer}
body .ensino-funil-editor{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin:0 0 1.25rem;padding:.6rem .9rem;background:var(--e-superficie);border:1px solid var(--e-borda);border-radius:10px;font-size:.9375rem}
body .ensino-funil-editor a{display:inline-flex;align-items:center;min-height:44px}
body .ensino-funil-editor .ensino-funil-botao{min-height:44px;padding:0 1rem;font-size:.9375rem}
body .ensino-funil-botao{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.5rem;border-radius:10px;font-weight:700;text-decoration:none}

/* ==========================================================================
   10. Movimento: nada além de transform/opacity, e desligado quando a pessoa pede
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  body .ensino-funil-opcoes a,body .ensino-funil-praticar,body .ensino-perfil-primeiro>summary::after,body .ensino-apoio-email>summary::after{transition:none}
  body .ensino-funil-opcoes a:hover{transform:none}
}
