/* ==========================================================
   CADASTRO DE CONTEÚDO — aba "Conteúdo" do painel do mentor.

   As mesmas regras que valem para o aluno valem aqui: a tela abre
   mostrando o que existe, cada número tem rótulo, o que falta aparece
   em cor de aviso e nada de botão que surge do nada. Celular primeiro.
   ========================================================== */

/* ---- faixa que diz onde ele está na jornada ---- */
.ct-guia{background:var(--superficie);border:1px solid var(--linha);
  border-left:3px solid var(--marca);border-radius:0 14px 14px 0;
  padding:13px 15px;margin-top:16px}
.ct-passo{display:inline-block;font-family:var(--display);font-size:10.5px;
  font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--marca);
  background:var(--marca-fraca);padding:3px 9px;border-radius:999px;margin-bottom:7px}
.ct-guia p{margin:0;font-size:13px;line-height:1.55;color:var(--texto)}
.ct-guia .ct-depois{margin-top:5px;color:var(--suave);font-size:12.5px}

/* ---- barra de ações ---- */
.ct-acoes{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 0}

/* ---- resumo do todo ---- */
.ct-resumo{display:grid;gap:9px;margin-top:14px;
  grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}
.ct-resumo > div{background:var(--superficie);border:1px solid var(--linha);
  border-radius:12px;padding:11px 13px}
.ct-resumo b{display:block;font-family:var(--display);font-size:20px;font-weight:700;
  font-variant-numeric:tabular-nums;line-height:1.15}
.ct-resumo span{font-size:11.5px;color:var(--suave);font-weight:600}
.ct-resumo .falta b{color:var(--atraso)}
.ct-resumo .ok b{color:var(--ok)}

/* ---- cartões de disciplina ---- */
.ct-cartoes{display:grid;gap:11px;margin-top:14px;grid-template-columns:1fr}
@media (min-width:700px){.ct-cartoes{grid-template-columns:1fr 1fr}}

.ct-disc{display:flex;flex-direction:column;gap:9px;width:100%;text-align:left;
  background:var(--superficie);border:1px solid var(--linha);border-radius:14px;
  padding:14px 15px;cursor:pointer;font:inherit;color:inherit;
  box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s ease}
.ct-disc:hover{border-color:var(--marca)}
.ct-disc:focus-visible{outline:2px solid var(--marca);outline-offset:2px}
.ct-disc h3{font-family:var(--display);font-size:15px;font-weight:700;line-height:1.3;
  margin:0;letter-spacing:-.01em}
.ct-real{display:block;font-size:11.5px;color:var(--suave);margin-top:2px;line-height:1.4}

.ct-barra{display:block;height:5px;border-radius:99px;background:var(--superficie3);
  overflow:hidden}
.ct-barra i{display:block;height:100%;background:var(--marca);border-radius:99px}

.ct-nums{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto}
.ct-nums > span{min-width:0}
.ct-nums b{display:block;font-family:var(--display);font-size:16px;font-weight:700;
  font-variant-numeric:tabular-nums;line-height:1.2}
.ct-nums span span{font-size:10.5px;color:var(--suave);text-transform:uppercase;
  letter-spacing:.05em;font-weight:600}

.ct-alerta{display:inline-block;align-self:flex-start;font-size:11.5px;font-weight:600;
  color:var(--atraso);background:var(--atraso-fraco);padding:3px 9px;border-radius:999px}

/* ---- cabeçalho de uma disciplina ---- */
.ct-cabeca{margin-top:16px}
.ct-cabeca h2{font-family:var(--display);font-size:19px;font-weight:700;
  margin:11px 0 0;letter-spacing:-.015em}
.ct-cabeca .ct-real{margin-top:3px}
.ct-sub{margin:4px 0 0;font-size:12.5px;color:var(--suave);
  font-variant-numeric:tabular-nums}
.ct-aviso{color:var(--atraso)}

/* ---- lista de assuntos ---- */
.ct-assuntos{margin-top:14px;background:var(--superficie);border:1px solid var(--linha);
  border-radius:14px;overflow:hidden}
.ct-as{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;
  padding:12px 14px;background:none;border:0;border-top:1px solid var(--linha);
  font:inherit;color:inherit;cursor:pointer}
.ct-as:first-child{border-top:0}
.ct-as:hover{background:var(--superficie2)}
.ct-as:focus-visible{outline:2px solid var(--marca);outline-offset:-2px}
.ct-ord{flex:none;width:24px;padding-top:2px;font-family:var(--display);font-weight:700;
  font-size:12px;color:var(--suave);font-variant-numeric:tabular-nums}
.ct-as .ct-meio{flex:1;min-width:0}
.ct-as h4{font-family:var(--display);font-size:14px;font-weight:600;line-height:1.35;margin:0}
.ct-det{margin:3px 0 0;font-size:11.5px;color:var(--suave);
  font-variant-numeric:tabular-nums}
.ct-dica{margin:6px 0 0;padding-left:10px;border-left:2px solid var(--marca-fraca);
  font-size:12.5px;line-height:1.45;font-style:italic;color:var(--texto)}
.ct-dica.ct-vazia{font-style:normal;color:var(--atraso);border-left-color:var(--atraso-fraco)}
.ct-seta{flex:none;align-self:center;color:var(--linha-forte);font-size:18px}

/* ---- formulários dentro do diálogo ---- */
.ct-bloco{margin-top:15px;padding-top:14px;border-top:1px solid var(--linha)}
.ct-bloco:first-of-type{border-top:0;padding-top:0}
.ct-bloco > h4{font-family:var(--display);font-size:11.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:var(--suave);margin:0 0 11px}

.ct-campos{display:grid;gap:12px}
.ct-campos + .ct-campos{margin-top:12px}
@media (min-width:520px){.ct-dois{grid-template-columns:1fr 1fr}}

.ct-campos label{display:block;font-size:12.5px;font-weight:600}
.ct-campos label em{display:block;font-style:normal;font-weight:400;color:var(--suave);
  font-size:11.5px;margin-top:1px;line-height:1.4}
.ct-campos input,
.ct-campos select,
.ct-campos textarea{width:100%;margin-top:5px;font:inherit;font-size:14px;
  padding:9px 11px;border-radius:10px;border:1px solid var(--linha-forte);
  background:var(--superficie2);color:var(--texto)}
.ct-campos textarea{resize:vertical;min-height:62px;line-height:1.5}
.ct-campos input:focus,
.ct-campos select:focus,
.ct-campos textarea:focus{outline:2px solid var(--marca);outline-offset:1px;
  border-color:var(--marca)}

/* a conta que muda enquanto se digita */
.ct-conta{margin-top:12px;background:var(--marca-fraca);border-radius:12px;
  padding:11px 13px;font-size:12.5px;line-height:1.6;color:var(--texto)}
.ct-conta b{font-family:var(--display);font-variant-numeric:tabular-nums}
.ct-conta-rot{display:block;font-family:var(--display);font-size:10.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:var(--ouro);margin-bottom:3px}

.ct-extra{margin-top:15px;padding-top:13px;border-top:1px solid var(--linha)}
.ct-extra summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--marca);
  list-style:none}
.ct-extra summary::-webkit-details-marker{display:none}
.ct-extra summary::before{content:"\25b8 ";display:inline-block;transition:transform .15s ease}
.ct-extra[open] summary::before{transform:rotate(90deg)}
.ct-extra > .ct-campos{margin-top:13px}

/* ---- avisos e perigo ---- */
.ct-erro{margin:12px 0 0;padding:10px 12px;border-radius:10px;font-size:13px;
  line-height:1.5;background:var(--atraso-fraco);color:var(--atraso);font-weight:600}
.ct-perigo{margin-top:12px;padding:12px 14px;border-radius:12px;
  background:var(--atraso-fraco);border:1px solid var(--atraso)}
.ct-perigo p{margin:0;font-size:13px;line-height:1.55}
.ct-perigo p + p{margin-top:6px}
.ct-perigo b{font-weight:700}

.dlg-botoes{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.btn.perigo{border-color:var(--atraso);color:var(--atraso)}
.btn.perigo:hover{background:var(--atraso);color:#fff;border-color:var(--atraso)}

@media (prefers-reduced-motion:reduce){
  .ct-disc,.ct-extra summary::before{transition:none}
}

/* Apagar nunca encosta em Salvar: um dedo no celular não distingue
   dois botões vizinhos, e um deles não tem volta. */
.dlg-botoes .btn.perigo{margin-left:auto}
@media (max-width:460px){
  .dlg-botoes .btn.perigo{margin-left:0;margin-top:10px;width:100%}
  .dlg-botoes{flex-direction:column;align-items:stretch}
}

/* ==========================================================
   CONTEÚDO POR PLANILHA
   ========================================================== */
.pl-intro{margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--suave)}

.pl-passos{display:grid;gap:14px;margin-top:16px}
.pl-passo{display:flex;gap:12px;align-items:flex-start}
.pl-n{flex:none;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;
  font-family:var(--display);font-weight:700;font-size:13px;
  background:var(--marca-fraca);color:var(--marca)}
.pl-passo h4{font-family:var(--display);font-size:14px;font-weight:700;margin:1px 0 0}
.pl-passo p{margin:3px 0 0;font-size:12.5px;line-height:1.5;color:var(--suave)}
.pl-botoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}

.pl-seguro{margin-top:16px;padding:12px 14px;border-radius:12px;
  background:var(--ok-fraco);border:1px solid var(--ok);
  font-size:12.5px;line-height:1.55;color:var(--texto)}
.pl-seguro b{font-weight:700}

/* ---- prévia ---- */
.pl-resumo{display:grid;gap:8px;margin-top:14px;
  grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.pl-resumo > div{background:var(--superficie2);border:1px solid var(--linha);
  border-radius:12px;padding:10px 12px}
.pl-resumo b{display:block;font-family:var(--display);font-size:21px;font-weight:700;
  font-variant-numeric:tabular-nums;line-height:1.1}
.pl-resumo span{font-size:11px;color:var(--suave);font-weight:600}
.pl-resumo .novo b{color:var(--ok)}
.pl-resumo .mudou b{color:var(--marca)}
.pl-resumo .erro b{color:var(--atraso)}

.pl-alerta{margin-top:13px;padding:12px 14px;border-radius:12px;
  background:var(--atraso-fraco);border:1px solid var(--atraso)}
.pl-alerta h4{font-family:var(--display);font-size:14px;font-weight:700;margin:0;
  color:var(--atraso)}
.pl-alerta p{margin:5px 0 0;font-size:12.5px;line-height:1.55}

.pl-lista{margin-top:14px}
.pl-nada{margin:0;font-size:13px;color:var(--suave)}
.pl-bloco{border:1px solid var(--linha);border-radius:12px;overflow:hidden;
  background:var(--superficie)}
.pl-bloco + .pl-bloco{margin-top:10px}
.pl-bloco > summary{cursor:pointer;padding:10px 13px;font-size:12.5px;font-weight:700;
  font-family:var(--display);background:var(--superficie2);list-style:none}
.pl-bloco > summary::-webkit-details-marker{display:none}
.pl-bloco > summary::before{content:"\25b8 ";display:inline-block;transition:transform .15s ease}
.pl-bloco[open] > summary::before{transform:rotate(90deg)}

.pl-linha{display:flex;gap:10px;align-items:flex-start;padding:9px 13px;
  border-top:1px solid var(--linha)}
.pl-mk{flex:none;margin-top:1px;font-family:var(--display);font-size:10px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;padding:3px 7px;border-radius:999px}
.pl-mk.novo{background:var(--ok-fraco);color:var(--ok)}
.pl-mk.mudou{background:var(--marca-fraca);color:var(--marca)}
.pl-mk.erro{background:var(--atraso-fraco);color:var(--atraso)}
.pl-mk.fica{background:var(--superficie3);color:var(--suave)}
.pl-txt{flex:1;min-width:0;font-size:13px;line-height:1.4}
.pl-txt small{display:block;color:var(--suave);font-size:11.5px;margin-top:2px;
  line-height:1.45;word-break:break-word}
.pl-mais{padding:8px 13px;border-top:1px solid var(--linha);font-size:12px;
  color:var(--suave)}

/* ---- barra de progresso da gravação ---- */
.pl-barra{margin-top:14px}
.pl-barra i{display:block;height:6px;width:0;border-radius:99px;background:var(--marca);
  transition:width .2s ease}
.pl-barra span{display:block;margin-top:6px;font-size:12px;color:var(--suave)}
.pl-barra::before{content:"";display:block;height:6px;border-radius:99px;
  background:var(--superficie3);margin-bottom:-6px}

@media (prefers-reduced-motion:reduce){
  .pl-barra i,.pl-bloco > summary::before{transition:none}
}
