/* Plano de Estudos — usa as classes de base.css; aqui só o que é específico da tela. */
#tela[data-rota="plano"]{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:calc(var(--u)*2.5)}
#tela[data-rota="plano"] .pl-bloco{overflow:visible;flex:none}

.pl-topo{display:flex;align-items:baseline;gap:1em;flex-wrap:wrap}
.pl-topo h1{font-size:1.9em;display:flex;align-items:center}
.pl-topo small{color:var(--tinta-3)}

.pl-vazio{text-align:center;padding:10vh 16px;color:var(--tinta-3);display:flex;flex-direction:column;align-items:center;gap:1em}
.pl-vazio .titulo{font-size:2em;color:var(--tinta)}
.pl-vazio p{max-width:34em;line-height:1.45}
.pl-nada{color:var(--tinta-4);font-size:.92em}

.pl-aviso{display:flex;align-items:center;justify-content:space-between;gap:1em;flex-wrap:wrap;padding:calc(var(--u)*2) calc(var(--u)*3);
  border:1px dashed var(--pauta-forte);border-radius:var(--r-m);color:var(--tinta-2)}

/* Esta Semana */
.pl-semana{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:calc(var(--u)*1.2);overflow-x:auto}
.pl-dia{border:1px solid var(--pauta);border-radius:var(--r-m);padding:.7em .75em;display:flex;flex-direction:column;gap:.55em;min-height:9em;background:var(--papel)}
.pl-dia.hoje{border:2px solid var(--caneta);padding:calc(.7em - 1px) calc(.75em - 1px)}
.pl-dia.clicavel{cursor:pointer}
.pl-dia.clicavel:hover{background:var(--caneta-suave)}
.pl-dia:focus-visible{outline:2px solid var(--caneta);outline-offset:2px}
.pl-dia-cab{display:flex;justify-content:space-between;align-items:baseline}
.pl-dia-cab small{color:var(--tinta-3)}
.pl-dia-nota{color:var(--tinta-3);font-size:.9em}
.pl-bl{display:flex;flex-direction:column;gap:.1em;font-size:.88em;line-height:1.3;padding-top:.5em;border-top:1px solid var(--pauta)}
.pl-bl b{font-weight:600}
.pl-bl span{color:var(--tinta-2)}
.pl-bl .pl-rev{color:var(--tinta-4);font-size:.85em}
.pl-bl .pl-min{color:var(--tinta-3);font-size:.9em}

/* Como Está O Plano */
.pl-duas{display:grid;grid-template-columns:1.4fr 1fr;gap:calc(var(--u)*4)}
.pl-ritmo{line-height:1.5;font-size:1.05em}
.pl-ritmo b{font-weight:600}
.pl-status{margin-left:.5em;color:var(--tinta-3);font-weight:600;font-size:.9em}
.pl-status.atraso{color:var(--correcao)}
.pl-meta-linha{display:flex;justify-content:space-between;margin-bottom:.6em;color:var(--tinta-2)}
.pl-fina{height:4px}

/* Matérias */
.pl-mats{display:flex;flex-direction:column}
.pl-mat{border-top:1px solid var(--pauta)}
.pl-mat:first-child{border-top:0}
.pl-mat-cab{width:100%;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr) 1.2em;align-items:center;gap:calc(var(--u)*2);
  padding:.85em .2em;text-align:left}
.pl-mat-cab:hover .pl-mat-nome b{color:var(--caneta)}
.pl-mat-nome{display:flex;flex-direction:column;gap:.1em}
.pl-mat-nome small,.pl-mat-blocos,.pl-mat-acerto small{color:var(--tinta-3)}
.pl-mat-blocos{font-size:.92em}
.pl-mat-acerto{display:flex;flex-direction:column;gap:.45em;font-size:.92em}
.pl-acerto{position:relative}
.pl-acerto u{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--tinta-2);text-decoration:none;transform:translateX(-1px)}
.pl-mat-apr{color:var(--tinta-2);font-size:.9em}
.pl-seta{color:var(--tinta-3);font-size:.8em;text-align:right}

.pl-assuntos{padding:0 .2em .9em 1.2em;display:flex;flex-direction:column}
.pl-ass{display:grid;grid-template-columns:minmax(0,2fr) 6.5em 3em minmax(0,1.3fr) auto;align-items:center;gap:calc(var(--u)*2);
  padding:.55em 0;border-top:1px solid var(--pauta);font-size:.92em}
.pl-ass:first-child{border-top:0}
.pl-ass-st{color:var(--tinta-2)}
.pl-ass-pct{color:var(--tinta-2);text-align:right}
.pl-ass-rev{color:var(--tinta-3);font-size:.9em}
.pl-ass-rev.atraso{color:var(--correcao)}
.pl-ass-acoes{display:flex;gap:.5em}

/* Ajustes */
.pl-ajustes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:calc(var(--u)*4);align-items:start}
.pl-sec{display:flex;flex-direction:column;gap:.7em}
.pl-sug{display:flex;justify-content:space-between;align-items:center;gap:1em;padding:.6em 0;border-top:1px solid var(--pauta);font-size:.92em}
.pl-sug span:first-child{display:flex;flex-direction:column;gap:.15em}
.pl-sug small{color:var(--tinta-3)}
.pl-sug-acoes{display:flex;gap:.5em;flex:none}
.pl-pedido{display:flex;flex-direction:column;gap:.6em}
.pl-pedido .btn{align-self:flex-start}
.pl-prop{display:flex;flex-direction:column;gap:.3em;margin-top:.4em}
.pl-prop>small{color:var(--tinta-3)}
.pl-prop>.pl-sug-acoes{margin-top:.5em}
.pl-man{display:flex;justify-content:space-between;align-items:center;gap:1em;padding:.4em 0;border-top:1px solid var(--pauta);font-size:.92em}
.pl-man small{color:var(--tinta-3);margin-left:.6em}
.pl-stepper{display:flex;align-items:center;gap:.6em}
.pl-stepper b{min-width:1.5em;text-align:center}
.btn:disabled{opacity:.4;cursor:default}

@media (max-width:1100px){
  .pl-duas,.pl-ajustes{grid-template-columns:1fr}
  .pl-mat-cab{grid-template-columns:minmax(0,1fr) 1.2em;row-gap:.4em}
  .pl-mat-cab>*:nth-child(n+2):not(.pl-seta){grid-column:1}
  .pl-seta{grid-row:1;grid-column:2}
  .pl-ass{grid-template-columns:1fr auto}
}
