43959056f8
- prestamos.materiales.imagen_path (path dentro del bucket) - prestamos.materiales.trackeado_por_unidad + tabla prestamos.material_unidades con trigger que mantiene cantidad_total/cantidad_disponible sincronizados - prestamos.solicitud_items.material_unidad_id (renglón ligado a unidad concreta) - crear_solicitud reescrita: asigna primera unidad disponible cuando trackeado - RPC reasignar_unidad (admin-only) con audit_log - sync_stock cubre transición pendiente->rechazado para liberar unidades - publication supabase_realtime += prestamos.solicitudes (badge admin) - bucket público 'materiales-fotos' con RLS admin-only para escritura