/* ============================================================
   SiTi · Carpeta de inscripción
   Lista de requisitos, con su estado y su acción al costado.
   ============================================================ */

.requisitos{display:flex; flex-direction:column; gap:10px; margin-top:10px}

.requisito{
  display:flex; gap:14px; align-items:center; justify-content:space-between;
  flex-wrap:wrap;
  border:1px solid var(--line, rgba(30,58,98,.12));
  border-radius:14px; padding:11px 14px;
  background:rgba(255,255,255,.58);
}
.requisito.observado{border-left:4px solid var(--stop, #B33049)}

.requisito-texto{flex:1 1 280px; min-width:0}
.requisito-texto b{display:block; font-size:13.5px}
.requisito-texto small{display:block; font-size:12.5px; line-height:1.5; color:var(--ink-soft, #64748B)}
.requisito-texto small.obs{color:var(--stop, #B33049); margin-top:3px}

.requisito-acc{display:flex; gap:7px; align-items:center; flex-wrap:wrap; flex:none}
/* El botón de subir es una etiqueta con el campo de archivo escondido. */
.requisito-acc label.btn{cursor:pointer; margin:0}

@media (max-width:760px){
  .requisito{align-items:flex-start}
  .requisito-acc{width:100%}
}

/* El estudiante ya no escoge el método: lo lee. La tarjeta marcada
   es la que el Soporte de Titulación registró al aprobar. */
.modalidad.elegida{
  border-color:transparent;
  box-shadow:0 6px 18px rgba(30,143,198,.22);
  background:linear-gradient(135deg,rgba(63,182,232,.16),rgba(30,143,198,.12));
}
.modalidad.elegida b::after{content:" · registrado"; font-weight:520; font-size:12px; opacity:.7}

/* La aprobación se anuncia, no se deduce. */
.ins-aprobada{border-left:4px solid var(--ok, #157F6B)}
.ins-aprobada h3{color:var(--ok, #157F6B)}
.ins-aprobada p{margin:6px 0 0; font-size:13.5px; line-height:1.6}

/* Lo que implica cada forma de titulación. */
.metodo-detalle{margin:7px 0 0; padding-left:17px}
.metodo-detalle li{
  font-size:12.5px; line-height:1.55; margin-bottom:3px;
  color:var(--ink-soft, #64748B);
}
.modalidad.elegida .metodo-detalle li{color:var(--ink, #1E3A62)}


/* El botón de cerrar sesión ocupa el mismo ancho que los demás del
   panel lateral, en lugar de quedar como una pastilla suelta. */
#me > button[onclick="salir()"]{
  display:block; width:100%; margin-top:10px;
  text-align:center; justify-content:center;
}

/* --- Cronograma de titulación ------------------------------- */
.crono td{vertical-align:top}
.crono .nowrap{white-space:nowrap}
.crono tr.crono-actual td{background:rgba(53,175,228,.10)}
.crono tr.crono-actual td:first-child{box-shadow:inset 3px 0 0 #1E8FC6}
.subtab.activa{
  background:linear-gradient(135deg,#3FB6E8,#1E8FC6); color:#fff; border-color:transparent;
}
