🔑
Admin
🔧
Operador
👤
Cliente
Contraseña incorrecta.
// ── FIRMAS — fijas al fondo de la página ───────────────────────────────── // Siempre al fondo: PH - pie(9) - margin(4) - firma height(20) ; const sigW=(PW-M*2-8)/3; ['ELABORADO POR','AUTORIZADO POR','RECIBIDO POR (CLIENTE)'].forEach((lbl,i)=>{ const sx=M+i*(sigW+4); doc.setFillColor(245,247,250);doc.setDrawColor(...BLUE);doc.setLineWidth(0.3); doc.roundedRect(sx,SIGN_Y,sigW,20,1,1,'FD'); doc.setFont('helvetica','bold');doc.setFontSize(7);doc.setTextColor(...BLUE); doc.text(lbl,sx+sigW/2,SIGN_Y+4,{align:'center'}); doc.setDrawColor(...GRAY);doc.setLineWidth(0.2); doc.line(sx+5,SIGN_Y+14,sx+sigW-5,SIGN_Y+14); doc.setFont('helvetica','normal');doc.setFontSize(6.5);doc.setTextColor(...GRAY); doc.text('Firma',sx+sigW/2,SIGN_Y+18,{align:'center'}); }); if(o.creadoPor){ doc.setFontSize(7.5);doc.setTextColor(...GRAY); doc.text('Registrada por: '+o.creadoPor,M,SIGN_Y+23); }