/* ==========================================================
   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%} }
