feat(juridico/sociedades): arreglos de la auditoría, historial fiscal y manual de usuario
Altos
- Aprobar ya no truena tras publicar al maestro: la fila de Participación con el mismo nombre (viva o archivada) se reactiva y se liga en vez de chocar con el UNIQUE de sociedad_norm; si está ligada a otra razón social no se toca. Lo publicado se guarda en la solicitud al momento (*_creada): el reintento lo reusa y la corrección no choca con su propio RFC.
- La liga del correo revalida lo mismo que el portal: cuenta activa, rol gerente, escritura en el módulo y sin rol de solo lectura. Correos solo a gerentes activos.
- Campanas por solicitud (?s=): decidir una ya no expira las de todas.
Medios
- Quien captura o corrige no aprueba (autoría vía historial) ni recibe la liga.
- Nombre comercial duplicado sin distinguir mayúsculas, al capturar y al aprobar.
- Token enmascarado en el access log, guardado como sha256 y Cache-Control no-store.
- Permisos por fila (can_decidir / can_corregir): sin botones que den 403.
- Aprobando.../Rechazando..., carrera del RFC en vivo, aviso cuando no sale correo, modal que no se cierra al guardar ni al soltar el mouse afuera.
- El correo muestra al capturista real; las ligas se guardan antes de enviar; reenviar con FOR UPDATE; cierre solo a gerentes vigentes; estatus legibles.
Otros
- Historial del catálogo solo con razones sociales fiscales.
- Sin Segmento ni Compañía SSBT en la captura (las columnas siguen en BD).
- Manual de usuario en public/manuales con botón en el header; correcciones al manual de Participación («alta en trámite» y la cancelación no existían).
- Dev: ligas del correo de Jurídico a localhost en el override.