/* ==========================================================
   SIMULADOS — mentor e aluno. Reaproveita os cartões do Plano de
   estudo (pm-*). Celular primeiro (360 px): o "×" de tirar matéria
   fica na ponta da linha, e salvar fica sozinho embaixo, longe dele.
   ========================================================== */
.tx-bom{color:var(--ok)}
.tx-medio{color:var(--ouro)}
.tx-ruim{color:var(--atraso)}
.pm-selo.neutro{background:var(--superficie2);color:var(--suave)}
.sm-de{font-size:12px;font-weight:600;color:var(--suave)}
.sm-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- formulário do mentor ---- */
.sm-form{max-width:720px}
.sm-dois{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media (max-width:520px){ .sm-dois{grid-template-columns:1fr} }
.sm-regras{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media (max-width:520px){ .sm-regras{grid-template-columns:1fr} }
.sm-regra{display:block;position:relative;border:1px solid var(--linha);border-radius:13px;padding:12px 14px 12px 42px;
  background:var(--superficie);cursor:pointer}
.sm-regra input{position:absolute;left:14px;top:15px;width:18px;height:18px;accent-color:var(--marca)}
.sm-regra b{display:block;font-size:14.5px}
.sm-regra small{display:block;font-size:12.5px;color:var(--suave);margin-top:2px}
.sm-regra.ativa{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-fraca)}

.sm-plista{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.sm-plinha{background:var(--superficie);border:1px solid var(--linha);border-radius:13px;padding:10px 12px;
  display:grid;grid-template-columns:auto minmax(0,1fr) 74px 64px auto;gap:8px 10px;align-items:end;
  grid-template-areas:"pos nome q peso tirar" ". nota nota nota nota"}
.sm-plinha .pm-pos{grid-area:pos;align-self:center}
.sm-pnome{grid-area:nome}
.sm-pnum.q{grid-area:q} .sm-pnum.peso{grid-area:peso}
.sm-tirar{grid-area:tirar}
.sm-pnota{grid-area:nota}
.sm-pnome input,.sm-pnum input{width:100%;background:var(--superficie2);border:1px solid var(--linha);border-radius:10px;
  padding:10px 11px;font:inherit;font-size:15px;color:var(--texto);min-height:44px}
.sm-pnome input:focus,.sm-pnum input:focus{outline:0;border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-fraca)}
.sm-pnum span{display:block;font-size:11.5px;font-weight:600;color:var(--suave);margin-bottom:4px}
.sm-pnum input{text-align:center;font-variant-numeric:tabular-nums}
.sm-tirar{border:0;background:none;color:var(--atraso);font-size:24px;line-height:1;width:44px;height:44px;
  border-radius:10px;cursor:pointer}
.sm-tirar:hover{background:var(--atraso-fraco)}
.sm-pnota{font-size:12px;color:var(--suave);margin-top:-2px}
@media (max-width:520px){
  /* nome em cima, números embaixo; o × continua na ponta, longe do salvar */
  .sm-plinha{grid-template-columns:auto 1fr 1fr auto;
    grid-template-areas:"pos nome nome tirar" ". q peso ." ". nota nota nota"}
}

.sm-salvar{display:flex;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--linha)}
.sm-salvar .btn-principal{margin-left:auto}
@media (max-width:520px){ .sm-salvar .btn{flex:1} }

/* ---- resultado da turma ---- */
.sm-notas{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.sm-nota-l{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:4px 12px;align-items:center;
  text-align:left;background:var(--superficie);border:1px solid var(--linha);border-radius:12px;padding:10px 14px;
  font:inherit;color:var(--texto);cursor:pointer}
.sm-nota-l:hover{border-color:var(--marca)}
.sm-n-nome{font-weight:600;font-size:14px;overflow-wrap:anywhere}
.sm-nota-l b{grid-row:1/3;grid-column:2;text-align:right;font-family:var(--display);font-size:18px;font-variant-numeric:tabular-nums}
.sm-n-barra{height:5px;border-radius:99px;background:var(--superficie3);overflow:hidden}
.sm-n-barra i{display:block;height:100%;border-radius:99px;background:var(--marca)}
.sm-n-barra i.bom{background:var(--ok)} .sm-n-barra i.ruim{background:var(--atraso)}
.sm-nota-l small{font-size:12px;color:var(--suave);font-variant-numeric:tabular-nums}
.sm-faltam{margin:10px 0 0;font-size:13.5px;color:var(--suave);line-height:1.6}
.sm-tab{width:100%;border-collapse:collapse;margin-top:12px;font-size:13.5px;font-variant-numeric:tabular-nums}
.sm-tab th{text-align:left;font-size:11.5px;color:var(--suave);font-weight:600;padding:6px 4px;border-bottom:1px solid var(--linha)}
.sm-tab td{padding:8px 4px;border-bottom:1px solid var(--linha)}
.sm-tab th:not(:first-child),.sm-tab td:not(:first-child){text-align:center}

/* ---- aluno ---- */
.sm-vez{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-fraca)}
.sm-ori{margin:-4px 0 0;font-size:13.5px;background:var(--superficie2);border-radius:10px;padding:8px 11px}
.sm-nota-g{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.sm-nota-g b{font-family:var(--display);font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.sm-nota-g span{font-size:13px;color:var(--suave)}
.sm-nota-g em{font-style:normal;font-weight:600}
.sm-nota-g em.sobe{color:var(--ok)} .sm-nota-g em.desce{color:var(--atraso)}

.sm-evol{margin-bottom:6px}
.sm-colunas{display:flex;gap:10px;align-items:flex-end;margin-top:14px;overflow-x:auto;padding-bottom:4px}
.sm-col{flex:1 0 64px;max-width:110px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.sm-col b{font-family:var(--display);font-size:14px;font-variant-numeric:tabular-nums}
.sm-col-b{width:28px;height:110px;background:var(--superficie3);border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}
.sm-col-b i{display:block;width:100%;background:var(--marca);border-radius:8px}
.sm-col-b i.bom{background:var(--ok)} .sm-col-b i.ruim{background:var(--atraso)}
.sm-col small{font-size:11.5px;color:var(--suave);line-height:1.25;overflow-wrap:anywhere}

.sm-ao-vivo{position:sticky;top:-1px;z-index:2;box-shadow:0 0 0 6px var(--superficie);margin-top:12px;padding:11px 13px;border-radius:12px;background:linear-gradient(var(--marca-fraca),var(--marca-fraca)),var(--superficie);font-size:14.5px}
.sm-ao-vivo b{font-family:var(--display);font-size:19px}
.sm-lanc{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.sm-lm{border:1px solid var(--linha);border-radius:12px;padding:8px 12px 12px;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.sm-lm legend{padding:0 4px;font-weight:700;font-size:14px}
.sm-lm legend small{font-weight:500;color:var(--suave);font-size:12px}
.sm-lm label span{display:block;font-size:11.5px;font-weight:600;color:var(--suave);margin-bottom:4px}
.sm-lm input{width:100%;min-height:46px;text-align:center;font:inherit;font-size:18px;font-variant-numeric:tabular-nums;
  background:var(--superficie2);border:1px solid var(--linha);border-radius:10px;color:var(--texto)}
.sm-lm input:focus{outline:0;border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-fraca)}
.sm-branco{grid-column:1/-1;font-size:12.5px;color:var(--suave)}
.sm-lm.passou{border-color:var(--atraso)}
.sm-lm.passou .sm-branco{color:var(--atraso);font-weight:700}

/* aviso no Início */
.sm-aviso{display:flex;align-items:center;gap:12px;background:var(--superficie);border:1px solid var(--linha);
  border-radius:14px;padding:12px 14px;margin:14px 0;box-shadow:var(--sombra)}
.sm-aviso.vez{border-color:var(--marca)}
.sm-aviso > div{flex:1;min-width:0}
.sm-aviso b{display:block;font-size:14.5px}
.sm-aviso small{display:block;font-size:12.5px;color:var(--suave)}
.sm-av-ic svg{width:26px;height:26px;stroke:var(--marca);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:420px){ .sm-aviso{flex-wrap:wrap} .sm-aviso .btn{width:100%} }

/* ---- pedir um simulado (aluno) ---- */
.sm-pedir{margin-top:0}
.sm-pedir-fechado{background:var(--superficie2);box-shadow:none}
.sm-trilho{display:block;height:6px;border-radius:99px;background:var(--superficie3);overflow:hidden;margin-top:12px}
.sm-trilho i{display:block;height:100%;background:var(--marca);border-radius:99px}

/* ---- cartão-resposta: o mentor sobe o gabarito, o aluno marca e a plataforma corrige ---- */
.sm-cartao-box{margin-top:6px}
.sm-avisos{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.5}
.sm-pro{align-items:flex-start}
.sm-pro small{display:block;color:var(--suave);font-size:12.5px}
.sm-barra{position:sticky;top:calc(env(safe-area-inset-top,0px) + 57px);z-index:6;display:flex;align-items:center;gap:12px;
  margin:14px 0 4px;padding:10px 12px;background:var(--superficie);border:1px solid var(--linha-forte);border-radius:12px;box-shadow:var(--sombra)}
.sm-barra > div{flex:1;min-width:0}
.sm-barra b{display:block;font-size:14px;font-variant-numeric:tabular-nums}
.sm-faixa{display:block;height:5px;border-radius:99px;background:var(--superficie3);overflow:hidden;margin-top:6px}
.sm-faixa i{display:block;height:100%;width:0;background:var(--marca);border-radius:99px;transition:width .2s ease}
@media (min-width:900px){ .sm-barra{top:8px} }
.sm-bl{margin-top:16px;background:var(--superficie);border:1px solid var(--linha);border-radius:14px;padding:6px 12px 8px}
.sm-bl h3{font-family:var(--display);font-size:15px;margin:10px 0 4px}
.sm-bl h3 small{display:block;font-family:var(--corpo);font-weight:500;font-size:12px;color:var(--suave);margin-top:1px}
.sm-q{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--linha)}
.sm-q:first-of-type{border-top:0}
.sm-qn{flex:none;width:28px;text-align:right;font-size:13px;color:var(--suave);font-variant-numeric:tabular-nums}
.sm-ops{display:flex;gap:6px;flex:1;justify-content:flex-end}
.sm-op{flex:1 1 0;max-width:56px;min-width:40px;height:44px;border-radius:12px;border:1.5px solid var(--linha-forte);
  background:var(--superficie2);color:var(--texto);font:700 15px var(--display);cursor:pointer;touch-action:manipulation}
.sm-op.on{background:var(--marca);border-color:var(--marca);color:var(--marca-texto)}
.sm-op:focus-visible{outline:2px solid var(--marca);outline-offset:2px}
.sm-filtro{display:inline-flex;margin:4px 0 10px;background:var(--superficie2);border:1px solid var(--linha);border-radius:10px;padding:3px}
.sm-filtro button{font:inherit;font-size:12.5px;font-weight:600;border:0;background:none;color:var(--suave);padding:7px 12px;border-radius:8px;cursor:pointer}
.sm-filtro button.ativa{background:var(--marca);color:var(--marca-texto)}
.sm-corr{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sm-corr li{display:flex;gap:11px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--superficie);border:1px solid var(--linha);border-left-width:4px}
.sm-c-certa{border-left-color:var(--ok)!important}
.sm-c-errada{border-left-color:var(--atraso)!important}
.sm-c-branca{border-left-color:var(--linha-forte)!important}
.sm-c-n{flex:none;min-width:26px;font-family:var(--display);font-size:15px}
.sm-c-t{min-width:0;font-size:13.5px}
.sm-c-t small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px;overflow-wrap:anywhere}
.sm-c-t a{color:var(--marca);font-weight:600}
.sm-dificeis{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sm-dificeis li{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--superficie);border:1px solid var(--linha);border-radius:12px}
.sm-df-n{flex:none;min-width:34px;font-family:var(--display)}
.sm-df-t{flex:1;min-width:0}
.sm-df-m{display:block;font-size:13.5px;font-weight:600;overflow-wrap:anywhere}
.sm-df-t small{color:var(--suave);font-size:12.5px}

/* ---- PDF do simulado: escolher o arquivo ---- */
.sm-pdf-nome{margin:0;font-size:13.5px;overflow-wrap:anywhere}
.sm-pdf-nome small{color:var(--suave)}
.sm-links{margin-top:12px}
.sm-links summary{cursor:pointer;color:var(--marca);font-weight:600;font-size:13px}
.sm-linkbtn{background:none;border:0;padding:0;color:var(--marca);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}

/* ---- orientações do simulado, trava, formato Certo/Errado ---- */
.sm-como{margin:10px 0 0;border:1px solid var(--linha);border-radius:12px;background:var(--superficie2);padding:2px 12px}
.sm-como summary{cursor:pointer;font-weight:700;font-size:13.5px;color:var(--marca);padding:10px 0}
.sm-como-t{white-space:pre-line;font-size:14px;line-height:1.6;padding:0 0 12px;overflow-wrap:anywhere}
.sm-como-box{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:var(--marca-fraca);border:1px solid var(--marca)}
.sm-como-box b{display:block;font-family:var(--display);font-size:14px;margin-bottom:4px}
.sm-trava{background:var(--superficie2);box-shadow:none;margin-bottom:14px}
.sm-op-ce{max-width:none;flex:1 1 0;font-size:14px}
.sm-q-falta{border-left:4px solid var(--atraso);padding-left:8px;background:var(--atraso-fraco);border-radius:8px}
.sm-barra .icone-btn{flex:none}

/* ---- tela do aluno em passos: o próximo passo no topo e 3 passos por simulado ---- */
.sm-hero{background:var(--marca-fraca);border:1px solid var(--marca);border-radius:16px;padding:16px;margin:0 0 16px}
.sm-hero-calmo{background:var(--superficie2);border-color:var(--linha)}
.sm-hero-rot{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--marca)}
.sm-hero h2{font-family:var(--display);font-size:24px;line-height:1.2;margin:4px 0 4px}
.sm-hero p{margin:0 0 12px;font-size:14px;color:var(--suave);line-height:1.45}
.sm-hero .btn{width:100%;min-height:50px;font-size:16px;justify-content:center;text-align:center}
.sm-passos{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.sm-passo{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid var(--linha);background:var(--superficie)}
.sm-pn{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:800 14px var(--display);background:var(--superficie3);color:var(--suave)}
.sm-p-atual{border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-fraca)}
.sm-p-atual .sm-pn{background:var(--marca);color:var(--marca-texto)}
.sm-p-feito .sm-pn{background:var(--ok);color:#fff}
.sm-p-trava{background:var(--superficie2)}
.sm-p-trava .sm-pt > b{color:var(--suave)}
.sm-pt{flex:1;min-width:0}
.sm-pt > b{display:block;font-size:15px}
.sm-pt small{display:block;color:var(--suave);font-size:13px;margin-top:2px;line-height:1.45}
.sm-pb{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sm-pb .btn{min-height:44px}
.sm-nota-p b{font-family:var(--display);font-size:20px;margin-right:4px}
.sm-sim .sm-pos{display:block;margin-top:4px}
