/* ============================================================
   Asignación de personal a contrato (vistas/asignador-contratos.js)
   ============================================================ */
.ap-panel { margin-bottom: 1rem; position: sticky; top: 0; z-index: 5; }
.ap-pasos { display: flex; gap: 1.2rem; flex-wrap: wrap; font-size: 0.74rem; color: var(--text-muted); margin-bottom: 0.7rem; }
.ap-paso b {
  display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; margin-right: 0.3rem;
  border-radius: 50%; background: var(--gradient); color: #fff; font-size: 0.68rem;
}
.ap-papeles { display: inline-flex; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin-bottom: 0.5rem; }
.ap-papel { background: transparent; border: 0; color: var(--text-muted); padding: 0.45rem 0.9rem; cursor: pointer; font-size: 0.82rem; }
.ap-papel.activo { background: var(--gradient); color: #fff; font-weight: 600; }
.ap-regla { font-size: 0.74rem; color: var(--text-muted); margin-bottom: 0.7rem; }
.ap-resumen { font-size: 0.8rem; color: var(--text-muted); padding-bottom: 0.55rem; }
.ap-chip { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.78rem; }
.ap-chip-vacio { color: var(--text-muted); border: 1px dashed var(--border); border-radius: 999px; padding: 0.1rem 0.55rem; }
.ap-avatar {
  display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%;
  background: var(--bg-hover); border: 1px solid var(--border); font-size: 0.62rem; font-weight: 700;
}
.ap-sub { font-size: 0.72rem; color: var(--text-muted); }
.ap-motivo { font-size: 0.7rem; color: var(--yellow); margin-top: 0.15rem; }
.ap-tabla tr.ap-marcado td { background: rgba(139, 92, 246, 0.08); }
.ap-tabla tr.ap-no-elegible td { opacity: 0.55; }
.ap-col-activa { box-shadow: inset 2px 0 0 rgba(139, 92, 246, 0.35); }

/* Contrato: como texto, no como liga azul subrayada */
.ap-tabla a { color: var(--text); text-decoration: none; }
.ap-tabla a:hover strong { color: #b69cff; }
.ap-tabla td { vertical-align: middle; padding-top: 0.65rem; padding-bottom: 0.65rem; }
.ap-tabla strong { font-weight: 600; font-size: 0.84rem; }
.ap-tabla .pill { white-space: nowrap; }
.ap-tabla thead th { position: sticky; top: 0; background: var(--bg-card); z-index: 1; }
.ap-panel .field select { max-width: 520px; }
